飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 49114|回复: 12

[其它] 回复:第一章基础部分-基础补完-名片王的下断问题

[复制链接]

该用户从未签到

发表于 2007-5-6 16:52:06 | 显示全部楼层 |阅读模式
由于本次数据恢复,少量数据(我们最后一次备份数据之后)的部分无法还原。我本版见到有会员提问这个问题,来解答一下:

8186名片王 2.1
http://www.onlinedown.net/soft/30233.htm

我猜想这篇文章,lovewxt兄弟的意思是让大家先体验一下自己亲自破解程序的乐趣。
至于该软件的破解原理,不是本文的重点。主要目的在于我们完成亲自来保存我们破解后的文件。

给大家点提示,我们注册的时候软件有一个“第几次输入注册码”,我们可以输入三次。

至于该软件的详细原理如果有时间的话我补充一下。

我们OD载入程序后,右键 搜索ASCII字符串,可以找到注册部分的关键字符“第 次注册

004C601F  \.  C3            retn
004C6020   $  55            push    ebp       // 我们在retn的下一行,即注册部分的起点来下断点
004C6021   .  8BEC          mov     ebp, esp
004C6023   .  6A 00         push    0
004C6025   .  6A 00         push    0
004C6027   .  6A 00         push    0
004C6029   .  6A 00         push    0
004C602B   .  6A 00         push    0
004C602D   .  53            push    ebx
004C602E   .  56            push    esi
004C602F   .  57            push    edi
004C6030   .  8BF9          mov     edi, ecx
004C6032   .  8BF2          mov     esi, edx
004C6034   .  8BD8          mov     ebx, eax
004C6036   .  33C0          xor     eax, eax
004C6038   .  55            push    ebp
004C6039   .  68 E0614C00   push    004C61E0
004C603E   .  64:FF30       push    dword ptr fs:[eax]
004C6041   .  64:8920       mov     fs:[eax], esp
004C6044   .  33D2          xor     edx, edx
004C6046   .  55            push    ebp
004C6047   .  68 B1614C00   push    004C61B1
004C604C   .  64:FF32       push    dword ptr fs:[edx]
004C604F   .  64:8922       mov     fs:[edx], esp
004C6052   .  8BC3          mov     eax, ebx
004C6054   .  E8 97FFFFFF   call    004C5FF0
004C6059   .  84C0          test    al, al
004C605B   .  0F85 44010000 jnz     004C61A5                         ;  这里跳走就注册成功了 不跳走显示第几次注册
004C6061   .  33D2          xor     edx, edx
004C6063   .  55            push    ebp
004C6064   .  68 9A614C00   push    004C619A
004C6069   .  64:FF32       push    dword ptr fs:[edx]
004C606C   .  64:8922       mov     fs:[edx], esp
004C606F   .  C607 00       mov     byte ptr [edi], 0
004C6072   .  8B0D A0E34C00 mov     ecx, [4CE3A0]                    ;  pCard.004CFC34
004C6078   .  8B09          mov     ecx, [ecx]
004C607A   .  B2 01         mov     dl, 1
004C607C   .  A1 84584C00   mov     eax, [4C5884]
004C6081   .  E8 468DF9FF   call    0045EDCC
004C6086   .  8945 FC       mov     [ebp-4], eax
004C6089   .  68 F8614C00   push    004C61F8                         ;  第
004C608E   .  8D55 F0       lea     edx, [ebp-10]
004C6091   .  8BC6          mov     eax, esi
004C6093   .  E8 F42AF4FF   call    00408B8C
004C6098   .  FF75 F0       push    dword ptr [ebp-10]
004C609B   .  68 04624C00   push    004C6204                         ;   次输入
004C60A0   .  8D45 F4       lea     eax, [ebp-C]
004C60A3   .  BA 03000000   mov     edx, 3
004C60A8   .  E8 3BE7F3FF   call    004047E8
004C60AD   .  8B55 F4       mov     edx, [ebp-C]
004C60B0   .  8B45 FC       mov     eax, [ebp-4]
004C60B3   .  8B80 04030000 mov     eax, [eax+304]
004C60B9   .  E8 D2F0F7FF   call    00445190
004C60BE   .  4E            dec     esi
004C60BF   .  7E 20         jle     short 004C60E1
004C60C1   .  8B45 FC       mov     eax, [ebp-4]
004C60C4   .  8B80 FC020000 mov     eax, [eax+2FC]
004C60CA   .  33D2          xor     edx, edx
004C60CC   .  E8 BFF0F7FF   call    00445190
004C60D1   .  8B45 FC       mov     eax, [ebp-4]
004C60D4   .  8B80 08030000 mov     eax, [eax+308]
004C60DA   .  B2 01         mov     dl, 1
004C60DC   .  E8 9FEFF7FF   call    00445080
004C60E1   >  8B53 04       mov     edx, [ebx+4]
004C60E4   .  8B45 FC       mov     eax, [ebp-4]
004C60E7   .  8B80 1C030000 mov     eax, [eax+31C]
004C60ED   .  E8 9EF0F7FF   call    00445190
004C60F2   .  8B45 FC       mov     eax, [ebp-4]
004C60F5   .  8B10          mov     edx, [eax]
004C60F7   .  FF92 E8000000 call    [edx+E8]
004C60FD   .  8B45 FC       mov     eax, [ebp-4]
004C6100   .  83B8 24030000>cmp     dword ptr [eax+324], 0
004C6107   .  75 17         jnz     short 004C6120
004C6109   .  C607 01       mov     byte ptr [edi], 1
004C610C   .  33DB          xor     ebx, ebx
004C610E   .  E8 69DEF3FF   call    00403F7C
004C6113   .  33C0          xor     eax, eax
004C6115   .  5A            pop     edx
004C6116   .  59            pop     ecx
004C6117   .  59            pop     ecx
004C6118   .  64:8910       mov     fs:[eax], edx
004C611B   .  E9 9D000000   jmp     004C61BD

