- UID
- 34376
注册时间2007-8-15
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
【文章标题】: 英汉翻译王2007破解
【文章作者】: 梦湾(云飘飘)
【作者邮箱】: *
【作者主页】: *
【作者QQ号】: *
【软件名称】: 英汉翻译王2007
【软件大小】: 1025KB
【下载地址】: http://86516.onlinedown.net/soft/50649.htm
【加壳方式】: 无壳
【保护方式】: 注册码
【编写语言】: Delphi
【使用工具】: OllyICE
【操作平台】: win2k
【软件介绍】: 一款快速高效的英汉翻译软件,需要上网实现在线翻译
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
软件安装后,用PEID查壳,显示“Borland Delphi 6.0 - 7.0”。呵呵,无壳,适合初级菜鸟们练手!
先运行软件,试一试。在点“帮助”->“注册”后,出现“软件注册”对话框。随便输入一串数字,点“注册”,出现错误提示“您好,注册码错误,注册失败!想获取正确注册码,请点[到网站注册]。”
哈哈,软件作者比较友善,居然有错误提示。
那好,用OD载入,在汇编窗口点击右键,选择“Ultra String Regerence”->“FIND ASCII”,在超级字串窗口找到“00487740 |. BA 14784800 mov edx, 00487814 ; 您好,注册码错误,注册失败!\n\n----------------------------------\n\n想获取正确注册码,请点[到网站注册]。”
双击该行,来到这里:
00487740 |. BA 14784800 mov edx, 00487814 ; 您好,注册码错误,注册失败!\n\n----------------------------------\n\n想获取正确注册码,请点[到网站注册]。
向上面找,有:
00487737 |. /EB 41 jmp short 0048777A ; 注册完成,继续处理!!
00487739 |> |6A 10 push 10 ; 跳转来自 00487651
我们找到00487651行
00487651 |. /0F85 E2000000 jnz 00487739 ; 关键跳转;注册不成功,跳走;否则,继续
哈哈,在这里下断,按F9,程序运行,在软件界面上点“帮助”->“注册”后,出现“软件注册”对话框。随便试验码“987987987”,点“注册”,成功断下!
双击寄存器窗口“Z”标志旁边的“0”,数字变为“1”,再按F9,“软件注册”对话框中显示提示“恭喜您,注册成功!”如此看来,软件可以在这里爆破!
将“jnz 00487739”改为“jz 00487739”,估计就成功了。清除该行的断点,开始找注册码喽!
在上面提到的子过程首部(即004875C8)下断,然后一路按F8,直至注册码出现。
以下是该过程汇编代码,随便加了几点注释。
- 004875C8 /. 55 push ebp
- 004875C9 |. 8BEC mov ebp, esp
- 004875CB |. B9 07000000 mov ecx, 7
- 004875D0 |> 6A 00 /push 0
- 004875D2 |. 6A 00 |push 0
- 004875D4 |. 49 |dec ecx
- 004875D5 |.^ 75 F9 \jnz short 004875D0
- 004875D7 |. 56 push esi
- 004875D8 |. 8BF0 mov esi, eax
- 004875DA |. 33C0 xor eax, eax
- 004875DC |. 55 push ebp
- 004875DD |. 68 BF774800 push 004877BF
- 004875E2 |. 64:FF30 push dword ptr fs:[eax]
- 004875E5 |. 64:8920 mov dword ptr fs:[eax], esp
- 004875E8 |. 8D55 F4 lea edx, dword ptr [ebp-C]
- 004875EB |. 8B86 00030000 mov eax, dword ptr [esi+300]
- 004875F1 |. E8 C634FCFF call 0044AABC
- 004875F6 |. 8B45 F4 mov eax, dword ptr [ebp-C]
- 004875F9 |. 8D55 F8 lea edx, dword ptr [ebp-8]
- 004875FC |. E8 D30CF8FF call 004082D4
- 00487601 |. 8B45 F8 mov eax, dword ptr [ebp-8]
- 00487604 |. 50 push eax
- 00487605 |. 8D45 E8 lea eax, dword ptr [ebp-18]
- 00487608 |. E8 7BF9FFFF call 00486F88
- 0048760D |. 8B45 E8 mov eax, dword ptr [ebp-18]
- 00487610 |. 8D55 EC lea edx, dword ptr [ebp-14]
- 00487613 |. E8 BC0CF8FF call 004082D4
- 00487618 |. 8D45 EC lea eax, dword ptr [ebp-14]
- 0048761B |. 50 push eax
- 0048761C |. 8D45 E0 lea eax, dword ptr [ebp-20]
- 0048761F |. E8 B0F7FFFF call 00486DD4
- 00487624 |. 8B45 E0 mov eax, dword ptr [ebp-20]
- 00487627 |. 8D55 E4 lea edx, dword ptr [ebp-1C]
- 0048762A |. E8 A50CF8FF call 004082D4
- 0048762F |. 8B55 E4 mov edx, dword ptr [ebp-1C]
- 00487632 |. 58 pop eax
- 00487633 |. E8 18CDF7FF call 00404350
- 00487638 |. 8B45 EC mov eax, dword ptr [ebp-14]
- 0048763B |. 8D4D F0 lea ecx, dword ptr [ebp-10]
- 0048763E |. BA D4774800 mov edx, 004877D4 ; t674
- 00487643 |. E8 50FAFFFF call 00487098 ; 是算法CALL
- 00487648 |. 8B55 F0 mov edx, dword ptr [ebp-10] ; 真的注册码放在EDX中,7207040570727078717171707173747905747905(我机器上的一串数字,每台机器可能不同)
- 0048764B |. 58 pop eax ; 假注册码放在EAX中,987987987
- 0048764C |. E8 43CEF7FF call 00404494
- 00487651 |. 0F85 E2000000 jnz 00487739
- 00487657 |. A1 D02B4900 mov eax, dword ptr [492BD0]
- 0048765C |. 8B00 mov eax, dword ptr [eax]
- 0048765E |. 8B80 44050000 mov eax, dword ptr [eax+544]
- 00487664 |. 33D2 xor edx, edx
- 00487666 |. E8 D1AEFAFF call 0043253C
- 0048766B |. 8D55 D8 lea edx, dword ptr [ebp-28]
- 0048766E |. 8B86 00030000 mov eax, dword ptr [esi+300]
- 00487674 |. E8 4334FCFF call 0044AABC
- 00487679 |. 8B45 D8 mov eax, dword ptr [ebp-28]
- 0048767C |. 8D55 DC lea edx, dword ptr [ebp-24]
- 0048767F |. E8 500CF8FF call 004082D4
- 00487684 |. 8B55 DC mov edx, dword ptr [ebp-24]
- 00487687 |. A1 D02B4900 mov eax, dword ptr [492BD0]
- 0048768C |. 8B00 mov eax, dword ptr [eax]
- 0048768E |. 8B80 48050000 mov eax, dword ptr [eax+548]
- 00487694 |. E8 5334FCFF call 0044AAEC
- 00487699 |. 8D55 D0 lea edx, dword ptr [ebp-30]
- 0048769C |. A1 042E4900 mov eax, dword ptr [492E04]
- 004876A1 |. 8B00 mov eax, dword ptr [eax]
- 004876A3 |. E8 3039FEFF call 0046AFD8
- 004876A8 |. 8B45 D0 mov eax, dword ptr [ebp-30]
- 004876AB |. 8D55 D4 lea edx, dword ptr [ebp-2C]
- 004876AE |. E8 0515F8FF call 00408BB8
- 004876B3 |. 8B45 D4 mov eax, dword ptr [ebp-2C]
- 004876B6 |. 8D55 FC lea edx, dword ptr [ebp-4]
- 004876B9 |. E8 020AF8FF call 004080C0
- 004876BE |. 8D4D CC lea ecx, dword ptr [ebp-34]
- 004876C1 |. 33D2 xor edx, edx
- 004876C3 |. 8B45 FC mov eax, dword ptr [ebp-4]
- 004876C6 |. E8 5914F8FF call 00408B24
- 004876CB |. 8B55 CC mov edx, dword ptr [ebp-34]
- 004876CE |. 8D45 FC lea eax, dword ptr [ebp-4]
- 004876D1 |. E8 4ACAF7FF call 00404120
- 004876D6 |. A1 D02B4900 mov eax, dword ptr [492BD0]
- 004876DB |. 8B00 mov eax, dword ptr [eax]
- 004876DD |. FFB0 64050000 push dword ptr [eax+564]
- 004876E3 |. 68 E4774800 push 004877E4 ; \
- 004876E8 |. FF75 FC push dword ptr [ebp-4]
- 004876EB |. 68 F0774800 push 004877F0 ; .dll
- 004876F0 |. 8D45 C8 lea eax, dword ptr [ebp-38]
- 004876F3 |. BA 04000000 mov edx, 4
- 004876F8 |. E8 0BCDF7FF call 00404408
- 004876FD |. 8B55 C8 mov edx, dword ptr [ebp-38]
- 00487700 |. A1 D02B4900 mov eax, dword ptr [492BD0]
- 00487705 |. 8B00 mov eax, dword ptr [eax]
- 00487707 |. 8B80 48050000 mov eax, dword ptr [eax+548]
- 0048770D |. 8B80 20020000 mov eax, dword ptr [eax+220]
- 00487713 |. 8B08 mov ecx, dword ptr [eax]
- 00487715 |. FF51 74 call dword ptr [ecx+74]
- 00487718 |. 6A 40 push 40
- 0048771A |. B9 F8774800 mov ecx, 004877F8 ; 提示
- 0048771F |. BA 00784800 mov edx, 00487800 ; 恭喜您,注册成功!
- 00487724 |. A1 042E4900 mov eax, dword ptr [492E04]
- 00487729 |. 8B00 mov eax, dword ptr [eax]
- 0048772B |. E8 2834FEFF call 0046AB58
- 00487730 |. 8BC6 mov eax, esi
- 00487732 |. E8 45FBFDFF call 0046727C
- 00487737 |. EB 41 jmp short 0048777A
- 00487739 |> 6A 10 push 10
- 0048773B |. B9 F8774800 mov ecx, 004877F8 ; 提示
- 00487740 |. BA 14784800 mov edx, 00487814 ; 您好,注册码错误,注册失败!\n\n----------------------------------\n\n想获取正确注册码,请点[到网站注册]。
- 00487745 |. A1 042E4900 mov eax, dword ptr [492E04]
- 0048774A |. 8B00 mov eax, dword ptr [eax]
- 0048774C |. E8 0734FEFF call 0046AB58
- 00487751 |. 33D2 xor edx, edx
- 00487753 |. 8B86 00030000 mov eax, dword ptr [esi+300]
- 00487759 |. E8 8E33FCFF call 0044AAEC
- 0048775E |. 8B86 00030000 mov eax, dword ptr [esi+300]
- 00487764 |. 8B10 mov edx, dword ptr [eax]
- 00487766 |. FF92 C4000000 call dword ptr [edx+C4]
- 0048776C |. 8B86 14030000 mov eax, dword ptr [esi+314]
- 00487772 |. 8B10 mov edx, dword ptr [eax]
- 00487774 |. FF92 C4000000 call dword ptr [edx+C4]
- 0048777A |> 33C0 xor eax, eax
- 0048777C |. 5A pop edx
- 0048777D |. 59 pop ecx
- 0048777E |. 59 pop ecx
- 0048777F |. 64:8910 mov dword ptr fs:[eax], edx
- 00487782 |. 68 C6774800 push 004877C6
- 00487787 |> 8D45 C8 lea eax, dword ptr [ebp-38]
- 0048778A |. BA 04000000 mov edx, 4
- 0048778F |. E8 18C9F7FF call 004040AC
- 00487794 |. 8D45 D8 lea eax, dword ptr [ebp-28]
- 00487797 |. E8 ECC8F7FF call 00404088
- 0048779C |. 8D45 DC lea eax, dword ptr [ebp-24]
- 0048779F |. BA 06000000 mov edx, 6
- 004877A4 |. E8 03C9F7FF call 004040AC
- 004877A9 |. 8D45 F4 lea eax, dword ptr [ebp-C]
- 004877AC |. E8 D7C8F7FF call 00404088
- 004877B1 |. 8D45 F8 lea eax, dword ptr [ebp-8]
- 004877B4 |. BA 02000000 mov edx, 2
- 004877B9 |. E8 EEC8F7FF call 004040AC
- 004877BE \. C3 retn
复制代码
删除断点,将真注册码复制保存,重新启动软件,输入注册码,万事大吉!
到此,基本结束,以下说一下用KEYMAKE做内存注册机:
中断地址:0048764B
中断次数:1
第一字节:58
指令长度:1
保存注册码寄存器方式:EDX
收工喽!!!
--------------------------------------------------------------------------------
【经验总结】
OllyDbg的寄存器窗口标志是可以任你改的,双击你要改变的标志寄存器就行!
该软件一无壳,二为注册码保护,三用明码比较,绝对适合菜鸟入门练练手!!
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2007年08月21日 10:32:42
[ 本帖最后由 云飘飘 于 2007-8-21 15:54 编辑 ] |
评分
-
查看全部评分
|