飞叶 发表于 2012-9-9 15:15

咪兔QQ找茬助手脱壳去校验破解教程咪兔系列通用(第二期教程)

本帖最后由 飞叶 于 2012-9-9 21:30 编辑

    咪兔QQ找茬助手脱壳去校验破解教程,咪兔系列软件都可以用此方法通用破解,在第一期教程中因为没有找到校验位,所以只好教大家用内存补丁做破解,第一期教程出了之后也没有人指导我,大多都是顶啊,学习啊,什么的,有意义的回复基本没有,只好自己再花点时间研究,现在研究出来了,也写出来给大家分享,如有不当之处,还请指出,我希望能在这里多跟大家交流,2008年就进这个坛了,由于工作原因,近三年都少有出作品,主要是工作原因,最近有空,又开始玩了!下面入正题。

这期教程做为上期的补充,也是另一种方式方法,如果有空下期将教大家做去广告的教程。
上期请查看这里:http://www.52pojie.cn/thread-165217-1-1.html

用PE查壳为:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo这个壳,我们可以用ESP定律脱壳,OD载入后停在这里:
0045AF70 >60            PUSHAD
0045AF71    BE 00E04300   MOV ESI,Me2QQZha.0043E000                         //F8到这里看寄存器ESP
0045AF76    8DBE 0030FCFF   LEA EDI,DWORD PTR DS:
0045AF7C    57            PUSH EDI
0045AF7D    EB 0B         JMP SHORT Me2QQZha.0045AF8A
0045AF7F    90            NOP
0045AF80    8A06            MOV AL,BYTE PTR DS:载入后我们F8到0045AF71地址,在寄存器的ESP中选在ESP的值0012FFC4右键选择跟随到数据窗口,然后在右下角首行,点选“0012FFA47C930228ntdll.7C930228”右键选择“断点”-“硬件访问”-“Dword”,然后F9运行后在如下地方断下:0045B10F    8D4424 80       LEA EAX,DWORD PTR SS:
0045B113    6A 00         PUSH 0
0045B115    39C4            CMP ESP,EAX
0045B117^ 75 FA         JNZ SHORT Me2QQZha.0045B113
0045B119    83EC 80         SUB ESP,-80
0045B11C- E9 135DFBFF   JMP Me2QQZha.00410E34          //选中这里按F4跳了一下,再选中按一下F4,然后按一下F8飞向光明之顶
0045B121    0000            ADD BYTE PTR DS:,AL
0045B123    0000            ADD BYTE PTR DS:,AL然后选中“0045B11C- E9 135DFBFF   JMP Me2QQZha.00410E34”按F4跳了一下,再选中这个地方,再按一下F4,然后按一下F8,飞向光明之顶,程序的OEP:00410E34    55            PUSH EBP                     //光明之顶,程序的OEP
00410E35    8BEC            MOV EBP,ESP
00410E37    6A FF         PUSH -1
00410E39    68 F82A4100   PUSH Me2QQZha.00412AF8
00410E3E    68 980F4100   PUSH Me2QQZha.00410F98                   ; JMP 到 msvcrt._except_handler3
00410E43    64:A1 00000000MOV EAX,DWORD PTR FS:
00410E49    50            PUSH EAX现在我们可以在代码中右键选“用OllyDump脱壳调试进程”在跳出的窗口中选择“脱壳”,输入脱壳程序存放的位置及文件名保存存,至此脱壳成功。

下在我们来说破解。

OD载入刚刚脱好壳的文件,在OD中右键“搜索ASCII”进行文本字符串查找,找到字符串后,在底部有文本字符串“登录失败.账号或密码错误!”双击后来到这里:004108C5    F2:AE         REPNE SCAS BYTE PTR ES:
004108C7    F7D1            NOT ECX
004108C9    49            DEC ECX
004108CA    75 0D         JNZ SHORT 脱壳.004108D9
004108CC    C786 30040000 3>MOV DWORD PTR DS:,脱壳.00415A34   ; 登录失败.账号或密码错误!
004108D6    5F            POP EDI
004108D7    5E            POP ESI
004108D8    C3            RETN我们往上走,找关键跳,找到如下跳转:00410813    57            PUSH EDI
00410814    8B86 1C040000   MOV EAX,DWORD PTR DS:
0041081A    85C0            TEST EAX,EAX
0041081C    0F84 98000000   JE 脱壳.004108BA                              //关键跳,右键选择汇编,把“JE 004108BA”修改为“jmp 00410894”
00410822    8B8E 20040000   MOV ECX,DWORD PTR DS:
00410828    2BC8            SUB ECX,EAX
0041082A    83E1 F0         AND ECX,FFFFFFF0
0041082D    83F9 30         CMP ECX,30
00410830    0F85 84000000   JNZ 脱壳.004108BA我们在地址0041081C中看到关键跳,右键选择汇编,把“JE 004108BA”修改为“jmp 00410894”就是把这里直接跳转到“00410894”因为这里是第一个返回,我们就让它直接返回。

      上面的修改是我们输入任意用户名密码,不管服务器返回信息正确与否,我们都能进行登录,但是因为用户名密码有到服务器验证,如果断网或者服务器关闭,服务器没有返回信息,那我们就还是无法登录,所以我们还要改两个地方,让我们输入的用户名密码不进行验证。

