本帖最后由 Jian丶ylt 于 2015-10-18 14:47 编辑
声明:
1.本帖中使用的例子来自官方脱壳教程第9课作业中的例子:http://www.52pojie.cn/thread-420354-1-1.html,大家可以自行下载练习,官方教程第九课的主要目的不是教我们脱壳,而是教我们写脱壳脚本,惭愧的是,本小白还没有写出完美的可以通用的脱壳脚本和自动修复IAT的脚本,但是这里我这个新手对于新手朋友们想要说的是,不要过于执着,学非一日之功,一步一个脚印,我们都会成功的。
2.本人发帖仅仅是纪录自己脱壳的一些经验技巧,顺便分享跟大家,高手勿喷
3.本人自认为写的脱壳方法比较详细,如果这样还是看不懂请不要跟帖询问,因为我只会回答“这是经验”,请大家理解,这不是在装逼,而是因为有些方法真的是靠经验,没有那么多为什么,就像小时候学数学,老是也不会把每一个方法的原理都讲出来,因为说到原理他自己可能也不清楚,但是他就是会做那道题。所以贵在练习。好记星不如烂笔头这句话是有道理的
您的热心是我持续分享的动力!!!
您的热心是我持续分享的动力!!!
您的热心是我持续分享的动力!!!
重要的事情还是应该说三遍
方法一(最后一次异常法):1. 载入PEID
file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg 2. 载入OD(忽略所有异常),此时界面应该是停留在这个位置,上来就是一个大跳转,一般遇到这种情况,我首选的是最后一次异常法,在行不通的情况下我会先单步跟一下后面看可不可以用ESP等。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image004.jpg
3. shift+F9运行至最后一次异常(应该是16次)此时界面停留在这个界面,也是一个向上的大跳转 file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image006.jpg file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image008.jpg file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image010.jpg 5. 然后F8单步走,后面就没什么难度了,中间会遇到一次向上的跳转,记得在下一行F2,F9,F2,下一行也是一个跳转。(注意少用F4,个人经验,觉得经常会出现F4直接跑飞的情况,所以我总是多一点步骤F2,F9,F2虽然麻烦但是保险),这样我们就来到了这个位置,看到没?这里就跳转到OEP了
file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image012.jpg file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image014.jpg 7.接下来就是修复脱壳,XP环境下ImportREC等级3可以修复指针的。这里需要说明的是对于最后实在修复不了的,剪切一下然后转存运行没问题。已测试 方法二(两次内存法):查壳载入OD都不说了,跟上面一样的,直接开始,注意把异常那里都勾上,另外,本人尝试过可能在不同系统或者不同PC上在内存这里下断点断不下来,如果遇到这种情况的话就下内存访问断点就可以了 1. Ait+M打开内存界面,在这个位置下断点,然后shift+F9运行
file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image016.jpg 2. 此时界面应该停留在这个位置
file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image018.jpg 3. 再次打开内存界面,在401000的位置下断点,然后shift+F9运行
file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image020.jpg 4. 直接来到OEP
file:///C:\Users\ADMINI~1\AppData\Local\Temp\msohtmlclip1\01\clip_image022.jpg
|