欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

两个ANTI-W32dasm的程序的解决办法 (3千字)

两个ANTI-W32dasm的程序的解决办法 (3千字)

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

版权:CCG所有,转载请保持完整。
难度:易
程序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跳出死循环。
:004614E6 90                      nop
:004614E7 90                      nop
:004614E8 90                      nop
:004614E9 90                      nop
:004614EA 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

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功