您的位置:首页精文荟萃破解文章 → 一条MOV指令5分钟内破解蚂蚁广告条的方法

一条MOV指令5分钟内破解蚂蚁广告条的方法

时间:2004/10/15 1:00:00来源:本站整理作者:蓝点我要评论(0)

蚂蚁是大家上网必不可少的下载工具,我也很喜欢用它,可是时间长了,越来越觉得那个广告条实在是有点讨厌,所以突然起了想要破解它的念头。也许你觉得这是老生常谈,网上有关蚂蚁的破解版早已漫天飞,何必再弄个破解文章出来,不是吃饱了撑的嘛?确实,现在蚂蚁的破解早已是的老掉牙的事情了,但是可看过一些网上的破解文章之后,觉得其中的破解方法都有一点烦琐,而我在这里介绍的方法则另辟溪径,仅仅用一条简单的MOV指令就可以快速去掉可恶的广告条,对于蚂蚁的各个版本其方法都一样,破解过程清晰明了,适合初学者参考,这里我以蚂蚁V1.23简体中文版为例进行讲解。
首先我要先说明一下这里会用到的工具:SMU、W32DASM、HIEW、SOFTICE,这些软件全部都可以在“破解工具”里找到。也许很多朋友还没有用过SMU这个工具,它可是此次破解的头号功臣呢! SMU WINSPECTOR是个非常小巧的侦测WINDOWS窗口信息的东东,只要运行后将鼠标移到需要探测的窗口控件上,马上就能得到相关的信息,用的时候你就知道了。如果你对SMU、W32DASM、HIEW、SOFTICE的用法还不太了解,请先阅读我的主页上的相关文章。程序名 :NetAnts
版本  :V1.23
大小  :825KB
运行平台:Windows 95/98/NT/2000
保护方式:无
破解方式:暴力破解
破解难度:容易


破解步骤:

1. 运行蚂蚁;

2. 运行SMU,然后将鼠标放在蚂蚁广告条旁边的任意地方(注意:必须要和广告条在同一个小矩形框范围内),此时我们可以从SMU中得知广告条所在矩形框的“Window Class Name:”是“NA_Advert” (同时也可知其“Window ID Numeber”是“&H73”);

3. 用W32DASM打开并反汇编蚂蚁,然后按“Search”下的“Find Text”,输入“NA_Advert”(或者ID号0073也可以,不过很可能“0073”会有很多查找结果,所以我们还是用“NA_Advert”比较好),回车确定后我们来到调用“NA_Advert”的地方:

 

* Possible StringData Ref from Data Obj ->"NA_Advert"    <-- 我们来到这里                  | :004025DA BF14194400       mov edi, 00441914 :004025DF 50           push eax :004025E0 8975F8         mov dword ptr [ebp-08], esi :004025E3 897DFC         mov dword ptr [ebp-04], edi * Reference To: USER32.RegisterClassA, Ord:01F2h                  | :004025E6 FF1514E44300      Call dword ptr [0043E414] :004025EC 6685C0         test ax, ax :004025EF 7507          jne 004025F8 * Possible StringData Ref from Data Obj ->"RegisterClass"                  | :004025F1 68D8184400       push 004418D8 :004025F6 EB2B          jmp 00402623

 

4. 大概看一下这段程序,很明显是在生成广告条,我们可以找到调用这段程序的CALL位于0041C031处:

 

