英汉翻译王2007破解
【文章标题】: 英汉翻译王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:
004875E5|.64:8920 mov dword ptr fs:, esp
004875E8|.8D55 F4 lea edx, dword ptr
004875EB|.8B86 00030000 mov eax, dword ptr
004875F1|.E8 C634FCFF call 0044AABC
004875F6|.8B45 F4 mov eax, dword ptr
004875F9|.8D55 F8 lea edx, dword ptr
004875FC|.E8 D30CF8FF call 004082D4
00487601|.8B45 F8 mov eax, dword ptr
00487604|.50 push eax
00487605|.8D45 E8 lea eax, dword ptr
00487608|.E8 7BF9FFFF call 00486F88
0048760D|.8B45 E8 mov eax, dword ptr
00487610|.8D55 EC lea edx, dword ptr
00487613|.E8 BC0CF8FF call 004082D4
00487618|.8D45 EC lea eax, dword ptr
0048761B|.50 push eax
0048761C|.8D45 E0 lea eax, dword ptr
0048761F|.E8 B0F7FFFF call 00486DD4
00487624|.8B45 E0 mov eax, dword ptr
00487627|.8D55 E4 lea edx, dword ptr
0048762A|.E8 A50CF8FF call 004082D4
0048762F|.8B55 E4 mov edx, dword ptr
00487632|.58 pop eax
00487633|.E8 18CDF7FF call 00404350
00487638|.8B45 EC mov eax, dword ptr
0048763B|.8D4D F0 lea ecx, dword ptr
0048763E|.BA D4774800 mov edx, 004877D4 ;t674
00487643|.E8 50FAFFFF call 00487098 ;是算法CALL
00487648|.8B55 F0 mov edx, dword ptr ;真的注册码放在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
0048765C|.8B00 mov eax, dword ptr
0048765E|.8B80 44050000 mov eax, dword ptr
00487664|.33D2 xor edx, edx
00487666|.E8 D1AEFAFF call 0043253C
0048766B|.8D55 D8 lea edx, dword ptr
0048766E|.8B86 00030000 mov eax, dword ptr
00487674|.E8 4334FCFF call 0044AABC
00487679|.8B45 D8 mov eax, dword ptr
0048767C|.8D55 DC lea edx, dword ptr
0048767F|.E8 500CF8FF call 004082D4
00487684|.8B55 DC mov edx, dword ptr
00487687|.A1 D02B4900 mov eax, dword ptr
0048768C|.8B00 mov eax, dword ptr
0048768E|.8B80 48050000 mov eax, dword ptr
00487694|.E8 5334FCFF call 0044AAEC
00487699|.8D55 D0 lea edx, dword ptr
0048769C|.A1 042E4900 mov eax, dword ptr
004876A1|.8B00 mov eax, dword ptr
004876A3|.E8 3039FEFF call 0046AFD8
004876A8|.8B45 D0 mov eax, dword ptr
004876AB|.8D55 D4 lea edx, dword ptr
004876AE|.E8 0515F8FF call 00408BB8
004876B3|.8B45 D4 mov eax, dword ptr
004876B6|.8D55 FC lea edx, dword ptr
004876B9|.E8 020AF8FF call 004080C0
004876BE|.8D4D CC lea ecx, dword ptr
004876C1|.33D2 xor edx, edx
004876C3|.8B45 FC mov eax, dword ptr
004876C6|.E8 5914F8FF call 00408B24
004876CB|.8B55 CC mov edx, dword ptr
004876CE|.8D45 FC lea eax, dword ptr
004876D1|.E8 4ACAF7FF call 00404120
004876D6|.A1 D02B4900 mov eax, dword ptr
004876DB|.8B00 mov eax, dword ptr
004876DD|.FFB0 64050000 push dword ptr
004876E3|.68 E4774800 push 004877E4 ;\
004876E8|.FF75 FC push dword ptr
004876EB|.68 F0774800 push 004877F0 ;.dll
004876F0|.8D45 C8 lea eax, dword ptr
004876F3|.BA 04000000 mov edx, 4
004876F8|.E8 0BCDF7FF call 00404408
004876FD|.8B55 C8 mov edx, dword ptr
00487700|.A1 D02B4900 mov eax, dword ptr
00487705|.8B00 mov eax, dword ptr
00487707|.8B80 48050000 mov eax, dword ptr
0048770D|.8B80 20020000 mov eax, dword ptr
00487713|.8B08 mov ecx, dword ptr
00487715|.FF51 74 call dword ptr
00487718|.6A 40 push 40
0048771A|.B9 F8774800 mov ecx, 004877F8 ;提示
0048771F|.BA 00784800 mov edx, 00487800 ;恭喜您,注册成功!
00487724|.A1 042E4900 mov eax, dword ptr
00487729|.8B00 mov eax, dword ptr
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
0048774A|.8B00 mov eax, dword ptr
0048774C|.E8 0734FEFF call 0046AB58
00487751|.33D2 xor edx, edx
00487753|.8B86 00030000 mov eax, dword ptr
00487759|.E8 8E33FCFF call 0044AAEC
0048775E|.8B86 00030000 mov eax, dword ptr
00487764|.8B10 mov edx, dword ptr
00487766|.FF92 C4000000 call dword ptr
0048776C|.8B86 14030000 mov eax, dword ptr
00487772|.8B10 mov edx, dword ptr
00487774|.FF92 C4000000 call dword ptr
0048777A|>33C0 xor eax, eax
0048777C|.5A pop edx
0048777D|.59 pop ecx
0048777E|.59 pop ecx
0048777F|.64:8910 mov dword ptr fs:, edx
00487782|.68 C6774800 push 004877C6
00487787|>8D45 C8 lea eax, dword ptr
0048778A|.BA 04000000 mov edx, 4
0048778F|.E8 18C9F7FF call 004040AC
00487794|.8D45 D8 lea eax, dword ptr
00487797|.E8 ECC8F7FF call 00404088
0048779C|.8D45 DC lea eax, dword ptr
0048779F|.BA 06000000 mov edx, 6
004877A4|.E8 03C9F7FF call 004040AC
004877A9|.8D45 F4 lea eax, dword ptr
004877AC|.E8 D7C8F7FF call 00404088
004877B1|.8D45 F8 lea eax, dword ptr
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 编辑 ] 【双击寄存器窗口“Z”标志旁边的“0”,数字变为“1”】
这里的Z是什么东西?如何理解
我试了一下,改了后保存是没有改变的 "Z"是零标志,只有在调试中有效!保存——————没有用。你可以 将“jnz 00487739”改为“jz 00487739”试试! 在OD中修改标志位Z的目的就是看下这个跳转后的效果 然后做出相应的推断和修改~
楼主的文章不错推荐在文章中使用代码 以使数据对齐。 原帖由 gongsui 于 2007-8-21 11:15 发表 https://www.chinapyg.com/images/common/back.gif
【双击寄存器窗口“Z”标志旁边的“0”,数字变为“1”】
这里的Z是什么东西?如何理解
我试了一下,改了后保存是没有改变的
在OD中修改标志位Z的目的就是看下这个跳转后的效果 然后做出相应的推断和修改~
楼主的文章不错推荐在文章中使用代码 以使数据对齐。 感谢两位解答,又学习了 该软软件破后,有重启验证。望指点,我还是没入门的人呢! 都追出注册码了,还怕啥呢?/:018 如何使用,请赐教!
文章在看雪上,很正常的!这里好像是不一样。 原帖由 云飘飘 于 2007-8-21 14:35 发表 https://www.chinapyg.com/images/common/back.gif
如何使用,请赐教!
文章在看雪上,很正常的!这里好像是不一样。
编辑--插入代码
或者 后面这个code前加/
[ 本帖最后由 gongsui 于 2007-8-21 14:44 编辑 ]
页:
[1]
2