使用的原理呢就是:通过修改跳转使程序执行注册成功后的代码来达到使用注册后的功能。如果有问题欢迎大家开帖讨论。
PYG19周年生日快乐!

该用户从未签到

发表于 2007-5-9 09:29:53 | 显示全部楼层
那怎么知道是这一行的呢?
004C605B   .  0F85 44010000 jnz     004C61A5                         ;  这里跳走就注册成功了 不跳走显示第几次注册

是不是搜索到之后往上找第一个跳转???
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-5-9 10:30:47 | 显示全部楼层
程序之所以执行这些代码,就是因为验证失败导致,我们来一个无论成败都让他执行注册成功的代码就可以到达了暴破目的. 这一部分如果还有疑惑可以先跳过看下一章节,当以后接触多了,这里自然就明白了~


004C6054   .  E8 97FFFFFF   call    004C5FF0    // 关键CALL
004C6059   .  84C0          test    al, al             //关键CALL返回的标志位
004C605B   .  0F85 44010000 jnz     004C61A5     //关键跳转
004C6061   .  33D2          xor     edx, edx
004C6063   .  55            push    ebp
004C6064   .  68 9A614C00   push    004C619A
004C6069   .  64:FF32       push    dword ptr fs:[edx]
004C606C   .  64:8922       mov     fs:[edx], esp
004C606F   .  C607 00       mov     byte ptr [edi], 0
004C6072   .  8B0D A0E34C00 mov     ecx, [4CE3A0]                    ;  pCard.004CFC34
004C6078   .  8B09          mov     ecx, [ecx]
004C607A   .  B2 01         mov     dl, 1
004C607C   .  A1 84584C00   mov     eax, [4C5884]
004C6081   .  E8 468DF9FF   call    0045EDCC
004C6086   .  8945 FC       mov     [ebp-4], eax
004C6089   .  68 F8614C00   push    004C61F8                         ;  第
004C608E   .  8D55 F0       lea     edx, [ebp-10]
004C6091   .  8BC6          mov     eax, esi
004C6093   .  E8 F42AF4FF   call    00408B8C
004C6098   .  FF75 F0       push    dword ptr [ebp-10]
004C609B   .  68 04624C00   push    004C6204                         ;   次输入
PYG19周年生日快乐!

该用户从未签到

发表于 2007-5-9 10:49:00 | 显示全部楼层
我们OD载入程序后,右键 搜索ASCII字符串,可以找到注册部分的关键字符“第 次注册”


这个我用野猪的dbg也没有 -.-
不过有右键---超级字符串参考+(U)---查找ASCII   然后滚动条在最下面的时候按一下pageup可以看到
双击一下 “第” ~~可以看到跟你一样的代码
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-5-9 20:05:14 | 显示全部楼层
野猪OD2.0 大家在使用时一定要看下对这个软件(OD修改后的说明),否则可能会出现一些以外.
建议新手使用a_p兄弟修改的ICY~ 这个更安全些. 野猪OD2.0调试强壳更合适.
PYG19周年生日快乐!

该用户从未签到

发表于 2007-5-26 16:21:27 | 显示全部楼层
下载来对照着学习。
PYG19周年生日快乐!

该用户从未签到

发表于 2007-10-27 09:25:16 | 显示全部楼层
谢谢, 我想来想去真是不知道怎么找到那个地址的, 幸好坛主作了补充
PYG19周年生日快乐!

该用户从未签到

发表于 2007-12-21 09:39:35 | 显示全部楼层
努力学习中。破解我还是菜鸟啊。
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-23 17:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-1-26 19:54:42 | 显示全部楼层
    努力学习中。破解我还是菜鸟啊。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-5 21:13:43 | 显示全部楼层
    看懂了,谢谢楼主
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表