* Referenced by a CALL at Address: |:0041C031                           <-- 注意这里  | :00402598 55           push ebp :00402599 8BEC          mov ebp, esp :0040259B 83EC28         sub esp, 00000028 :0040259E A168AB4400       mov eax, dword ptr [0044AB68] :004025A3 56           push esi :004025A4 57           push edi :004025A5 33F6          xor esi, esi :004025A7 68007F0000       push 00007F00 :004025AC 56           push esi :004025AD 8975D8         mov dword ptr [ebp-28], esi :004025B0 C745DC01254000     mov [ebp-24], 00402501 :004025B7 8975E0         mov dword ptr [ebp-20], esi :004025BA 8975E4         mov dword ptr [ebp-1C], esi :004025BD 8945E8         mov dword ptr [ebp-18], eax :004025C0 8975EC         mov dword ptr [ebp-14], esi * Reference To: USER32.LoadCursorA, Ord:019Ah                  | :004025C3 FF15B8E44300      Call dword ptr [0043E4B8] * Possible Reference to String Resource ID=00001: "Invalid retry delay"                  | :004025C9 6A01          push 00000001 :004025CB 8945F0         mov dword ptr [ebp-10], eax * Reference To: GDI32.GetStockObject, Ord:015Fh                  | :004025CE FF157CE04300      Call dword ptr [0043E07C] :004025D4 8945F4         mov dword ptr [ebp-0C], eax :004025D7 8D45D8         lea eax, dword ptr [ebp-28] * Possible StringData Ref from Data Obj ->"NA_Advert"                  | :004025DA BF14194400       mov edi, 00441914 :004025DF 50           push eax :004025E0 8975F8         mov dword ptr [ebp-08], esi :004025E3 897DFC         mov dword ptr [ebp-04], edi * Reference To: USER32.RegisterClassA, Ord:01F2h                  | :004025E6 FF1514E44300      Call dword ptr [0043E414] :004025EC 6685C0         test ax, ax :004025EF 7507          jne 004025F8 * Possible StringData Ref from Data Obj ->"RegisterClass"                  | :004025F1 68D8184400       push 004418D8 :004025F6 EB2B          jmp 00402623

 

5. 在W32DASM中按住“SHIFT+F12”,输入“0041C031”,走到调用这个CALL的地方:

 

* Reference To: USER32.SetMenu, Ord:0235h                  | :0041BFE9 FF1598E34300      Call dword ptr [0043E398] :0041BFEF 57           push edi :0041BFF0 E894E10000       call 0042A189 :0041BFF5 3BC3          cmp eax, ebx :0041BFF7 59           pop ecx :0041BFF8 A364AB4400       mov dword ptr [0044AB64], eax :0041BFFD 0F847D1F0000      je 0041DF80 :0041C003 50           push eax :0041C004 E8FAE20000       call 0042A303 :0041C009 3BC3          cmp eax, ebx :0041C00B 59           pop ecx :0041C00C A3B0AB4400       mov dword ptr [0044ABB0], eax :0041C011 0F84691F0000      je 0041DF80 :0041C017 FF3564AB4400      push dword ptr [0044AB64] :0041C01D E895280100       call 0042E8B7 :0041C022 3BC3          cmp eax, ebx :0041C024 59           pop ecx :0041C025 A390AB4400       mov dword ptr [0044AB90], eax :0041C02A 0F84501F0000      je 0041DF80 :0041C030 57           push edi :0041C031 E86265FEFF       call 00402598    <-- 我们来到这里 :0041C036 3BC3          cmp eax, ebx :0041C038 59           pop ecx :0041C039 A3A8AB4400       mov dword ptr [0044ABA8], eax :0041C03E 0F843C1F0000      je 0041DF80 :0041C044 57           push edi :0041C045 E8C7D00000       call 00429111 :0041C04A 3BC3          cmp eax, ebx :0041C04C 59           pop ecx :0041C04D A3C4AC4400       mov dword ptr [0044ACC4], eax :0041C052 0F84281F0000      je 0041DF80 :0041C058 57           push edi :0041C059 E82C13FFFF       call 0040D38A :0041C05E 3BC3          cmp eax, ebx :0041C060 59           pop ecx :0041C061 A37CAB4400       mov dword ptr [0044AB7C], eax :0041C066 0F84141F0000      je 0041DF80 :0041C06C 57           push edi :0041C06D E8C2A0FFFF       call 00416134 :0041C072 3BC3          cmp eax, ebx :0041C074 59           pop ecx :0041C075 A388AB4400       mov dword ptr [0044AB88], eax :0041C07A 0F84001F0000      je 0041DF80 :0041C080 57           push edi :0041C081 E884ACFEFF       call 00406D0A :0041C086 3BC3          cmp eax, ebx :0041C088 59           pop ecx :0041C089 A398AB4400       mov dword ptr [0044AB98], eax :0041C08E 0F84EC1E0000      je 0041DF80 :0041C094 57           push edi :0041C095 E841ECFFFF       call 0041ACDB :0041C09A 3BC3          cmp eax, ebx :0041C09C 59           pop ecx :0041C09D A38CAB4400       mov dword ptr [0044AB8C], eax :0041C0A2 0F84D81E0000      je 0041DF80 :0041C0A8 57           push edi :0041C0A9 E85345FFFF       call 00410601 :0041C0AE 3BC3          cmp eax, ebx :0041C0B0 59           pop ecx :0041C0B1 A39CAB4400       mov dword ptr [0044AB9C], eax :0041C0B6 0F84C41E0000      je 0041DF80 :0041C0BC 57           push edi :0041C0BD E887C3FFFF       call 00418449 :0041C0C2 3BC3          cmp eax, ebx :0041C0C4 59           pop ecx :0041C0C5 A3A0AB4400       mov dword ptr [0044ABA0], eax :0041C0CA 0F84B01E0000      je 0041DF80 :0041C0D0 57           push edi :0041C0D1 E861DE0000       call 00429F37 :0041C0D6 3BC3          cmp eax, ebx :0041C0D8 59           pop ecx :0041C0D9 A3ACAB4400       mov dword ptr [0044ABAC], eax :0041C0DE 0F849C1E0000      je 0041DF80 :0041C0E4 E84FF9FEFF       call 0040BA38 :0041C0E9 3BC3          cmp eax, ebx :0041C0EB A36CAB4400       mov dword ptr [0044AB6C], eax :0041C0F0 0F848A1E0000      je 0041DF80 * Reference To: Drop.CreateDropTarget, Ord:0000h

 

