sdnyzjzx 发表于 2012-3-24 15:58:35

Teleport Pro Version 1.29 追码、爆破、去自校验

本帖最后由 sdnyzjzx 于 2012-3-24 16:00 编辑

【文章标题】: Teleport Pro Version 1.29 追码、爆破、去自校验
【文章作者】: sdnyzjzx
【作者邮箱】: [email protected]
【软件名称】: Teleport Pro Version 1.29
【软件大小】: 913,408 字节
【下载地址】: 见附件
【加壳方式】: 无壳
【保护方式】: 文件名、代码修改自校验;用户名长度检测
【编写语言】: Microsoft Visual C++ | C/C++
【使用工具】: OD
【操作平台】: xp
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
软件无壳,对文件名与代码修改做了检测,对注册用户名长度有要求限制。相对来说是个练习不错的软件,分享给像我一样的菜鸟。

软件的错误提示都可以通过回朔的方式找到跳转点;或是下断 bp MessageBoxA

下面给出三个关键爆破点:

第一处:
00418346      3986 11050000 cmp dword ptr ds:,eax
//修改为
00418346      8986 11050000 mov dword ptr ds:,eax
直接把真码给 dword ptr ds:

第二处:
0040CE0F   /74 13         je short pro.0040CE24
//修改为
0040CE0F   /EB 13         jmp short pro.0040CE24
跳过文件名是否被修改检测

第三处:
0040CE71   /74 13         je short pro.0040CE86
//修改为
0040CE71   /EB 13         jmp short pro.0040CE86
跳过代码是否被修改检测

保存后直接OK。

追码方法:
0042B41D   .6A 0A         push 0A
0042B41F   .53            push ebx
0042B420   .50            push eax                                 ;假码
0042B421   .E8 2F680000   call pro.00431C55
0042B426   .8BF0          mov esi,eax
0042B428   .A1 D4014900   mov eax,dword ptr ds:
0042B42D   .83C4 0C       add esp,0C
0042B430   .897424 10   mov dword ptr ss:,esi
0042B434   .3898 CD040000 cmp byte ptr ds:,bl
0042B43A   .0F84 33010000 je pro.0042B573
0042B440   .3BF3          cmp esi,ebx                              ;用户名是否为空
0042B442   .BD C4604800   mov ebp,pro.004860C4                     ;user
0042B447   .74 59         je short pro.0042B4A2
0042B449   .FFB7 D5000000 push dword ptr ds:               ;用户名
0042B44F   .E8 BA090000   call pro.0042BE0E
0042B454   .3BF0          cmp esi,eax                              ;假码与真码16进制形式比较是否一样
//注意这里是假码与真码的16进制形式进行比较,但是直接改下面这个跳转是不行的,因为软件是要重启验证的。

0042B456   .59            pop ecx
0042B457   .75 0F         jnz short pro.0042B468
0042B459   .53            push ebx
0042B45A   .53            push ebx
0042B45B   .FF35 A46A4800 push dword ptr ds:               ;pro.0048BD6C
0042B461   .E8 8C550200   call pro.004509F2                        ;Thank you
0042B466   .EB 75         jmp short pro.0042B4DD
0042B468   >8BBF D5000000 mov edi,dword ptr ds:
0042B46E   .395F F8       cmp dword ptr ds:,ebx             ;是否为评估版 Evaluation
0042B471   .75 0A         jnz short pro.0042B47D
0042B473   .53            push ebx

下面给出算法CALL,同时对用户名长度进行了检测,没有能力写出注册机。
0042BE0E/$57            push edi                                 ;算法call
0042BE0F|.8B7C24 08   mov edi,dword ptr ss:
0042BE13|.85FF          test edi,edi
0042BE15|.74 09         je short pro.0042BE20
0042BE17|.57            push edi
0042BE18|.E8 935A0000   call pro.004318B0                        ;取用户名长度
0042BE1D|.59            pop ecx
0042BE1E|.EB 02         jmp short pro.0042BE22
0042BE20|>33C0          xor eax,eax
0042BE22|>83F8 05       cmp eax,5
0042BE25|.73 04         jnb short pro.0042BE2B                   ;用户名长度是否小于5
0042BE27|.33C0          xor eax,eax
0042BE29|.5F            pop edi
0042BE2A|.C3            retn
0042BE2B|>53            push ebx
0042BE2C|.56            push esi
0042BE2D|.BE A4E4FE5D   mov esi,5DFEE4A4
0042BE32|.33DB          xor ebx,ebx
0042BE34|>85FF          /test edi,edi
0042BE36|.74 09         |je short pro.0042BE41
0042BE38|.57            |push edi
0042BE39|.E8 725A0000   |call pro.004318B0
0042BE3E|.59            |pop ecx
0042BE3F|.EB 02         |jmp short pro.0042BE43
0042BE41|>33C0          |xor eax,eax
0042BE43|>83C0 FC       |add eax,-4                              ;再次比较用户名长度是否大于4
0042BE46|.3BD8          |cmp ebx,eax




--------------------------------------------------------------------------------
【经验总结】
通过回朔的方法找到弹窗提示注册不正确与注册正确信息,然后在调用算法CALL的每个位置上下断,找到关键跳转位置
00418346      3986 11050000 cmp dword ptr ds:,eax
0041834C   .59            pop ecx
0041834D      75 04         jnz short pro.00418353

这里面没有改最后一行跳转,而是把第一行中的 cmp 修改为 mov 直接得到了正确注册码的方法。

还有另两处自校验,通过回朔,直接跳过,文件名校验好理解,代码修改校验不清楚到底是校验的什么内容,以后会了,再
进一步分析。

--------------------------------------------------------------------------------
【版权声明】: 本文原创于看PYG论坛, 转载请注明作者并保持文章的完整, 谢谢!
                                                       2012年03月24日 16:00:52



GGLHY 发表于 2012-3-24 22:22:36

不错!
前排学习!

cfc1680 发表于 2012-3-31 12:09:23

感谢分享了,学习一下了
页: [1]
查看完整版本: Teleport Pro Version 1.29 追码、爆破、去自校验