Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网络安全 > 黑客技术 > 某电子书注册破解实录 算法分析
【标  题】:某电子书注册破解实录 算法分析
【关键字】:算法分析,破解
【来  源】:网络

某电子书注册破解实录 算法分析

Your Ad Here 保护方式:序列号! 一机一码。
破解作者: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弄的东西并不可怕,关键是看你如何去做。
    完工!
《我也爱背单词2002+》破解过程 算法分析:【上一篇】
英语会话精灵 V2.0 算法分析:【下一篇】
【相关文章】
  • 《我也爱背单词2002+》破解过程 算法分析
  • 文晟扫描5. 0 之破解经过 算法分析
  • “天音怒放”手动脱壳及破解 算法分析
  • 轻松试卷 V4.5版破解实录 算法分析
  • 梦幻屏保 V1.1 算法分析
  • 立体画梦工厂专业版-算法分析
  • 新狐传真群发2.0注册算法分析
  • 小小助手V2.01的破解过程
  • *出租销售系统 5.6--算法分析 上
  • 化学金牌3.0的破解算法分析
  • 【随机文章】
  • Unilan®U5EX免打线系列配线架
  • 设计模式学习笔记(十二)——Flyweight享元模式
  • 给年轻工程师的十大忠告
  • 联通扩容G网为哪般
  • How to use Model-View-Controller (MVC)
  • X系统背后的七条程序设计原则
  • 并非响应速度越快的液晶就越好
  • Java有太多的选择究竟是好事还是坏事?
  • ADO.net 中数据库连接方式(微软提供)
  • CB设置环境选项设置
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.