|
外挂名:QQ最新2.0飞车喇叭(订婚版2.0) PEID查壳,发现是ECODE写的。 好久没有接触这个了,有点手生。本来工作忙。 没有太多时间花这上面 但好奇+好强。 还是让我试了一下,OD载渗透,利用消息框断点,追了一下。 最后找到暴破的地方(才浅。 所以一直都是玩暴破的,嘿嘿): -------------------以下为破解代码处 004CE00D 6A FF PUSH -1 004CE00F 6A 08 PUSH 8 004CE011 68 8A020116 PUSH 1601028A 004CE016 68 E8010152 PUSH 520101E8 004CE01B E8 02040000 CALL 订婚版2_.004CE422 004CE020 83C4 10 ADD ESP,10 004CE023 8945 FC MOV DWORD PTR SS:[EBP-4],EAX 004CE026 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004CE029 50 PUSH EAX 004CE02A 8B1D 7006AA00 MOV EBX,DWORD PTR DS:[AA0670] 004CE030 85DB TEST EBX,EBX 004CE032 74 09 JE SHORT 订婚版2_.004CE03D 004CE034 53 PUSH EBX 004CE035 E8 DC030000 CALL 订婚版2_.004CE416 004CE03A 83C4 04 ADD ESP,4 004CE03D 58 POP EAX 004CE03E A3 7006AA00 MOV DWORD PTR DS:[AA0670],EAX 004CE043 68 DA304000 PUSH 订婚版2_.004030DA ; ASCII "weicool" 004CE048 FF35 7006AA00 PUSH DWORD PTR DS:[AA0670] 004CE04E E8 14FFFFFF CALL 订婚版2_.004CDF67 004CE053 83C4 08 ADD ESP,8 004CE056 83F8 00 CMP EAX,0 004CE059 75 39 JNZ SHORT 订婚版2_.004CE094////就是这里了。 将原来的JE改成JNZ,JMP 004CE05B 90 NOP 004CE05C 90 NOP 004CE05D 90 NOP 004CE05E 90 NOP 004CE05F 6A 00 PUSH 0 004CE061 6A 00 PUSH 0 004CE063 6A 00 PUSH 0 004CE065 68 01030080 PUSH 80000301 004CE06A 6A 00 PUSH 0 004CE06C 68 00000000 PUSH 0 004CE071 68 04000080 PUSH 80000004 004CE076 6A 00 PUSH 0 004CE078 68 E2304000 PUSH 订婚版2_.004030E2 004CE07D 68 03000000 PUSH 3 004CE082 BB 00030000 MOV EBX,300 004CE087 E8 90030000 CALL 订婚版2_.004CE41C 004CE08C 83C4 28 ADD ESP,28 004CE08F E9 C1000000 JMP 订婚版2_.004CE155 ----------------------------总结: 软件几乎没有任务加密技术,很简单的分析判断注册码对错。 对就成功,不对就退出程序。 没有任何验证,没有任何防暴措施。 对于ECODE同样可以用F12暂停法找到关键点。我的破解思路如下: OD载渗透程序,F9运行。 下断点BP MessageBoxA,输入注册码。 点确定按钮(该软件是"激活"按钮)。 程序断下。 此时是在USER32.DLL系统领空。 Ctrl+F9返回,此时光标定位的上面一行代码 CALL *****即为错误提示框函数,因为一直都不在程序领空。 追踪起来非常麻烦。 所以此时 我们在 call 下一行 100626A6 5F POP EDI 下断 f9运行弹出NAG(错误提示框) ,点确定, 然后单步 f8 几下子(大概27下)。 程序流程就往返到 程序领空,如下: 004CE029 50 PUSH EAX 004CE02A 8B1D 7006AA00 MOV EBX,DWORD PTR DS:[AA0670] 004CE030 85DB TEST EBX,EBX 004CE032 74 09 JE SHORT 订婚版2_.004CE03D 004CE034 53 PUSH EBX 004CE035 E8 DC030000 CALL 订婚版2_.004CE416 004CE03A 83C4 04 ADD ESP,4 004CE03D 58 POP EAX 004CE03E A3 7006AA00 MOV DWORD PTR DS:[AA0670],EAX 004CE043 68 DA304000 PUSH 订婚版2_.004030DA ; ASCII "weicool" 004CE048 FF35 7006AA00 PUSH DWORD PTR DS:[AA0670] 004CE04E E8 14FFFFFF CALL 订婚版2_.004CDF67 ///这里即为注册码处理的地方 004CE053 83C4 08 ADD ESP,8 004CE056 83F8 00 CMP EAX,0 //比较标志位。 错误。 则下面的跳转就不成功 004CE059 0F84 35000000 JE 订婚版2_.004CE094 //这里跳转未成功,所以代码向下运行。 直到弹 004CE05F 6A 00 PUSH 0 //错误提示的对话框。 将JE改成JNZ或者JMP,暴004CE061 6A 00 PUSH 0 //破成功 004CE063 6A 00 PUSH 0 004CE065 68 01030080 PUSH 80000301 004CE06A 6A 00 PUSH 0 004CE06C 68 00000000 PUSH 0 004CE071 68 04000080 PUSH 80000004 004CE076 6A 00 PUSH 0 004CE078 68 E2304000 PUSH 订婚版2_.004030E2 004CE07D 68 03000000 PUSH 3 004CE082 BB 00030000 MOV EBX,300 004CE087 E8 90030000 CALL 订婚版2_.004CE41C 004CE08C 83C4 28 ADD ESP,28 //////这里即为返回处。 向上追。 找到紧跟CALL,,TEST之后的跳转 004CE059 0F84 35000000 JE 订婚版2_.004CE094 //其实此处的JE改成JMP要比JNZ完美的多。 不管怎么样,它死活都得往成功处跳。 整个破解过程非常简单。 希望对看到些文的朋友起到一个抛砖引玉的作用。至于这个软件是真的能达到目的的外挂还是假的。 那就不清楚了。喜欢玩游戏的朋友,不要太沉迷了。(这个软件中附带的演示视频似乎是真的。 TX真有此漏洞也是有可能的,,是真是假。 大家自己去尝试吧。也许是真的,就抓紧时间了,否则过不了几天。 TX就补了BUG了---飞车。 我不玩的。) 谢谢观完。其实,我是在此帮自己做个笔记,记下这个破解思路。 以备以后查找。 By Pigeon 2008-09-03 PM |