TA的每日心情 | 开心 2015-8-23 23:49 |
---|
签到天数: 27 天 [LV.4]偶尔看看III
|
【破文标题】某图像软件的非明码追码做注册机过程
【破文作者】GGLHY
【破解工具】PEID看雪版、OD、keymake1.73
【破解平台】Winxp-sp2
【软件名称】YlmF_**View1.92
【破解声明】只为了解软件的保护技术、顺便看看非计算机专业的自己水平有多菜。时刻谨记:追码不为利只为艺!
-----------------------------------------------------------------------------------------------------
【破解过程】前几天从雨林木风论坛下了这个软件,感觉这软件好像比较好用,试着CRACK了一下。无它,唯练手尔!
为尊重软件作者,特将该程序名以A.EXE代替。
1.先运行A.EXE,点注册窗口,随便填注册名和注册码,点注册验证,出现注册非法的对话框。
2.用PEID检测,是ASPack 2.12b -> Alexey Solodovnikov 壳。呵呵,这次来个带发修行,不脱壳试试。
3 OD载入A.EXE,F9运行,填入假码用户名:gglhy 注册码15987530,点注册,弹出注册非法的对话框。祭出F12的堆栈暂停大法,来到:
(省略了部分代码)
00540CB2 E8 5C930200 call 0056A013 //关键CALL
00540CB7 8B4C24 14 mov ecx, [esp+14]
00540CBB 83C4 0C add esp, 0C
00540CBE 3BC8 cmp ecx, eax //要成功,eax就必须等于ecx
00540CC0 74 5D je short 00540D1F //传说中的关键跳。呵呵必须跳哦
00540CC2 A1 50687000 mov eax, [706850]
00540CC7 8D5424 30 lea edx, [esp+30]
00540CCB 6A 40 push 40
00540CCD 52 push edx
00540CCE 68 93130000 push 1393
00540CD3 50 push eax
00540CD4 FF15 30176800 call [681730] ; USER32.LoadStringA
00540CDA 6A 10 push 10
00540CDC 8D4C24 34 lea ecx, [esp+34]
00540CE0 68 0CE66F00 push 006FE60C
00540CE5 51 push ecx
00540CE6 56 push esi
00540CE7 FF15 B8166800 call [6816B8] ; USER32.MessageBoxA //来到这里就表示出错,显然就OVER了。
00540CED 68 D0070000 push 7D0
00540CF2 56 push esi
00540CF3 FF15 B0166800 call [6816B0] ; USER32.GetDlgItem
00540CF9 50 push eax
00540CFA FF15 F0166800 call [6816F0] ; USER32.SetFocus
(省略部分代码)
这里的00540CE7 FF15 B8166800 call [6816B8] ; USER32.MessageBoxA就是调用注册非法的对话框。向上看,在00540CC0处有个条件跳可以跳过错误提示,显然它上面的那个00540CBE地方的 cmp ecx, eax就很关键了。好,在这个00540CBE处f2下,OD重新载入,填入假码用户名:gglhy 注册码15987530,点注册。程序被拦住在:
00540CBE 3BC8 cmp ecx, eax
右边寄存器窗口里:
EAX 00F3F34A
ECX 9A4540F9
EDX 0012F614 ASCII "瓳E欿"
EBX 00000001
OD寄存器里面没有我们的注册码啊!那就看看EAX里是什么?呵呵,右击EAX 00F3F34A,点修改,哈哈,看到了什么?这不是我的假码15987530吗。呵呵,看来有门了。同样,看看ECX是什么。得到这样的一组数字:2588229881。
呵呵,先偷着笑一下吧。
看看做个注册机。填入:
中断地址:00540cbe
中断次数:1
第一字节:3b
指令长度:2
选择“寄存器方式----》ecx》十进制
另存为CR.EXE。
运行一下,填入假码用户名:gglhy 注册码15987530, 点注册,弹出2588229881。退出。
运行A.exe, 填入用户名:gglhy 注册码2588229881,注册成功!
注册信息在注册表中:
[HKEY_LOCAL_MACHINE\SOFTWARE\XnView]
"LicenseName"="gglhy"
"LicenseNumber"="2588229881"
删除后变回未注册版。
------------------------------------------------------------------------
【破解总结】 追出注册码比较简单,可惜不会算法。希望以后能够来些算法方面的尝试,不管能不能弄懂,尝试是最重要的。要不然,只会永远停留在这初级阶段。呵呵,共产主义就不能尽快的实现了:)
不足之处请高手指点啊!3ks
------------------------------------------------------------------------
【版权声明】请尊重软件作者的辛勤劳动,破解只为艺不为利! |
-
-
zccg.JPeG
108.72 KB, 下载次数: 44, 下载积分: 飘云币 -2 枚
|