-
-
[原创]eXPressor1.8试用版加壳记事本脱壳
-
发表于:
2010-1-19 01:06
7541
-
[原创]eXPressor1.8试用版加壳记事本脱壳
【文章标题】: eXPressor1.8试用版加壳记事本脱壳
【文章作者】: lovebird/爱鸟
【作者邮箱】: lovebird_ustc#126.com
【作者QQ号】: 1282260064
【软件名称】: 记事本
【软件大小】: 脱前53.5KB 脱后65KB
【下载地址】: 附件有
【加壳方式】: eXPressor1.8试用版
【保护方式】: eXPressor试用版加壳
【编写语言】: VC
【使用工具】: OD+dump插件
【操作平台】: SP3+VM6
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
主程序不能在虚拟机里面运行,可以下载修改版的虚拟机安装。主程序貌似是Asprotect加的壳,因为不是这阶段要学习的重点,所以不管它,等脱完压缩壳再弄。
程序界面和以前的eXPressor一样,貌似那个Protect在试用版不能用。所以我这边就看不到那些加密文件的东西。
这样,这款加密壳就变成没有任何技术含量的压缩壳了。把其他勾全部勾选上,除了资源压缩。Mute填入lovebird。
[eXPressor 1.8 (Trial)-> CGSoftLabs * Sign.By.++++++++ * 20100119]
signature = 55 8B EC 81 EC 84 02 00 00 53 56 57 83 A5 A8 FD FF FF 00 F3
ep_only = false
这个试用版壳平淡无奇,直接ESP定律就行。OD不躲不藏,忽略一切异常。
01017442 > $ 55 PUSH EBP ; 停在这儿
01017443 . 8BEC MOV EBP,ESP
01017445 . 81EC 84020000 SUB ESP,284
0101744B . 53 PUSH EBX
0101744C . 56 PUSH ESI
0101744D . 57 PUSH EDI
0101744E . 83A5 A8FDFFFF>AND DWORD PTR SS:[EBP-258],0 ; 此处hr esp
01017455 . F3: PREFIX REP: ; 多余的前缀
01017456 . EB 0C JMP SHORT notepadP.01017464
01017458 . 65 58 50 72 2>ASCII "eXPr-v.1.6.",0
01017464 > A1 00700101 MOV EAX,DWORD PTR DS:[1017000]
01017469 . 05 00700101 ADD EAX,notepadP.01017000
=====================================================
shift+f9,点掉那个试用的NAG,到了这儿:
01017B94 . 5E POP ESI ; 停在这儿 搂一眼eax 就是OEP
01017B95 . 5B POP EBX
01017B96 . 8BE5 MOV ESP,EBP
01017B98 . 5D POP EBP
01017B99 . 50 PUSH EAX
01017B9A . A1 04700101 MOV EAX,DWORD PTR DS:[1017004]
01017B9F . 8378 6C 00 CMP DWORD PTR DS:[EAX+6C],0
01017BA3 . 75 05 JNZ SHORT notepadP.01017BAA
01017BA5 . 58 POP EAX
01017BA6 . 33C0 XOR EAX,EAX
01017BA8 . 40 INC EAX
01017BA9 . C3 RETN
01017BAA > 58 POP EAX
01017BAB . FFE0 JMP EAX ; 跳到oep
此处F4到01017BAB,然后F8一下,就到了OEP了。
要想去除加壳后的NAG,和以前的版本一样:
01017442 > $ 55 PUSH EBP ; 停在这儿
01017443 . 8BEC MOV EBP,ESP
01017445 . 81EC 84020000 SUB ESP,284
0101744B . 53 PUSH EBX
0101744C . 56 PUSH ESI
0101744D . 57 PUSH EDI
0101744E . 83A5 A8FDFFFF>AND DWORD PTR SS:[EBP-258],0 ; 此处hr esp
01017455 . F3: PREFIX REP: ; 多余的前缀
01017456 . EB 0C JMP SHORT notepadP.01017464
01017458 . 65 58 50 72 2>ASCII "eXPr-v.1.6.",0
01017464 > A1 00700101 MOV EAX,DWORD PTR DS:[1017000]
01017469 . 05 00700101 ADD EAX,notepadP.01017000
0101746E . A3 04700101 MOV DWORD PTR DS:[1017004],EAX
01017473 . A1 04700101 MOV EAX,DWORD PTR DS:[1017004]
01017478 . 8378 70 00 CMP DWORD PTR DS:[EAX+70],0
0101747C 75 14 JNZ SHORT notepadP.01017492 ; 改成jmp 保存即可
0101747E . 6A 10 PUSH 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
01017480 . 68 F0700101 PUSH notepadP.010170F0 ; |Title = "Info"
01017485 . 68 78700101 PUSH notepadP.01017078 ; |Text = "This application was packed with an Unregistered version of eXPressor.
For registration, please visit www.cgsoftlabs.ro"
0101748A . 6A 00 PUSH 0 ; |hOwner = NULL
0101748C . FF15 50700101 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA
01017492 > E8 F0FEFFFF CALL notepadP.01017387
--------------------------------------------------------------------------------
【经验总结】
秒脱方法:
直接Ctrl+F 搜索指令Jmp eax,下断shift+F9运行 取消断点后F8就到了OEP
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2010年01月19日 0:56:45
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课