【破文作者】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
