VMP 1.6-1.7脱壳记录(淘淘文件时间修改之星1.4)
论坛脱壳这块比较冷清,刚好本人在学这方面的,于是把过程写了下,菜鸟文章,大牛路过。VMP版本很老了,主要为练手。最近在看天草的VMP和他乡的VMP教程,感觉都是脚本党啊,看了只能明白一些东西,有很多很模糊的概念,他乡这个纯碎是只讲操作不讲原理,坑爹,幸好没买他的教程,不然亏死。
因为想练习一下脱这壳,于是上菲凡下了这个东西练手:
EP:
007C3B5E >68 394693A7 PUSH 0xA7934639
007C3B63 E8 D3541900 CALL PhotoDat.0095903B
007C3B68 68 7C3C930F PUSH 0xF933C7C
007C3B6D E8 C9541900 CALL PhotoDat.0095903B
007C3B72 82EB 7A SUB BL, 0x7A
007C3B75 C2 F0A7 RETN 0xA7F0
不确定是哪个版本,先尝试一下:
virtualProtect 下断点(这个断点教程都有,但为什么用这个却没一个说明。。{:soso_e101:}),具体找这个的理由我分析有2个:
1.因为原来的代码段是只读,但是由於VMP把代码压缩到另一个位置,要还原这些代码,必须先把代码段变成可读写
2.我用ollydbg的TC命令,第一个调用API的地方也是VirtualProtect,但也有可能是GetModuleHande
利用vritualprotect,然后看看保护的地方,当代码段还原为readonly,则是返回时机了,这时对.text下内存访问断点,然后F9几下,直到来到.text段的位置(或者是代码像OEP的地方,代码会很整齐的)
这里找到的OEP的RVA是:0019F46C,看到入口是DELPHI,没被抽取,庆幸。
于是,到这里看看第一调用CALL,发现第一个API是GetModuleHande,被处理成jmp xxxx,xxxx是VMP段的位置了。
因为在之前看过kissy的脚本,于是改了下,将入口点和生成API地址的地方记下来,跑脚本修复。
这个过程中因为有好些地址出现了JMP 到一些并没有意义的指令里,于是,个人调了很多次,将无意义的地方记下来,如果找到这些地方就不执行。
后面终於修复成功.
调试了下,发现是网络验证,暂时没能破解,待后面有时间再爆它菊花吧。{:soso_e113:}
看了后续版本的VMP脱壳教程,感觉难了不少,不过继续努力吧,相信能脱掉它的外衣。
附上脚本
没有视频啊? 附上脚本 脚本在那下载 这个壳有点难度啊 vmp的最烦,请教楼主,dll怎么破解?无论加壳或者裸体,怎么跟进去? 看着还不错啊 学习了 谢谢 我也不会破解,望有大神师傅教 说了半天一个毛都没见到在哪下载 最近遇到双壳,超搞怪
页:
[1]
2