关于脱壳的单步跟踪法
本帖最后由 洋洋不得意 于 2019-8-7 18:44 编辑说单步跟踪法是一直f8向下执行,
F8单步向下运行,注意向上的跳转,遇到向上的箭头我们就在下一行 F4(运行到此处)
注意,红色代表跳转实现,灰色代表没有实现,我们的目的就是不让他实现,灰色的我们就不用管
可是F4本身是运行到此处,并不是直接设置ip为此处,那上面这句话‘不让他实现’本身就算错的,相当于我没看见的事情就没发生,有点自欺欺人的感觉
这里我想不通,麻烦各位大佬说明一下,谢谢 我这么简单的解释,代码运行就像是在跑步机上跑步,向上跳其实就是一直在做循环动作,如果你不F4打断,他是一直要等某一个条件成立,才会结束这个循环,F4的作用就是让他这个循环结束,比如他要循环100次,那么在代码的下一行F4,这100次其实是做完了的,否则你要单步循环100次,不累吗? 学习学习 本帖最后由 洋洋不得意 于 2019-8-8 21:12 编辑
bester 发表于 2019-8-7 19:31
我这么简单的解释,代码运行就像是在跑步机上跑步,向上跳其实就是一直在做循环动作,如果你不F4打断,他是 ...
谢谢您的回复
那也就是说,《红色代表跳转实现,灰色代表没有实现,我们的目的就是不让他实现,灰色的我们就不用管》这句话本身就是误导性质的话,这句话在网上搜一下手动脱壳都能看到好多篇帖子有写 洋洋不得意 发表于 2019-8-8 21:09
谢谢您的回复
那也就是说,《红色代表跳转实现,灰色代表没有实现,我们的目的就是不让他实现,灰色的我 ...
怎么误导?红色表示条件不成立,所以继续循环,直到条件成立,然后变灰,变灰本身就是条件成立,所以我们不用管,怎么是误导性质?你解释一下? 你这个想法本身是错的,谁告诉你他没有实现。 bester 发表于 2019-8-8 22:51
怎么误导?红色表示条件不成立,所以继续循环,直到条件成立,然后变灰,变灰本身就是条件成立,所以我们 ...
不让他实现中的'他'指的是红色跳转,
但实际上你在下一行按f4并没有不让他实现,而是他已经实现完了
那不让他实现本身这句话就有问题,不是吗? 一般开启选项跳转指示后,左边(汇编指令←)看到的那个 暗示性的小箭头
一般有jmp 向上走的,多为循环。
目标地点,按下F4 (意思为程序走到人为设想/设定(一厢情愿)当前选中的这一行)实际情况是,不一定肯定就会马上走到这1行上,所以附近处最好按下F2
因为有可能就跑飞了。 洋洋不得意 发表于 2019-8-9 07:44
不让他实现中的'他'指的是红色跳转,
但实际上你在下一行按f4并没有不让他实现,而是他已经实现完了
你的理解有问题吧?所谓实现是经过那100次的循环,如何能不实现?就是让他的条件成立,我们不实现,是指让他经过100次的循环,达到条件成立的情况,不是你以为的,修改他的逻辑,让他的判断失效。比如你吃饭,你吃完饭和吃一半,两种的结果都是吃完,但是情况就是你吃一半,就没吃饱。
不要去去钻这种牛角尖,杠这个不能提高你的技术,如果你觉得用词不当,但是这样能更让你理解,你觉得有没有必要去说对与错的问题?
页:
[1]