两个ANTIW32dasm的程序的解决办法 -电脑资料

时间:2012-06-05 05:42:19
染雾
分享
WORD下载 PDF下载 投诉

两个ANTI-W32dasm的程序的解决办法

作者:小牧童[CCG]

版权:CCG所有,转载请保持完整,

两个ANTIW32dasm的程序的解决办法

难度:易

程序1:http://www.my169.com/~zxhxmz/porciins.exe

程序2:就是上面这位大哥所想要解决的轻松试卷。http://www.shijun.com/easypaper/cn/download/eps404.zip

现象:这两个程序用W32dasm打开后陷入没有反应之中,只有用Ctrl+alt+del才能使其退出。

思路:W32dasm陷入无应之中估计进入某处死循环。呵呵,小牧童就是会钻死牛角尖^_^!有了思路ANTI功能自然就解了。

方法:

程序1:

运行W32dasm 并打开animal.exe文件进行编译,W32dasm进入死循环。

下Ctrl+D 进入softice按2次F12到下面:

:0046149F E8DCDB0400 call 004AF080

:004614A4 83C408 add esp, 00000008

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:00461494(C)

|

:004614A7 8A9C35E9FDFFFF mov bl, byte ptr [ebp+esi-00000217]

:004614AE 80FB2F cmp bl, 2F

:004614B1 7615 jbe 004614C8

:004614B3 80FB3A cmp bl, 3A

:004614B6 7310 jnb 004614C8

:004614B8 889D0CF6FFFF mov byte ptr [ebp+FFFFF60C], bl

:004614BE C6850DF6FFFF00 mov byte ptr [ebp+FFFFF60D], 00

:004614C5 83C602 add esi, 00000002

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:

|:004614B1(C), :004614B6(C)

|

:004614C8 8D850CF6FFFF lea eax, dword ptr [ebp+FFFFF60C]

:004614CE 50 push eax

:004614CF E8EC9D0400 call 004AB2C0

:004614D4 59 pop ecx

:004614D5 8945F4 mov dword ptr [ebp-0C], eax

:004614D8 33D2 xor edx, edx

:004614DA 8955F8 mov dword ptr [ebp-08], edx

:004614DD 8B4DF8 mov ecx, dword ptr [ebp-08]

:004614E0 8B45F4 mov eax, dword ptr [ebp-0C]

:004614E3 3BC8 cmp ecx, eax

:004614E5 0F83B6FDFFFF jae 004612a1 //这里改为909090909090跳出死循环,

电脑资料

《两个ANTIW32dasm的程序的解决办法》()。

:004614E6 90 nop

:004614E7 90 nop

:004614E8 90 nop

:004614E9 90 nop

:004614E

A 90 nop

程序2:

运行W32dasm 并打开easypaper.exe文件进行编译,W32dasm进入死循环。

下Ctrl+D 进入softice按2次F12到下面:

:0046151B E8BCD60400 call KERNEL32!lstrcat //按2次F12后到这里

:00461520 FF45F8 inc [ebp-08]

:00461523 8B4DF8 mov ecx, dword ptr [ebp-08]

:00461526 8B45F4 mov eax, dword ptr [ebp-0C]

:00461529 3BC8 cmp ecx, eax

:0046152B 72BE jb 004614EB //将这里改为9090

:0046152D E96FFDFFFF jmp 004612A1

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0046121D(C)

|

:00461532 8B957CFFFFFF mov edx, dword ptr [ebp+FFFFFF7C]

:00461538 85D2 test edx, edx

:0046153A 7411 je 0046154D

将0046152b的比较取消,顺着0046152d的jmp 来到下面:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:0046152D(U)

|

:004612A1 C7857CFFFFFF01000000 mov dword ptr [ebp+FFFFFF7C], 00000001

:004612AB 8B8D78FFFFFF mov ecx, dword ptr [ebp+FFFFFF78]

:004612B1 85C9 test ecx, ecx

:004612B3 7410 je 004612C5

:004612B5 33C0 xor eax, eax

:004612B7 89857CFFFFFF mov dword ptr [ebp+FFFFFF7C], eax

:004612BD 33D2 xor edx, edx

:004612BF 899578FFFFFF mov dword ptr [ebp+FFFFFF78], edx

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:004612B3(C)

|

:004612C5 84DB test bl, bl

:004612C7 0F85D9FEFFFF jne 004611A6 //这里改为9090909090跳出死循环。

:004612CD 6A01 push 00000001

两个ANTIW32dasm的程序的解决办法 -电脑资料

手机扫码分享

Top