|
且行且远
By wynney **************************************************************************************** http://bbs.chinadev.net By wynney 大家好,我是wynney,回想了一下我前面做的十五课,里面只是提了一下,没有真正介绍“最后一次异常法”。今天就给大家做个动画,希望能够起到抛砖引玉的作用。先给大家介绍一点“理论知识”吧,里面有许多观点引用了二哥的说法。 **************************************************************************************** 如何分辨加密壳和压缩壳,通用特点,Od载入时有入口警告或询问是压缩程序吗?普通压缩壳Od调试时候没有异常,加密壳全部有反跟踪代码,会有许多SEH陷阱使OD调试时产生异常。 pushfd 跟踪时如果有发现 popad 对应 pushad 和 popad 相对应 retn 等指令,发生跨断跳跃一般就到了OEP处。 找Oep时注意两点。 这里我说说关于F8(Step Over)和F7(Step in)的一般方法,粗跟的时候一般都是常用F8走,但是有些call是变形的Jmp,此时就需要F7代过,区别是否是变形Jmp的一个简单方法是比较 call的目标地址和当前地址,如果两者离的很近,一般就是变形Jmp了,用F7走。对于Call的距离很远,可以放心用F8步过,如果你再用F7步过,只是浪费时间而已。F8步过对压缩壳用的很多,F7步过加密壳用的很多,如果用F8一不小心就跑飞(程序运行),跟踪失败。 加密壳找Oep **************************************************************************************** 发表评论
|
|
||