飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 8002|回复: 19

[原创] 英汉翻译王2007破解

[复制链接]

该用户从未签到

发表于 2007-8-21 10:37:08 | 显示全部楼层 |阅读模式
【文章标题】: 英汉翻译王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,直至注册码出现。
  以下是该过程汇编代码,随便加了几点注释。
  1.   004875C8  /.  55            push    ebp
  2.   004875C9  |.  8BEC          mov     ebp, esp
  3.   004875CB  |.  B9 07000000   mov     ecx, 7
  4.   004875D0  |>  6A 00         /push    0
  5.   004875D2  |.  6A 00         |push    0
  6.   004875D4  |.  49            |dec     ecx
  7.   004875D5  |.^ 75 F9         \jnz     short 004875D0
  8.   004875D7  |.  56            push    esi
  9.   004875D8  |.  8BF0          mov     esi, eax
  10.   004875DA  |.  33C0          xor     eax, eax
  11.   004875DC  |.  55            push    ebp
  12.   004875DD  |.  68 BF774800   push    004877BF
  13.   004875E2  |.  64:FF30       push    dword ptr fs:[eax]
  14.   004875E5  |.  64:8920       mov     dword ptr fs:[eax], esp
  15.   004875E8  |.  8D55 F4       lea     edx, dword ptr [ebp-C]
  16.   004875EB  |.  8B86 00030000 mov     eax, dword ptr [esi+300]
  17.   004875F1  |.  E8 C634FCFF   call    0044AABC
  18.   004875F6  |.  8B45 F4       mov     eax, dword ptr [ebp-C]
  19.   004875F9  |.  8D55 F8       lea     edx, dword ptr [ebp-8]
  20.   004875FC  |.  E8 D30CF8FF   call    004082D4
  21.   00487601  |.  8B45 F8       mov     eax, dword ptr [ebp-8]
  22.   00487604  |.  50            push    eax
  23.   00487605  |.  8D45 E8       lea     eax, dword ptr [ebp-18]
  24.   00487608  |.  E8 7BF9FFFF   call    00486F88
  25.   0048760D  |.  8B45 E8       mov     eax, dword ptr [ebp-18]
  26.   00487610  |.  8D55 EC       lea     edx, dword ptr [ebp-14]
  27.   00487613  |.  E8 BC0CF8FF   call    004082D4
  28.   00487618  |.  8D45 EC       lea     eax, dword ptr [ebp-14]
  29.   0048761B  |.  50            push    eax
  30.   0048761C  |.  8D45 E0       lea     eax, dword ptr [ebp-20]
  31.   0048761F  |.  E8 B0F7FFFF   call    00486DD4
  32.   00487624  |.  8B45 E0       mov     eax, dword ptr [ebp-20]
  33.   00487627  |.  8D55 E4       lea     edx, dword ptr [ebp-1C]
  34.   0048762A  |.  E8 A50CF8FF   call    004082D4
  35.   0048762F  |.  8B55 E4       mov     edx, dword ptr [ebp-1C]
  36.   00487632  |.  58            pop     eax
  37.   00487633  |.  E8 18CDF7FF   call    00404350
  38.   00487638  |.  8B45 EC       mov     eax, dword ptr [ebp-14]
  39.   0048763B  |.  8D4D F0       lea     ecx, dword ptr [ebp-10]
  40.   0048763E  |.  BA D4774800   mov     edx, 004877D4                    ;  t674
  41.   00487643  |.  E8 50FAFFFF   call    00487098                         ;  是算法CALL
  42.   00487648  |.  8B55 F0       mov     edx, dword ptr [ebp-10]          ;  真的注册码放在EDX中,7207040570727078717171707173747905747905(我机器上的一串数字,每台机器可能不同)
  43.   0048764B  |.  58            pop     eax                              ;  假注册码放在EAX中,987987987
  44.   0048764C  |.  E8 43CEF7FF   call    00404494
  45.   00487651  |.  0F85 E2000000 jnz     00487739
  46.   00487657  |.  A1 D02B4900   mov     eax, dword ptr [492BD0]
  47.   0048765C  |.  8B00          mov     eax, dword ptr [eax]
  48.   0048765E  |.  8B80 44050000 mov     eax, dword ptr [eax+544]
  49.   00487664  |.  33D2          xor     edx, edx
  50.   00487666  |.  E8 D1AEFAFF   call    0043253C
  51.   0048766B  |.  8D55 D8       lea     edx, dword ptr [ebp-28]
  52.   0048766E  |.  8B86 00030000 mov     eax, dword ptr [esi+300]
  53.   00487674  |.  E8 4334FCFF   call    0044AABC
  54.   00487679  |.  8B45 D8       mov     eax, dword ptr [ebp-28]
  55.   0048767C  |.  8D55 DC       lea     edx, dword ptr [ebp-24]
  56.   0048767F  |.  E8 500CF8FF   call    004082D4
  57.   00487684  |.  8B55 DC       mov     edx, dword ptr [ebp-24]
  58.   00487687  |.  A1 D02B4900   mov     eax, dword ptr [492BD0]
  59.   0048768C  |.  8B00          mov     eax, dword ptr [eax]
  60.   0048768E  |.  8B80 48050000 mov     eax, dword ptr [eax+548]
  61.   00487694  |.  E8 5334FCFF   call    0044AAEC
  62.   00487699  |.  8D55 D0       lea     edx, dword ptr [ebp-30]
  63.   0048769C  |.  A1 042E4900   mov     eax, dword ptr [492E04]
  64.   004876A1  |.  8B00          mov     eax, dword ptr [eax]
  65.   004876A3  |.  E8 3039FEFF   call    0046AFD8
  66.   004876A8  |.  8B45 D0       mov     eax, dword ptr [ebp-30]
  67.   004876AB  |.  8D55 D4       lea     edx, dword ptr [ebp-2C]
  68.   004876AE  |.  E8 0515F8FF   call    00408BB8
  69.   004876B3  |.  8B45 D4       mov     eax, dword ptr [ebp-2C]
  70.   004876B6  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
  71.   004876B9  |.  E8 020AF8FF   call    004080C0
  72.   004876BE  |.  8D4D CC       lea     ecx, dword ptr [ebp-34]
  73.   004876C1  |.  33D2          xor     edx, edx
  74.   004876C3  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
  75.   004876C6  |.  E8 5914F8FF   call    00408B24
  76.   004876CB  |.  8B55 CC       mov     edx, dword ptr [ebp-34]
  77.   004876CE  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
  78.   004876D1  |.  E8 4ACAF7FF   call    00404120
  79.   004876D6  |.  A1 D02B4900   mov     eax, dword ptr [492BD0]
  80.   004876DB  |.  8B00          mov     eax, dword ptr [eax]
  81.   004876DD  |.  FFB0 64050000 push    dword ptr [eax+564]
  82.   004876E3  |.  68 E4774800   push    004877E4                         ;  \
  83.   004876E8  |.  FF75 FC       push    dword ptr [ebp-4]
  84.   004876EB  |.  68 F0774800   push    004877F0                         ;  .dll
  85.   004876F0  |.  8D45 C8       lea     eax, dword ptr [ebp-38]
  86.   004876F3  |.  BA 04000000   mov     edx, 4
  87.   004876F8  |.  E8 0BCDF7FF   call    00404408
  88.   004876FD  |.  8B55 C8       mov     edx, dword ptr [ebp-38]
  89.   00487700  |.  A1 D02B4900   mov     eax, dword ptr [492BD0]
  90.   00487705  |.  8B00          mov     eax, dword ptr [eax]
  91.   00487707  |.  8B80 48050000 mov     eax, dword ptr [eax+548]
  92.   0048770D  |.  8B80 20020000 mov     eax, dword ptr [eax+220]
  93.   00487713  |.  8B08          mov     ecx, dword ptr [eax]
  94.   00487715  |.  FF51 74       call    dword ptr [ecx+74]
  95.   00487718  |.  6A 40         push    40
  96.   0048771A  |.  B9 F8774800   mov     ecx, 004877F8                    ;  提示
  97.   0048771F  |.  BA 00784800   mov     edx, 00487800                    ;  恭喜您,注册成功!
  98.   00487724  |.  A1 042E4900   mov     eax, dword ptr [492E04]
  99.   00487729  |.  8B00          mov     eax, dword ptr [eax]
  100.   0048772B  |.  E8 2834FEFF   call    0046AB58
  101.   00487730  |.  8BC6          mov     eax, esi
  102.   00487732  |.  E8 45FBFDFF   call    0046727C
  103.   00487737  |.  EB 41         jmp     short 0048777A
  104.   00487739  |>  6A 10         push    10
  105.   0048773B  |.  B9 F8774800   mov     ecx, 004877F8                    ;  提示
  106.   00487740  |.  BA 14784800   mov     edx, 00487814                    ;  您好,注册码错误,注册失败!\n\n----------------------------------\n\n想获取正确注册码,请点[到网站注册]。
  107.   00487745  |.  A1 042E4900   mov     eax, dword ptr [492E04]
  108.   0048774A  |.  8B00          mov     eax, dword ptr [eax]
  109.   0048774C  |.  E8 0734FEFF   call    0046AB58
  110.   00487751  |.  33D2          xor     edx, edx
  111.   00487753  |.  8B86 00030000 mov     eax, dword ptr [esi+300]
  112.   00487759  |.  E8 8E33FCFF   call    0044AAEC
  113.   0048775E  |.  8B86 00030000 mov     eax, dword ptr [esi+300]
  114.   00487764  |.  8B10          mov     edx, dword ptr [eax]
  115.   00487766  |.  FF92 C4000000 call    dword ptr [edx+C4]
  116.   0048776C  |.  8B86 14030000 mov     eax, dword ptr [esi+314]
  117.   00487772  |.  8B10          mov     edx, dword ptr [eax]
  118.   00487774  |.  FF92 C4000000 call    dword ptr [edx+C4]
  119.   0048777A  |>  33C0          xor     eax, eax
  120.   0048777C  |.  5A            pop     edx
  121.   0048777D  |.  59            pop     ecx
  122.   0048777E  |.  59            pop     ecx
  123.   0048777F  |.  64:8910       mov     dword ptr fs:[eax], edx
  124.   00487782  |.  68 C6774800   push    004877C6
  125.   00487787  |>  8D45 C8       lea     eax, dword ptr [ebp-38]
  126.   0048778A  |.  BA 04000000   mov     edx, 4
  127.   0048778F  |.  E8 18C9F7FF   call    004040AC
  128.   00487794  |.  8D45 D8       lea     eax, dword ptr [ebp-28]
  129.   00487797  |.  E8 ECC8F7FF   call    00404088
  130.   0048779C  |.  8D45 DC       lea     eax, dword ptr [ebp-24]
  131.   0048779F  |.  BA 06000000   mov     edx, 6
  132.   004877A4  |.  E8 03C9F7FF   call    004040AC
  133.   004877A9  |.  8D45 F4       lea     eax, dword ptr [ebp-C]
  134.   004877AC  |.  E8 D7C8F7FF   call    00404088
  135.   004877B1  |.  8D45 F8       lea     eax, dword ptr [ebp-8]
  136.   004877B4  |.  BA 02000000   mov     edx, 2
  137.   004877B9  |.  E8 EEC8F7FF   call    004040AC
  138.   004877BE  \.  C3            retn
