文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页精文荟萃破解文章 → 一条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破解如何给软件脱壳基础教程