简单的TxtEdit 4.5.2注册算法

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2008-1-4 | 浏览: 人次 ]

【破文标题】简单的TxtEdit 4.5.2注册算法
【破文作者】XXNB
【作者邮箱】支持PYG
【作者主页】http://free.ys168.com/?binbinbin7456
【破解工具】OD
【破解平台】xpsp2
【软件名称】TxtEdit 4.5.2
【软件大小】924KB
【原版下载】http://www.onlinedown.net/soft/23539.htm
【保护方式】名+码
【软件简介】文本编辑器,有拼写检查功能! 
软件语言:英文
软件类别:国外软件/共享版/编辑软件
运行环境:Win9x/Me/NT/2000/XP/2003
加入时间:2006-11-20 9:22:12
下载次数:901
【破解声明】向大侠们学习!!!只为学习!
------------------------------------------------------------------------
【破解过程】
------------------------------------------------------------------------

1、用delphi的利器,dede。我们很容易就找到按钮的断点。“找到关键断点,成功一半”

我们输入信息:regname:binbin
              regNO:  123456789
经过我的分析后,输入的注册码要大于“10000000”。具体看下面的代码分析。


004E7080   $Content$nbsp; 55            push    ebp
004E7081   .  8BEC          mov     ebp, esp
004E7083   .  B9 04000000   mov     ecx, 4
004E7088   >  6A 00         push    0
004E708A   .  6A 00         push    0
004E708C   .  49            dec     ecx
004E708D   .^ 75 F9         jnz     short 004E7088
004E708F   .  51            push    ecx
004E7090   .  53            push    ebx
004E7091   .  56            push    esi
004E7092   .  57            push    edi
004E7093   .  8945 FC       mov     dword ptr [ebp-4], eax
004E7096   .  33C0          xor     eax, eax
004E7098   .  55            push    ebp
004E7099   .  68 A8724E00   push    004E72A8
004E709E   .  64:FF30       push    dword ptr fs:[eax]
004E70A1   .  64:8920       mov     dword ptr fs:[eax], esp
004E70A4   .  C745 F0 00000>mov     dword ptr [ebp-10], 0
004E70AB   .  C745 F4 00000>mov     dword ptr [ebp-C], 0
004E70B2   .  8D55 EC       lea     edx, dword ptr [ebp-14]
004E70B5   .  8B45 FC       mov     eax, dword ptr [ebp-4]
004E70B8   .  8B80 28030000 mov     eax, dword ptr [eax+328]
004E70BE   .  E8 DD80F8FF   call    0046F1A0
004E70C3   .  8B45 EC       mov     eax, dword ptr [ebp-14]          ;  用户名出现了 binbin
004E70C6   .  E8 69D7F1FF   call    00404834                         ;  计算位数
004E70CB   .  8BD8          mov     ebx, eax
004E70CD   .  4B            dec     ebx
004E70CE   .  85DB          test    ebx, ebx
004E70D0   .  7E 34         jle     short 004E7106
004E70D2   .  BE 01000000   mov     esi, 1
004E70D7   >  8D55 E8       lea     edx, dword ptr [ebp-18]
004E70DA   .  8B45 FC       mov     eax, dword ptr [ebp-4]
004E70DD   .  8B80 28030000 mov     eax, dword ptr [eax+328]
004E70E3   .  E8 B880F8FF   call    0046F1A0
004E70E8   .  8B45 E8       mov     eax, dword ptr [ebp-18]          ;  用户名
004E70EB   .  8A4430 FF     mov     al, byte ptr [eax+esi-1]         ;  逐个取用户名
004E70EF   .  25 FF000000   and     eax, 0FF                         ;  得到ascii码值
004E70F4   .  33D2          xor     edx, edx
004E70F6   .  0345 F0       add     eax, dword ptr [ebp-10]          ;  加上一次的结果
004E70F9   .  1355 F4       adc     edx, dword ptr [ebp-C]
004E70FC      8945 F0       mov     dword ptr [ebp-10], eax          ;  存储结果
004E70FF   .  8955 F4       mov     dword ptr [ebp-C], edx
004E7102   .  46            inc     esi
004E7103   .  4B            dec     ebx
004E7104   .^ 75 D1         jnz     short 004E70D7                   ;  累加用户名ascii码值,存储在ebp-10。注意了,要去掉最后

一位,就是说,最后一位不累加
004E7106   >  33C0          xor     eax, eax                         ;  204(516)去掉最后一位的累加值
004E7108   .  55            push    ebp
004E7109   .  68 7F714E00   push    004E717F
004E710E   .  64:FF30       push    dword ptr fs:[eax]
004E7111   .  64:8920       mov     dword ptr fs:[eax], esp
004E7114   .  8D55 E4       lea     edx, dword ptr [ebp-1C]
004E7117   .  8B45 FC       mov     eax, dword ptr [ebp-4]
004E711A   .  8B80 2C030000 mov     eax, dword ptr [eax+32C]
004E7120   .  E8 7B80F8FF   call    0046F1A0
004E7125   .  8B45 E4       mov     eax, dword ptr [ebp-1C]          ;  假码出现了,还有位数
004E7128   .  E8 2B25F2FF   call    00409658                         ;  哇,转成16进制
004E712D   .  0345 F0       add     eax, dword ptr [ebp-10]          ;  加上用户名的累加值
004E7130   .  1355 F4       adc     edx, dword ptr [ebp-C]
004E7133   .  8945 F0       mov     dword ptr [ebp-10], eax
004E7136   .  8955 F4       mov     dword ptr [ebp-C], edx
004E7139   .  837D F4 00    cmp     dword ptr [ebp-C], 0
004E713D   .  75 0B         jnz     short 004E714A
004E713F      817D F0 80969>cmp     dword ptr [ebp-10], 989680       ;  和“10000000”比较
004E7146   .  72 10         jb      short 004E7158                   ;  小于的话跳。跳就失败,所以一定要大于
004E7148   .  EB 02         jmp     short 004E714C
004E714A   >  7C 0C         jl      short 004E7158
004E714C   >  8B45 FC       mov     eax, dword ptr [ebp-4]
004E714F   .  83B8 3C030000>cmp     dword ptr [eax+33C], 5
004E7156   .  7E 1D         jle     short 004E7175
004E7158   >  8B0D 4CF94F00 mov     ecx, dword ptr [4FF94C]          ;  TxtEdit.005019BC
004E715E   .  8B89 78010000 mov     ecx, dword ptr [ecx+178]
004E7164   .  B2 01         mov     dl, 1

分类导航

广告位