- UID
- 1542
注册时间2005-5-10
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 擦汗 2017-9-28 11:05 |
---|
签到天数: 3 天 [LV.2]偶尔看看I
|
发表于 2005-11-24 19:13:22
|
显示全部楼层
- 五笔训练 V4.0 破解分析
- 破解作者: 风球
- 破解工具: OD ,PEID
- 软件下载: [url=http://www.skycn.com/soft/14623.html]http://www.skycn.com/soft/14623.html[/url]
- 软件大小: 3928 KB
- 软件语言: 简体中文
- 软件类别: 国产软件 / 共享版 / 电脑学习
- 应用平台: Win9x/NT/2000/XP
- 加入时间: 2005-11-04 09:31:13
- 软件介绍: 本软件是作者根据自已多年的五笔教学经验开发而成,主要功能包括86版五笔训练、98版五笔训练、键盘知识、指法练习、编码查询、五笔字典、五笔教程、英文打字练习和中文文章输入练习等,每一种练习都有输入速度显示,可以很直观地知道自已的练习成绩。软件设计以按扭为主,操作简便、快捷,功能稳定。软件界面美观大方。是一款学习五笔输入法和英文录入不可多得的软件。
- ==============================================
- 破解过程:
- PEID查壳为Microsoft Visual C++ 6.0 无壳
- OD载入分析根据相关字符串分析得到,注册码是放在C:\Program Files\tqx\wbxl\myregcode.txt下的,打开myregcode.txt看到软件作者已给我们写入了假码999999。难怪安装此软件时叫我们不要更改安装路径,这就是原因所在。
- 004441F9 6A 00 push 0 //下断此处,点注册中断,往下单步
- 004441FB 0FAFD1 imul edx,ecx
- 004441FE 8BC8 mov ecx,eax
- 00444200 68 E0374700 push Wbxl.004737E0 ; ASCII "C:\Program Files\tqx\wbxl\myregcode.txt"
- 00444205 0FAFC8 imul ecx,eax
- 00444208 C78424 CC000000>mov dword ptr ss:[esp+CC],0
- 00444213 8D940A B168DE3A lea edx,dword ptr ds:[edx+ecx+3ADE>
- 0044421A 8D4C24 28 lea ecx,dword ptr ss:[esp+28]
- 0044421E 899424 B8000000 mov dword ptr ss:[esp+B8],edx
- 00444225 E8 96AF0100 call <jmp.&MFC42.#353>
- 0044422A 68 183E4700 push Wbxl.00473E18
- 0044422F 8D4C24 1C lea ecx,dword ptr ss:[esp+1C]
- 00444233 C68424 C8000000>mov byte ptr ss:[esp+C8],1
- 0044423B E8 6EAF0100 call <jmp.&MFC42.#537>
- 00444240 8D4424 0E lea eax,dword ptr ss:[esp+E]
- 00444244 6A 01 push 1
- 00444246 50 push eax
- 00444247 8D4C24 28 lea ecx,dword ptr ss:[esp+28]
- 0044424B C68424 CC000000>mov byte ptr ss:[esp+CC],2
- 00444253 E8 5CAF0100 call <jmp.&MFC42.#5442>
- 00444258 85C0 test eax,eax
- 0044425A 74 4B je short Wbxl.004442A7
- 0044425C B3 03 mov bl,3
- 0044425E 8D4C24 0E lea ecx,dword ptr ss:[esp+E] ; //
- 00444262 C64404 0E 00 mov byte ptr ss:[esp+eax+E],0
- 00444267 51 push ecx
- 00444268 8D4C24 18 lea ecx,dword ptr ss:[esp+18]
- 0044426C E8 3DAF0100 call <jmp.&MFC42.#537>
- 00444271 50 push eax
- 00444272 8D4C24 1C lea ecx,dword ptr ss:[esp+1C]
- 00444276 889C24 C8000000 mov byte ptr ss:[esp+C8],bl
- 0044427D E8 26AF0100 call <jmp.&MFC42.#939>
- 00444282 8D4C24 14 lea ecx,dword ptr ss:[esp+14]
- 00444286 C68424 C4000000>mov byte ptr ss:[esp+C4],2
- 0044428E E8 19AE0100 call <jmp.&MFC42.#800>
- 00444293 8D5424 0E lea edx,dword ptr ss:[esp+E]
- 00444297 6A 01 push 1
- 00444299 52 push edx
- 0044429A 8D4C24 28 lea ecx,dword ptr ss:[esp+28]
- 0044429E E8 11AF0100 call <jmp.&MFC42.#5442>
- 004442A3 85C0 test eax,eax
- 004442A5 ^ 75 B7 jnz short Wbxl.0044425E ; 上面这段循环取假码
- 004442A7 8D4C24 20 lea ecx,dword ptr ss:[esp+20]
- 004442AB E8 F2AE0100 call <jmp.&MFC42.#1979>
- 004442B0 8B4C24 18 mov ecx,dword ptr ss:[esp+18] ; 假码“999999”
- 004442B4 8B86 E0000000 mov eax,dword ptr ds:[esi+E0] ; 真码“1162953722”
- 004442BA 8B3D 38734600 mov edi,dword ptr ds:[<&MSVCRT._mb>; msvcrt._mbscmp
- 004442C0 51 push ecx
- 004442C1 50 push eax
- 004442C2 33DB xor ebx,ebx
- 004442C4 FFD7 call edi ; 比较CALL,寄存器真假码比较
- 004442C6 83C4 08 add esp,8
- 004442C9 85C0 test eax,eax
- 004442CB 75 16 jnz short Wbxl.004442E3
- 004442CD 68 F43A4700 push Wbxl.00473AF4 ; 已注册,谢谢
- 004442D2 8D8C24 BC000000 lea ecx,dword ptr ss:[esp+BC]
- 004442D9 E8 E0AD0100 call <jmp.&MFC42.#860>
- 004442DE BB 01000000 mov ebx,1
- 004442E3 8B5424 18 mov edx,dword ptr ss:[esp+18]
- 004442E7 8B86 E0000000 mov eax,dword ptr ds:[esi+E0]
- 004442ED 52 push edx
- 004442EE 50 push eax
- 004442EF FFD7 call edi
- 004442F1 83C4 08 add esp,8
- 004442F4 85C0 test eax,eax
- 004442F6 74 11 je short Wbxl.00444309
- 004442F8 68 D43A4700 push Wbxl.00473AD4
- 004442FD 8D8C24 BC000000 lea ecx,dword ptr ss:[esp+BC]
- 00444304 E8 B5AD0100 call <jmp.&MFC42.#860>
- 00444309 8D4C24 40 lea ecx,dword ptr ss:[esp+40]
- 0044430D E8 9EAC0100 call <jmp.&MFC42.#2514> ; 注册对话框出现
- 00444312 83F8 01 cmp eax,1
- 00444315 0F85 A4010000 jnz Wbxl.004444BF
- 0044431B 50 push eax
- 0044431C 8BCE mov ecx,esi
- 0044431E E8 FBAD0100 call <jmp.&MFC42.#6334>
- 00444323 8B8424 B4000000 mov eax,dword ptr ss:[esp+B4]
- 0044432A 8B8E D8000000 mov ecx,dword ptr ds:[esi+D8]
- 00444330 3BC1 cmp eax,ecx
- 00444332 8986 04120000 mov dword ptr ds:[esi+1204],eax
- 00444338 0F84 A2000000 je Wbxl.004443E0
- 0044433E 83FB 01 cmp ebx,1
- 00444341 74 0E je short Wbxl.00444351
- 00444343 6A 00 push 0
- 00444345 6A 00 push 0
- 00444347 68 803A4700 push Wbxl.00473A80 ; 对不起,注册码有误
- 0044434C E8 87AE0100 call <jmp.&MFC42.#1200>
- 至此我们已找到真码```把真码填入点“确定”还是弹出注册错误对话框“对不起”,晕```
- 好,手动把真码写入目录下的myregcode.txt里替换原假码,再启动软件显示已注册```差点让它骗了```呵```
- 算法就不分析了,也不会分析```做内存注册机,省事多了```哈````
- 内存注册机
- 中断地址:4442C4
- 中断次数:1
- 第一字节:FF
- 指令长度:2
- 注册码:内存方式--寄存器--EAX
- 注意:注册码不可以直接填入注册对话框,请手动覆盖写入安装目录下的myregcode.txt中
- ===========================================
- 2005.11.10
复制代码 |
|