OD的SFX自跟踪寻找OEP

前言:OD的SFX自跟踪寻找OEP

SFX跟踪

OD程序自带的调式功能,用来寻找相应程序的OEP

SFX法和模拟跟踪法比较相似,只不过SFX是OD本身提供的功能。

SFX法有两种方式,一种是通过判断块的形式看是否到达OEP处,另一种是通过判断字节的形式。显而易见块判断形式速度快但是准确度低,字节形式速度慢但是准确度高。

我们在实际分析时结合具体情况选择合适的方式进行跟踪。

我自己没找到相关SFX跟踪寻找OEP的原理,不过我自己理解了下应该就是跟代码段有关,每单步走都会判断是否来到代码段的地址吧,如果有大佬知道麻烦告知下

使用注意:

1、SFX使用的范围是当程序载入OD之后,入口点必须是代码段之外才可以用,所以当载入加壳程序的EIP是如下代码段的地址(PE中的BaseOfCode字段)之外才可以使用SFX跟踪

如下情况如果要使用SFX跟踪的话,那么壳的入口点就不能是在401000-402000这个地址了

比如如下的情况ASPACK2.12的壳子,这种情况下就可以看到壳子的入口点是在408000,但是代码段是在401000,可以看到SFX都有提示,这种情况下的话可以使用OD的SFX跟踪

2、因为CPU在执行的时候可能会触发异常,被调试器接管了就可能导致中断,可以使用SFX的时候记得忽略所有的异常

块方式跟踪真正入口点

设置完红标处直接运行F9,发现入口点并没有发生变化,还是一样,说明这种确实不准确

字节方式跟踪真正入口点

设置完红标处直接运行F9,发现入口点改变,并且确实来到了OEP处

posted @ 2019-12-25 13:21  zpchcbd  阅读(912)  评论(0)    收藏  举报