6. 既然我们现在知道0041C031处的“call 00402598”就是生成广告条的子程序,那么我们用空指令NOP不就可以屏蔽掉这个call 00402598了吗。。。?不过呢。。。等一等,别那么着急(5分钟没有那么快的^_^),我们看看紧接下来0041C039处的指令“mov dword ptr [0044ABA8], eax”将call 00402598的返回值EAX存入内存单元0044ABA8中,如果我们只是简单的用NOP指令屏蔽掉call 00402598而不管返回值EAX,很可能使程序出问题的噢!再看看上面0041C009处的“cmp eax, ebx”,如果EAX和EBX相等,那么程序就会跳过 call 00402598而跑去0041DF80,显然正常情况下EAX是不能等于EBX的,否则怎么会有广告条呢?我们用眼扫一下这段程序,会发现总是有cmp eax, ebx这条指令,如果任何一个子程序返回值EAX和EBX相等,那么程序就不能正常运行。那么,EBX到底是多少呢?是随每个子程序都变还是固定不变的呢?

7. 用SOFTICE的SYMBOL LOADER程序的“FILE/OPEN MODULE...”装入蚂蚁,然后用“MODULE/LOAD”启动蚂蚁,先按一次F10,等那一堆的“INVALID”指令变正常后设置端点 “BPX 0167:0041C031”,按F5后蚂蚁马上被SOFTICE拦截停在0041C031处,此时我们可以看到EBX等于0,按F10一路走下去,我们发现EBX始终等于0,好耶!知道了EBX必定为0,我们就可以修改程序了^_^!

8. 用HIEW打开蚂蚁进行修改:现在我们既要屏蔽掉0041C031处的call 00402598,而又要使EAX的值不等于EBX,既不等于0,好吧,我们姑且让EAX恒等于1,如果试一下你就能发现MOV EAX,00000001这条指令的机器码 B801000000刚好和call 00402598的机器码E86265FEFF一样,都是5个字节,哈哈。。。,巧吧!接下来用HIEW找到call 00402598的机器码码E86265FEFF,将其改为B801000000,即把call 00402598改成mov eax,00000001,存盘推出HIEW(当然了,还有其它的修改方法,怎么样都行),重新运行蚂蚁,感觉怎样?爽吧^_^!

附注:如果你只是简单的将call 00402598的机器码E86265FEFF用空指令9090909090屏蔽掉,虽然可以祛除广告条,但是你会发现广告条上面的下载速率图形演示框也一并没有了,好象也不太好吧^_^!






相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程