继续在OD中右键“搜索ASCII”进行文本字符串查找,找到字符串后,在底部有文本字符串“服务器忙,请稍候再试”双击后来到这里:00410746    C786 30040000 085A4100MOV DWORD PTR DS:,脱壳.00415A08   ; 服务器忙,请稍候再试.
00410750    5F                      POP EDI
00410751    5E                      POP ESI
00410752    33C0                  XOR EAX,EAX
00410754    5B                      POP EBX
00410755    81C4 1C020000         ADD ESP,21C
0041075B    C3                      RETN我们还是往上找关键跳,找到地址“0041067D”这个跳转:00410673    E8 68FDFFFF             CALL 脱壳.004103E0             //这个CALL一会儿进去看看
00410678    83C4 0C               ADD ESP,0C
0041067B    85C0                  TEST EAX,EAX
0041067D    0F84 C3000000         JE 脱壳.00410746               //这个跳我们直接把它NOP掉
00410683    C786 38040000 01000000MOV DWORD PTR DS:,1我们把地址“0041067D”这个跳我们直接把它NOP掉,在地址“0041067D”处右键选择“二进制”-“使用NOP填充”。

我们还看到在刚刚修改的那个跳转上面还有一个CALL,我们选中这个CALL回车进去看看,00410673    E8 68FDFFFF             CALL 脱壳.004103E0选中上面地址的CALL按回车键进入后到如下代码:004103E0    51                      PUSH ECX
004103E1    53                      PUSH EBX
004103E2    8B5C24 14               MOV EBX,DWORD PTR SS:
004103E6    55                      PUSH EBP
004103E7    56                      PUSH ESI
004103E8    8B7424 18               MOV ESI,DWORD PTR SS:
004103EC    57                      PUSH EDI
004103ED    33ED                  XOR EBP,EBP
004103EF    C74424 10 02000000      MOV DWORD PTR SS:,2
004103F7    6A 00                   PUSH 0
004103F9    6A 00                   PUSH 0
004103FB    6A 00                   PUSH 0
004103FD    6A 00                   PUSH 0
004103FF    68 A8594100             PUSH 脱壳.004159A8                         ; IE6.0
00410404    FF15 9C234100         CALL DWORD PTR DS:[<&WININET.InternetOpe>; WININET.InternetOpenA
0041040A    8BF8                  MOV EDI,EAX
0041040C    85FF                  TEST EDI,EDI
0041040E    74 41                   JE SHORT 脱壳.00410451                     //这里右键选择汇编,把“JE SHORT 00410451”修改为“jmp 00410481”
00410410    8B4424 18               MOV EAX,DWORD PTR SS:
00410414    6A 00                   PUSH 0看到第一个Call下面地址“0041040E”有个跳转,我们就修改这个跳转,在地址“0041040E”处右键选择汇编,把“JE SHORT 00410451”修改为“jmp 00410481”。

到这里,我们的修改就大功告成了,然后OD中点右键选“复制到可执行文件”-“所有修改”,选择“全部复制”,在跳出的新窗口中还是点右键,选“保存到文件”即可!

好了,到此,我们打开刚刚保存好的已破解外挂程序,输入任意用户名密码点选“登录”,便可使用了。但是用一段时间后你会发现,软件就不起作用了,我再试试没有破解的脱壳软件,还是一样的问题,由此分析,这个软件有自校验,下面我们来讲如何去自校验。

重新OD载入刚刚破解好的软件,在OD底部的命令框里输入“bp CreateFileA”按F9运行软件。程充断下来后,我们注意看OD里右下框的“注释”,我总共按了138下F9才出现如下信息:0012C8F8   736DB6EA/CALL 到 CreateFileA 来自 DDRAW.736DB6E4                                    //注意看这里
0012C8FC   0012CA80|FileName = "D:\咪兔QQ游戏外挂\Me2QQZhaoChaV20\脱壳.exe"            //还有注意看这里
0012C900   80000000|Access = GENERIC_READ
0012C904   00000001|ShareMode = FILE_SHARE_READ
0012C908   00000000|pSecurity = NULL
0012C90C   00000003|Mode = OPEN_EXISTING
0012C910   00000080|Attributes = NORMAL
0012C914   00000000\hTemplateFile = NULL根据每个人的电脑不同,按F9的次数可能会有所不同,但是出现上面信息时就要注意了,主要是看第一行“来自”后面的内容以及第二行“FileName =”后面的内容。记住这里一定要看到CALL 到 CreateFileA 来自0040FA45时停下来,重点是看0040出现在这里时,我们才停下来看到如下信息。03CEF880   0040FA4B/CALL 到 CreateFileA 来自 脱壳.0040FA45                     //这里只要是0040开头就对了
03CEF884   03CEF8BC|FileName = "D:\咪兔QQ游戏外挂\Me2QQZhaoChaV20\脱壳.exe"
03CEF888   80000000|Access = GENERIC_READ
03CEF88C   00000000|ShareMode = 0
03CEF890   00000000|pSecurity = NULL
03CEF894   00000004|Mode = OPEN_ALWAYS
03CEF898   00000000|Attributes = 0
03CEF89C   00000000\hTemplateFile = NULL这时我们按Ctrl+F9执行到返回,再按一下F8返回到这里:0040FA4B    8BF0            mov esi,eax
0040FA4D    83FE FF         cmp esi,-0x1
0040FA50    75 04         jnz X脱壳.0040FA56
0040FA52    33C0            xor eax,eax
0040FA54    5E            pop esi
0040FA55    C3            retn我们再按Ctrl+F9执行到返回,再按一下F8返回到这里:00404E5A    8BF0            mov esi,eax
00404E5C    83C4 04         add esp,0x4
00404E5F    85F6            test esi,esi
00404E61    75 23         jnz X脱壳.00404E86这时我们往下看,看到如下信息:00404EA8    8B57 1C         mov edx,dword ptr ds:
00404EAB    83C4 08         add esp,0x8
00404EAE    33C9            xor ecx,ecx
00404EB0    3BC2            cmp eax,edx
00404EB2    0F95C1          setne cl                  //注意这里比较相等就为假,不相等就为真在这里setne cl就是关键验证比较相等就为假,不相等就为真,我们把它修改成sete cl后比较相等就为真,不相等就为假。

现在终于大功告成,OD中点右键选“复制到可执行文件”-“所有修改”,选择“全部复制”,在跳出的新窗口中还是点右键,选“保存到文件”即可!

我的系列破文只在吾爱破解首发表,其它地方如有转载,请注明!
                                                                        飞叶
                                                                  2012年9月9日

咪兔QQ找茬助手1.3.20原版、脱壳版、破解版以及此破文请在此下载!




咪兔QQ找茬助手V1.3.20绿色去广告无限制破解版
http://www.52pojie.cn/thread-165220-1-1.html
咪兔连连看助手V1.5.15绿色去广告无限制破解版
http://www.52pojie.cn/thread-165219-1-1.html
咪兔QQ围棋助手V1.098绿色去广告无限制破解版
http://www.52pojie.cn/thread-165468-1-1.html
咪兔QQ五子棋助手V1.1.1绿色去广告无限制破解版
http://www.52pojie.cn/thread-165218-1-1.html
咪兔QQ黑白棋助手V1.0.101绿色去广告无限制破解版
http://www.52pojie.cn/thread-165278-1-1.html咪兔QQ找茬助手脱壳去校验破解教程咪兔系列通用(第二期教程)主要介绍脱壳去校验破解
http://www.52pojie.cn/thread-165452-1-1.html咪兔QQ游戏五子棋助手连连看助手等全系列外挂破解教程(第一期教程)主要介绍不脱壳打内存补丁破解
http://www.52pojie.cn/thread-165217-1-1.html

动动手帮我加个分,写得这么详细,我还真不容易,应该算是很入门了,易懂了吧~!

小鑫 发表于 2012-9-9 15:24

做个视频教程啊

satan8 发表于 2012-9-9 15:31

不错的教程。

KiCa 发表于 2012-9-9 15:46

谢谢大神教导啦

CLGTeam 发表于 2012-9-9 15:56

很初级 很详细 很易懂 支持下

zhang63 发表于 2012-9-9 16:01

比较详细啊!~~

287166966 发表于 2012-9-9 16:58

为 什么 我 按照你的步骤去脱壳,脱完壳保存,在用OD载入点搜索ASCII”进行文本字符串查找没有显示文本字符串啊? 那位什么脱完壳直接点文本字符串 为什么又显示有文本字符串了呢?我也拿过UXP脱壳机脱了,但是用OD载入点搜索ASCII”进行文本字符串,为什么一样没有显示文本字符串呢? 大师请指教 谢谢,

飞叶 发表于 2012-9-9 17:04

287166966 发表于 2012-9-9 16:58 static/image/common/back.gif
为 什么 我 按照你的步骤去脱壳,脱完壳保存,在用OD载入点搜索ASCII”进行文本字符串查找没有显示文本字符 ...

ESP定律脱壳教程很多,你可以找找相关的,如果OD的Dump出来不行的的,你就用LordPE修改工具Dump试试~!每个人的ODDump插件不一定一样!

1005398026 发表于 2012-9-9 17:19

谢谢大神教导啦

1002217709 发表于 2012-9-9 17:56

怎么办,我看不懂。。。
页: [1] 2 3 4 5 6 7 8
查看完整版本: 咪兔QQ找茬助手脱壳去校验破解教程咪兔系列通用(第二期教程)