-
-
VMP程序加壳程序脱壳教程(很有价值)
-
发表于:
2010-4-26 16:55
3916
-
VMP程序加壳程序脱壳教程
在这里看到有朋友不会脱这个壳,发个教程,先声明,不能实现跨平台,但此方法脱壳后本机能运行。
OD载入:Ctrl+G 输入:VirtualProtect
7C801AD0 VirtualProtect 8BFF MOV EDI,EDI
7C801AD2 /. 55 PUSH EBP
7C801AD3 |. 8BEC MOV EBP,ESP
7C801AD5 |. FF75 14 PUSH DWORD PTR SS:[EBP+14] ; /pOldProtect
7C801AD8 |. FF75 10 PUSH DWORD PTR SS:[EBP+10] ; |NewProtect
7C801ADB |. FF75 0C PUSH DWORD PTR SS:[EBP+C] ; |Size
7C801ADE |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |Address
7C801AE1 |. 6A FF PUSH -1 ; |hProcess = FFFFFFFF
7C801AE3 |. E8 75FFFFFF CALL kernel32.VirtualProtectEx 在这里下硬件断点 ; \VirtualProtectEx
7C801AE8 |. 5D POP EBP
7C801AE9 \. C2 1000 RETN 10
之后F9运行两次,看堆栈
0012FF78 FFFFFFFF |hProcess = FFFFFFFF
0012FF7C 00406000 |Address = 小程序.00406000
0012FF80 00005218 |Size = 5218 (21016.)
0012FF84 00000020 |NewProtect = PAGE_EXECUTE_READ出现此文字解码完成
0012FF88 00000000 \pOldProtect = NULL
此时Ctrl+G 输入:???????,OD分析代码
现在就根据各编译语言的入口特征找OEP
找到OEP后就新建EIP
然后dump
dump之后再用LordPE修改入口地址,保存,即可运行
VMP程序的IAT修复还不会,不过这样做了本机能行运,只是不能跨平台而已。
下面这文件的入口特征大家可以帮我找下吗,谢谢了啊
[课程]Android-CTF解题方法汇总!