手动脱壳----PECompact 2.x -> Jeremy Collake
来源:互联网 发布:淘宝上的快排能买吗 编辑:程序博客网 时间:2024/06/10 15:59
网上也有很多手动脱壳的教程,但是光看不写总觉的像自己没学过似的。
操作环境:
操作系统:Windows 7 Ultimate
OD版本:Olldbg 1.10
被脱壳软件:文章最后提供下载
下边利用ESP原理脱壳。
首先使用OD载入图标王程序,出现提示确定即可。开头的代码如下:
00405A99 > $ B8 D0C74200 MOV EAX,图标王.0042C7D000405A9E . 50 PUSH EAX00405A9F . 64:FF35 00000>PUSH DWORD PTR FS:[0] 00405AA6 . 64:8925 00000>MOV DWORD PTR FS:[0],ESP00405AAD . 33C0 XOR EAX,EAX00405AAF . 8908 MOV DWORD PTR DS:[EAX],ECX00405AB1 . 50 PUSH EAX00405AB2 . 45 INC EBP
单步执行完00405A9E处的PUSH EAX后,观察ESP寄存器为:
ESP 0012FF8C
下一步就在ESP指向的位置设置硬件访问断点,在命令框中输入:
hr 12ff88
按下F9,使程序直接运行,在我运行时出现违规异常,按下Shift+F9忽略异常。
程序运行到这里中断:
76DC8D0B 3B45 F8 CMP EAX,DWORD PTR SS:[EBP-8]76DC8D0E 72 09 JB SHORT ntdll.76DC8D1976DC8D10 3B45 F4 CMP EAX,DWORD PTR SS:[EBP-C]76DC8D13 0F82 E9EF0400 JB ntdll.76E17D02
那么在这之后一直单步执行直到:
0042C87D 8985 23120010 MOV DWORD PTR SS:[EBP+10001223],EAX0042C883 8BF0 MOV ESI,EAX0042C885 59 POP ECX0042C886 5A POP EDX0042C887 03CA ADD ECX,EDX0042C889 68 00800000 PUSH 80000042C88E 6A 00 PUSH 00042C890 57 PUSH EDI0042C891 FF11 CALL DWORD PTR DS:[ECX]0042C893 8BC6 MOV EAX,ESI0042C895 5A POP EDX0042C896 5E POP ESI0042C897 5F POP EDI0042C898 59 POP ECX0042C899 5B POP EBX ; 7FFD60000042C89A 5D POP EBP0042C89B FFE0 JMP EAX
当执行完0x0042C89B中JMP EAX指令后,程序就会跳到程序入口点执行:
00405A99 > $ 55 PUSH EBP00405A9A ? 8BEC MOV EBP,ESP00405A9C ? 6A FF PUSH -100405A9E . 68 089D4100 PUSH 图标王.00419D0800405AA3 ? 68 D08B4000 PUSH 图标王.00408BD000405AA8 ? 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]00405AAE ? 50 PUSH EAX00405AAF . 64:8925 00000>MOV DWORD PTR FS:[0],ESP
这时,使用OllyDump插件进行脱壳即可。
注意的是,并不是程序刚刚运行到程序入口点才能够使用OllyDump脱壳,如果一不小心运行过了之后,在脱壳设置时,手动将入口点地址处的数值修改为入口点地址-起始地址即可,如本程序中入口点地址应该是405A99 - 400000 = 5A99
好了,到这里就脱壳完毕了。
软件下载:实验程序----图标王
在此感谢图标王编写作者~
- 手动脱壳----PECompact 2.x -> Jeremy Collake
- 脱 PECompact 2.x -> Jeremy Collake 壳
- 手脫 -- PECompact 2.x -> Jeremy Collake
- 如何脱壳:PECompact 1.68 - 1.84 -> Jeremy Collake [Overlay]
- 手动脱壳之PECompact
- 简析脱 PEBundle 2.0x - 2.4x-> Jeremy Collake
- 壳学习一:PECompact 2.x 加壳脱壳
- yoda 1.0x Protector和PECompact 2.x双层壳脱壳笔记
- 脱《唐诗三百首1.2》壳(PEBundle 0.2 - 3.x -> Jeremy Collake)并提取MID数据
- PECompact 2.5脱壳
- 脱壳-PECompact v1.66
- 脱壳-PeCompact(2.20)
- ASPack 2.x (without poly) -> Alexey Solodovnikov [Overlay] 手动脱壳
- 手动脱壳
- 手动脱壳“ASProtect 1.2x - 1.3x”(1/2)
- 手动脱壳“ASProtect 1.2x - 1.3x”(2/2)
- 手动脱壳“ASProtect 1.2x - 1.3x”(1/2)
- 手动脱壳“ASProtect 1.2x - 1.3x”(2/2)
- andoid 打包短信发送到gmail邮箱
- 如何在macox下面配置集成ios和android游戏教程
- AAC 文件解析及解码流程
- 利用pcntl_exec突破disable_functions
- 从概率看苹果系列设备及其它触摸类产品安全问题
- 手动脱壳----PECompact 2.x -> Jeremy Collake
- iPhone短信漏洞分析与测试
- PHPCMS 2008 最新漏洞(第二季)
- django 关于多选数据的录入和读取
- uva soldier
- Sichuan University Programming Contest 2013 Final (singal)E题
- 艾级计算机面临的挑战
- 通达oa getshell分析
- Lvm 折腾小记