复制代码

  删除断点,将真注册码复制保存,重新启动软件,输入注册码,万事大吉!
  
  到此,基本结束,以下说一下用KEYMAKE做内存注册机
  
  中断地址:0048764B
  中断次数:1
  第一字节:58
  指令长度:1
  保存注册码寄存器方式:EDX
  
  收工喽!!!
  
--------------------------------------------------------------------------------
【经验总结】
  OllyDbg的寄存器窗口标志是可以任你改的,双击你要改变的标志寄存器就行!
  该软件一无壳,二为注册码保护,三用明码比较,绝对适合菜鸟入门练练手!!
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2007年08月21日 10:32:42

[ 本帖最后由 云飘飘 于 2007-8-21 15:54 编辑 ]

评分

参与人数 1威望 +8 收起 理由
tigerisme + 8 鼓励

查看全部评分

PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-21 11:15:54 | 显示全部楼层
【双击寄存器窗口“Z”标志旁边的“0”,数字变为“1”】
这里的Z是什么东西?如何理解
我试了一下,改了后保存是没有改变的
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-8-21 12:07:44 | 显示全部楼层
"Z"是零标志,只有在调试中有效!保存——————没有用。你可以 将“jnz     00487739”改为“jz     00487739”试试!
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-21 12:43:55 | 显示全部楼层
在OD中修改标志位Z的目的就是看下这个跳转后的效果 然后做出相应的推断和修改~

