洋洋不得意 发表于 2019-8-7 18:38

关于脱壳的单步跟踪法

本帖最后由 洋洋不得意 于 2019-8-7 18:44 编辑

说单步跟踪法是一直f8向下执行,

F8单步向下运行,注意向上的跳转,遇到向上的箭头我们就在下一行 F4(运行到此处)
注意,红色代表跳转实现,灰色代表没有实现,我们的目的就是不让他实现,灰色的我们就不用管

可是F4本身是运行到此处,并不是直接设置ip为此处,那上面这句话‘不让他实现’本身就算错的,相当于我没看见的事情就没发生,有点自欺欺人的感觉

这里我想不通,麻烦各位大佬说明一下,谢谢

bester 发表于 2019-8-7 19:31

我这么简单的解释,代码运行就像是在跑步机上跑步,向上跳其实就是一直在做循环动作,如果你不F4打断,他是一直要等某一个条件成立,才会结束这个循环,F4的作用就是让他这个循环结束,比如他要循环100次,那么在代码的下一行F4,这100次其实是做完了的,否则你要单步循环100次,不累吗?

k4jar 发表于 2019-8-7 19:38

学习学习

洋洋不得意 发表于 2019-8-8 21:09

本帖最后由 洋洋不得意 于 2019-8-8 21:12 编辑

bester 发表于 2019-8-7 19:31
我这么简单的解释,代码运行就像是在跑步机上跑步,向上跳其实就是一直在做循环动作,如果你不F4打断,他是 ...
谢谢您的回复
那也就是说,《红色代表跳转实现,灰色代表没有实现,我们的目的就是不让他实现,灰色的我们就不用管》这句话本身就是误导性质的话,这句话在网上搜一下手动脱壳都能看到好多篇帖子有写

bester 发表于 2019-8-8 22:51

洋洋不得意 发表于 2019-8-8 21:09
谢谢您的回复
那也就是说,《红色代表跳转实现,灰色代表没有实现,我们的目的就是不让他实现,灰色的我 ...

怎么误导?红色表示条件不成立,所以继续循环,直到条件成立,然后变灰,变灰本身就是条件成立,所以我们不用管,怎么是误导性质?你解释一下?

哈哈呵 发表于 2019-8-9 07:33

你这个想法本身是错的,谁告诉你他没有实现。

洋洋不得意 发表于 2019-8-9 07:44

bester 发表于 2019-8-8 22:51
怎么误导?红色表示条件不成立,所以继续循环,直到条件成立,然后变灰,变灰本身就是条件成立,所以我们 ...

不让他实现中的'他'指的是红色跳转,
但实际上你在下一行按f4并没有不让他实现,而是他已经实现完了

那不让他实现本身这句话就有问题,不是吗?

冥界3大法王 发表于 2019-8-9 07:51

一般开启选项跳转指示后,左边(汇编指令←)看到的那个 暗示性的小箭头

一般有jmp 向上走的,多为循环。

目标地点,按下F4 (意思为程序走到人为设想/设定(一厢情愿)当前选中的这一行)实际情况是,不一定肯定就会马上走到这1行上,所以附近处最好按下F2
因为有可能就跑飞了。

bester 发表于 2019-8-9 12:38

洋洋不得意 发表于 2019-8-9 07:44
不让他实现中的'他'指的是红色跳转,
但实际上你在下一行按f4并没有不让他实现,而是他已经实现完了



你的理解有问题吧?所谓实现是经过那100次的循环,如何能不实现?就是让他的条件成立,我们不实现,是指让他经过100次的循环,达到条件成立的情况,不是你以为的,修改他的逻辑,让他的判断失效。比如你吃饭,你吃完饭和吃一半,两种的结果都是吃完,但是情况就是你吃一半,就没吃饱。
不要去去钻这种牛角尖,杠这个不能提高你的技术,如果你觉得用词不当,但是这样能更让你理解,你觉得有没有必要去说对与错的问题?
页: [1]
查看完整版本: 关于脱壳的单步跟踪法