mengbo012426 发表于 2015-12-2 15:31

OD单步时遇到J开头跳转命令时,跳不跳的问题

本帖最后由 mengbo012426 于 2015-12-2 15:36 编辑

听我H大的第一课,感觉很新鲜,因为头一次接触破解脱壳的,以前都不敢想的事。同时也感觉云里雾里的,说明白了吧 还感觉不知道是怎么回事,说不明白吧 感觉还听懂了一部分,就没敢听第二课,而是跑去听XIMO 的课程了,但在基础脱壳教程9的时候遇到了问题,这个问题只是以前没发现。不知道在这里问合适不?
那么我的问题是这样的:但单步到如图这个位置时,


反汇编窗口命令是:jecxz跑跑排行0043E4E7 而且十六进制窗口也有白色剪头指向0043E4E7这个位置。这时候单步一下就直接跳转到0043E4E7了。那么我的问题就是,以前我遇到白色剪头跳转,不管向上还是向下都不能实现的,在这个位置单步一下,应进入下一条也就是0043E4CE位置啊,那么这里它怎么就跳转到0043E4E7了呢?


问题二:ximo教程找到的入口如图

而我按照教程一步步找到的入口如图


问题是ximo教程入口反汇编窗口上一条是“test eax ,eax",而我按照教程一步步做的 都一样,到了入口处,上一条命令怎么是”or eax,eax"啊?test命令和 or命令一样吗?
而且如何知道这里就是入口啊?XIMO说:在入口这里继续单步的话,到下面的一个跳转就一直来回跳。我不理解,因为下面的一个跳转是向上的跳转,XIMO 没有实行F4,它可不就来回跳了,如果象上面一样实行F4那它就不是来回跳了。

玉份缘 发表于 2015-12-2 15:47

本帖最后由 玉份缘 于 2015-12-2 15:50 编辑

跳转指令分三类:
一、无条件跳转: JMP;
二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);
三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了.

具体为什么没有变红色,估计是作者在DIY的时候没有注意到这个的,所有导致这个 JCXZ跳转没有变色

mengbo012426 发表于 2015-12-3 08:32

玉份缘 发表于 2015-12-2 15:47
跳转指令分三类:
一、无条件跳转: JMP;
二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ( ...

谢谢你帮我解答了好几个问题,能不能帮看看下面这个问题:如何知道这里就是入口啊?XIMO说:在入口这里继续单步的话,到下面的一个跳转就一直来回跳。我不理解,因为下面的一个跳转是向上的跳转,XIMO 没有实行F4,它可不就来回跳了,如果象上面一样实行F4那它就不是来回跳了。

玉份缘 发表于 2015-12-3 10:28

如何知道这里就是入口啊?
答:一般碰到一个比较大的跳转,不管是je、jmp、jne......等跳转一般都是跳向OEP的,如果存在怀疑状态,跟进去看下入口就知道是不是OEP了

一般我的做法和ximo大大的不一样,如果我知道这个这个跳转就是跳向OEP的话,我一般都是直接enter跟进,在OEP处直接下断,这样一来就可以轻松到达OEP了,就不必来回跳那样浪费时间了

camroo 发表于 2015-12-7 15:28

看着都感觉到头疼
页: [1]
查看完整版本: OD单步时遇到J开头跳转命令时,跳不跳的问题