蓝色贝雷帽 发表于 2016-2-17 08:27

F7进CALL,与“ENTER跟随进CALL”,有什么不同?

在用二进制字串“FF 55 FC 5F 5E”寻找关键CALL的时候,发现,F7进CALL,与“ENTER跟随进CALL”,所到达的段首并不相同。(有的CALL有跟随菜单,有的没有;有的可以F7,有的则不可以。因不知道哪个是正确的方法,我也晕菜了!)

故向老师和前辈们发问:
F7进CALL,与“ENTER跟随进CALL”,有什么不同,该用哪个?谢谢!

{:5_189:}

匿名i 发表于 2016-2-17 08:59

本帖最后由 匿名者i 于 2016-2-17 09:02 编辑

回车键无论在任何时候就可以跟随进call 查看代码,也可以对je jnz 等跳转使用...
而F7是单步执行代码,遇到call会进入call内部执行代码
再说F8的话,可以理解为单行执行代码. 遇到call,会直接将call内部代码执行完毕,然后停在下行代码..
我是这么理解的..
也就是说你用enter,进入call 内部的时候 ,就像是相当于在电视看人家在海边玩...而F7就相当于自己亲自去了海边..
打个比方 - -

fangkeke12345 发表于 2016-2-17 10:39

那么F7进的CALL内部和enter进的CALL内部显示的汇编都是一样么

Shark恒 发表于 2016-2-17 12:29

F7与Enter的区别,至于楼主说跟进以后代码段不同,那肯定是CALL的位置不同。如果位置相同的话,代码不可能不同。

F7,让CPU窗口显示CALL内部代码,并且单步执行,进行分析。
Enter(回车或右键跟随),模拟跟踪,CPU窗口显示内部代码,但CPU并没有执行到此处代码。用于目测观察。

F7与Enter相同之处:CPU窗口都显示了CALL的内部代码,因为是同一个CALL,所以内部代码也相同。
F7与Enter不同之处:F7后,CPU执行到此处代码。Enter过来后,CPU未执行到此处代码。

公子世无双 发表于 2016-2-17 13:38

Enter只是进去看下而已 F7是执行进去

公子世无双 发表于 2016-2-17 13:39

如果这个CALL含有注册码之类的东西就F7进去然后F8一步步的看如果你只是想看下这个call里面是什么就Enter进去咯

Honey丶Crack 发表于 2016-2-17 13:45

F7单步步入F8单步步过

蓝色贝雷帽 发表于 2016-2-17 16:49

谢谢恒大老师和童鞋们,基本上我明白了,感谢。
不知怎的,我评分一次就没分了,回头过来再给各位老师加分感谢!
{:5_189:}

神话eric 发表于 2016-3-16 10:02

谢谢答疑解惑,加强理解了,先前以为没什么区别的,主要还是在于是否调试?对吧

dzpos 发表于 2016-3-27 09:47

谢谢楼主提的这个问题 我也明白了。
页: [1] 2
查看完整版本: F7进CALL,与“ENTER跟随进CALL”,有什么不同?