老文章档案 · 2003 年

某电子书注册破解实录,高手莫入。 (6千字) 算法分析

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-08-10 · 作者:duhe 人气: · 出处:赢政天下整理收藏)

《新概念英语1-4册》(电子书)破解实录

时 间:2002-10-02

破解对象:《新概念英语1-4册》(电子书)

破解工具:Language、TRW2000、Keymake

破解原因:《新概念英语1-4册》是一本做得比较好的电子图书,免费注册免费使用。未注册版本有时间(5天)、次数(10次)和每册只能打开第一课功能上的限制。唯一让人感到不便的是它的注册方式:一机一码,注册时还必须到作者的论坛上留帖申请。作者高兴了或者在众多的留帖中发现了你的帖子,那么恭喜你喜获注册码。否则,你就耐心地等着吧!何时能够等到?那只有天知道了。既然是免费的,咱们破解它或者作个注册机什么的,我想作者应该不会有什么意见吧?大不了咱多去访问访问他的网站提升其访问率不就得了(其实作者的用意就在于此)!用Language侦测该书为Delphi编写的eBook工具制作、ASPack加壳。听说Delph这玩易编写的东西象VB那样不太好弄,所以咱知难而退,到“看雪论坛”发帖请大师出手,没成料想帖子还没贴上半天就不知叫谁给删了,唉,看来俺只得自力更生喽 :(

保护方式:序列号! 一机一码。

破解作者:duhe

破解经过:

1、运行TRW2000

2、运行《新概念英语1-4册》,马上就会出现注册画面。也可在该电子图书窗口上点击“注册”按钮进行注册。在注册窗口内填入:“123456789000”(随意);

3、下万能断点:bpx hmemcpy,按F5键返回注册画面,点击“确定”按钮,程序被TRW2000拦截下来;

4、用bd *暂停万能断点bpx hmemcpy ;

5、下命令pmodule,再按F12键10次(11次出错)和F10键一次,返回到《新概念英语1-4册》领空,程序停留在下面的地方:

:0047876C FF92F0000000 call dword ptr [edx+000000F0] <---关键的Calll

:00478772 8B1568E54700 mov edx, dword ptr [0047E568] <---程序停在这里

:00478778 8802 mov byte ptr [edx], al

:0047877A A168E54700 mov eax, dword ptr [0047E568]

:0047877F 803800 cmp byte ptr [eax], 00

:00478782 7519 jne 0047879D <---如果跳转,则可“试用”电子书

:00478784 6A00 push 00000000

:00478786 A130E94700 mov eax, dword ptr [0047E930]

:0047878B 8B00 mov eax, dword ptr [eax]

:0047878D 668B0D04884700 mov cx, word ptr [00478804]

:00478794 B201 mov dl, 01

:00478796 E8C958FDFF call 0044E064 <---call出出错窗口

:0047879B EB3E jmp 004787DB

6、从上面的程序段来看,如果在00478782 jne 0047879D 处跳转,则仅能试读电子书,而不能成功注册,所以据此估计关键的地方应该在其上方的0047876C call dword ptr [edx+000000F0]。

7、重新设置断点:bpx 0047876c ,程序在0047876C call dword ptr [edx+000000F0]处被拦截,下命令:s 30:0 l ffffffff '123456789000' ,在数据窗口可以看到我们随意输入的错误的注册码,如果按F10键执行这个call语句,再用上面的s命令就能发现在错误的注册码之后紧跟着的就是正确的注册码(注意:这是跟踪已经脱了壳的程序的结果,如果跟踪原程序的话,只能在006cf805处看到你的注册码;如果单步运行程序走过00478796 call 0044E064 弹出出错窗口后的话,那么你就是查遍内存也查找不到正确的注册码了,这就是为什么用WinHexs搜索不到真注册码的原因)!好了,咱们再重复第7步,在0047876C call dword ptr [edx+000000F0]处按F8键跟进去瞧瞧看个究竟。

8、按F10键n次,来到这里:

:004786CE 8B45F8 mov eax, dword ptr [ebp-08]

:004786D1 8B8BF8020000 mov ecx, dword ptr [ebx+000002F8]

:004786D7 5A pop edx

:004786D8 E81FF7FFFF call 00477DFC <--EAX指向我的机器码:2228845782;

ECX指向我随意输入的注册码:123456789000;

EDX指向字符串:1976110419740215

:004786DD 8BD8 mov ebx, eax

:004786DF 33C0 xor eax, eax

:004786E1 5A pop edx

:004786E2 59 pop ecx

:004786E3 59 pop ecx

看样子此处就是计算注册码的关键所在,在004786D8 call 00477DFC 处按F8键跟进去,

来到这里:

:00477DFC 55 push ebp <---程序停在此处

:00477DFD 8BEC mov ebp, esp

:00477DFF 81C4FCFEFFFF add esp, FFFFFEFC

:00477E05 53 push ebx

:00477E06 56 push esi

:00477E07 57 push edi

:00477E08 33DB xor ebx, ebx

:00477E0A 895DFC mov dword ptr [ebp-04], ebx

:00477E0D 8BF9 mov edi, ecx

:00477E0F 8BF2 mov esi, edx

:00477E11 8BD8 mov ebx, eax

:00477E13 33C0 xor eax, eax

:00477E15 55 push ebp

:00477E16 68637E4700 push 00477E63

:00477E1B 64FF30 push dword ptr fs:[eax]

:00477E1E 648920 mov dword ptr fs:[eax], esp

:00477E21 8D8DFCFEFFFF lea ecx, dword ptr [ebp+FFFFFEFC]

:00477E27 8BD7 mov edx, edi

:00477E29 8BC3 mov eax, ebx

:00477E2B E864FEFFFF call 00477C94 <--计算注册码的call

:00477E30 8D95FCFEFFFF lea edx, dword ptr [ebp+FFFFFEFC]

:00477E36 8D45FC lea eax, dword ptr [ebp-04]

:00477E39 E88ABFF8FF call 00403DC8

:00477E3E 8B45FC mov eax, dword ptr [ebp-04]

:00477E41 8BD6 mov edx, esi

:00477E43 E8ECC0F8FF call 00403F34

:00477E48 0F94C0 sete al

:00477E4B 8BD8 mov ebx, eax

:00477E4D 33C0 xor eax, eax

:00477E4F 5A pop edx

:00477E50 59 pop ecx

:00477E51 59 pop ecx

:00477E52 648910 mov dword ptr fs:[eax], edx

:00477E55 686A7E4700 push 00477E6A

9、在00477E2B call 00477C94 处按F8跟进去,按F10键n次,来到这里:

:00477DB6 8B55E0 mov edx, dword ptr [ebp-20]

:00477DB9 8BC7 mov eax, edi

:00477DBB B9FF000000 mov ecx, 000000FF

:00477DC0 E83BC0F8FF call 00403E00 <---EDX指向正确的注册码

:00477DC5 33C0 xor eax, eax

:00477DC7 5A pop edx

:00477DC8 59 pop ecx

:00477DC9 59 pop ecx

:00477DCA 648910 mov dword ptr fs:[eax], edx

:00477DCD 68F47D4700 push 00477DF4

10、关键的地方已经找到,该是做注册机的时候了!运行注册机编写器:Keymake.exe ,点击菜单“其他/内存注册机”,在窗口内输入:

中断地址:477DC0

中断次数:1次

第一字节:E8

指令长度:5

选“内存方式:寄存器->EDX ”

11、小结:我的机器码:2228845782,注册码:DRjpQRkcWgqh

成功注册后,会在注册表中创建如下键值:

HKEY_USERS\.DEFAULT\Software\eBook Edit Pro\Login\1C86BEB8\LoginUser: "2228845782"

HKEY_USERS\.DEFAULT\Software\eBook Edit Pro\Login\1C86BEB8\LoginPassword: "DRjpQRkcWgqh"

看样子,Delphi弄的东西并不可怕,关键是看你如何去做。

完工! (出处:赢政天下整理收藏)

相关文章:

·语音界面2.0算法分析及注册机源码!

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·ClockWise 3.22e注册码算法分析

·CoolClock V1.02注册算法分析

·Directory Scanner v1.5 注册算法分析

·Disk Chief 1.2 简单注册算法分析

·EffeTech HTTP Sniffer 3.2注册算法分析

·eLib2.01算法分析

·EZ MP3 Recorder 1.15 注册算法分析

相关软件:

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史