chm帮助编辑器v2.6 注册码破解详谈之一*脱壳篇*
2007-01-12 20:12:35 来源:WEB开发网核心提示:就先说说软件的脱壳吧!它用upx加壳.第一种脱壳方法:trw+冲击波0.2启动冲击波,点击Trace,然后运行要脱壳的软件,此时冲击波会显示一个数值(这里应该是00488C78),这就是程序的入口.trw载入文件,Ctrl+N,g 00488C78MakePe 或 pedump脱壳成功!第二种脱壳方法:只用trw.用t
就先说说软件的脱壳吧!它用upx加壳.
第一种脱壳方法:trw+冲击波0.2
启动冲击波,点击Trace,然后运行要脱壳的软件,此时冲击波会显示一个数值(这里应该是00488C78),这
就是程序的入口.
trw载入文件,Ctrl+N,
g 00488C78
MakePe 或 pedump
脱壳成功!
第二种脱壳方法:只用trw.
用trw载入程序,选择加载,这时TRW弹出,按一次F10,程序来到这里:
:004BA000 60 pushad
:004BA001 E800000000 call 004BA006
一直按F10运行到上面这一行,注意这个call一定要进去,因为你再按一次F10的话,程序就运行了!
于是按F8进入:
* Referenced by a CALL at Address:
|:004BA001
|
:004BA006 83CDFF or ebp, FFFFFFFF
:004BA009 31DB xor ebx, ebx
:004BA00B 5E pop esi
:004BA00C 8DBEFA6FF4FF lea edi, dword ptr [esi+FFF46FFA]
:004BA012 57 push edi
:004BA013 668187F4830B000100 add word ptr [edi+000B83F4], 0001
:004BA01C 81C6B3010000 add esi, 000001B3
:004BA022 EB0A jmp 004BA02E
到了这里,再继续按F10跳转到 004BA02E,继续跟踪
:004BA02E 01DB add ebx, ebx
:004BA030 7507 jne 004BA039
:004BA032 8B1E mov ebx, dword ptr [esi]
:004BA034 83EEFC sub esi, FFFFFFFC
:004BA037 11DB adc ebx, ebx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA030(C)
|
:004BA039 72ED jb 004BA028
:004BA03B B801000000 mov eax, 00000001
在004BA039这一行程序将*向上*跳到004BA028,进行循环解压,而我们没有必要跟着它走,所以将光标定位于004BA03B,按F7,这样就省去了许多步骤了,接着软件还会有很多类似于这里的地方,都可以用这种方法跳过去.若是程序向下跳跃的时候,就不要多此一举了,让它跳就是了,还要注意的是按F7前,最好先在跳转的地方设个断点,再bd掉,这样即使判断错误,也还有的救,be就可以了继续跟踪了.继续向下走:
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004BA04F(C), :004BA05A(C)
|
:004BA040 01DB add ebx, ebx
:004BA042 7507 jne 004BA04B \这里会*向下*跳转,让它跳就是了.
:004BA044 8B1E mov ebx, dword ptr [esi]
:004BA046 83EEFC sub esi, FFFFFFFC
:004BA049 11DB adc ebx, ebx
这两种情况已经明白了吧!那我就省去一些了.
来到这里
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA177(C)
|
:004BA18A 240F and al, 0F
:004BA18C C1E010 shl eax, 10
:004BA18F 668B07 mov ax, word ptr [edi]
:004BA192 83C702 add edi, 00000002
:004BA195 EBE2 jmp 004BA179
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004BA173(C)
|
:004BA197 61 popad 运行到这里以后看看下面这个跳转
:004BA198 E9DBEAFCFF jmp 00488C78 //这里程序便完成来内存中的解工作,
将要跳到程序入口点00488C78
然后就来到了这里:
00488C78 PUSH EBP //在这里下MAKEPE命令(但我的TRW经常出错,Why)或是Pedump
00488C79 MOV EBP,ESP 但若你用了Pedump那脱壳后的文件将不能在其它操作系统和
其它机器上运行!
到trw目录中,这时看见一个文件在那儿,这就是我们脱壳后的文件,运行一下,挺好的!
更多精彩
赞助商链接