楼主的文章不错  推荐在文章中使用[code]代码 以使数据对齐。
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-21 12:45:30 | 显示全部楼层
原帖由 gongsui 于 2007-8-21 11:15 发表
【双击寄存器窗口“Z”标志旁边的“0”,数字变为“1”】
这里的Z是什么东西?如何理解
我试了一下,改了后保存是没有改变的


在OD中修改标志位Z的目的就是看下这个跳转后的效果 然后做出相应的推断和修改~

楼主的文章不错  推荐在文章中使用[code]代码 以使数据对齐。
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-21 13:00:32 | 显示全部楼层
感谢两位解答,又学习了
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-21 13:32:17 | 显示全部楼层
该软软件破后,有重启验证。望指点,我还是没入门的人呢!
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-8-21 14:29:07 | 显示全部楼层
都追出注册码了,还怕啥呢?/:018
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-8-21 14:35:23 | 显示全部楼层
[code]如何使用,请赐教!
文章在看雪上,很正常的!这里好像是不一样。
PYG19周年生日快乐!

该用户从未签到

发表于 2007-8-21 14:43:19 | 显示全部楼层
原帖由 云飘飘 于 2007-8-21 14:35 发表
如何使用,请赐教!
文章在看雪上,很正常的!这里好像是不一样。

编辑--插入代码
或者 [code]     [code] 后面这个code前加/

[ 本帖最后由 gongsui 于 2007-8-21 14:44 编辑 ]
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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