频道栏目
首页 > 资讯 > 加密解密 > 正文

金易格坦克大战破解手记

06-05-19        来源:[db:作者]  
收藏   我要投稿

本破解仅作学习研究用,请勿用于任何不法行为,否则后果自负。
软件名称:金易格坦克大战
下载:http://shareware.skycn.com/soft/4932.htm
编码语言:DELPHI 4.0-5.0
大 小:8.41M(压缩)
加密方式:注册码
使用工具:odbg110_cn,PEiD,w32dasm89cn
破解日期:2006年1月6日
破解人:[certainheart] QQ:8108306

试运行注册程序REGTANK.EXE,输入试炼码,发现有"产品注册码不对,请联系经销商或作者!"的字符串提示,以此为突破口。
首先用PEID查注册程序REGTANK.EXE,无壳。用w32dasm89cn反编译,点串式参考,查找"产品注册码不对,请联系经销商或作者!",双击,地址为0047D7FB。用odbg110_cn打开REGTANK.EXE,对0047D7FB下断点,F9运行程序,输入试炼码 CDCDCDCDC,点确认,拦截成功。
0047D7CF   |.  8B83 F8020000     mov eax,dword ptr ds:[ebx+2F8]
0047D7D5   |.  E8 4A40FBFF       call RegTank.00431824
0047D7DA   |.  8B55 FC           mov edx,dword ptr ss:[ebp-4]
0047D7DD   |.  8BC3              mov eax,ebx
0047D7DF   |.  E8 F0010000       call RegTank.0047D9D4
0047D7E4   |.  84C0              test al,al
0047D7E6   |.  75 25             jnz short RegTank.0047D80D
0047D7E8   |.  8B83 DC020000     mov eax,dword ptr ds:[ebx+2DC]
0047D7EE   |.  8B40 58           mov eax,dword ptr ds:[eax+58]
0047D7F1   |.  BA FFFF0000       mov edx,0FFFF
0047D7F6   |.  E8 05C9F9FF       call RegTank.0041A100
0047D7FB   |.  BA 5CD84700       mov edx,RegTank.0047D85C 《=====在此处成功拦截
0047D800   |.  8B83 DC020000     mov eax,dword ptr ds:[ebx+2DC]
0047D806   |.  E8 5940FBFF       call RegTank.00431864
0047D80B   |.  EB 1F             jmp short RegTank.0047D82C
0047D80D   |>  8D55 F8           lea edx,dword ptr ss:[ebp-8]
0047D810   |.  8B83 F8020000     mov eax,dword ptr ds:[ebx+2F8]
0047D816   |.  E8 0940FBFF       call RegTank.00431824
0047D81B   |.  8B55 F8           mov edx,dword ptr ss:[ebp-8]
0047D81E   |.  8BC3              mov eax,ebx
往上看几句可以发现可疑代码,如下:
0047D7CF   |.  8B83 F8020000     mov eax,dword ptr ds:[ebx+2F8]
0047D7D5   |.  E8 4A40FBFF       call RegTank.00431824
0047D7DA   |.  8B55 FC           mov edx,dword ptr ss:[ebp-4]
0047D7DD   |.  8BC3              mov eax,ebx
0047D7DF   |.  E8 F0010000       call RegTank.0047D9D4《=====可疑
0047D7E4   |.  84C0              test al,al《=====可疑
0047D7E6   |.  75 25             jnz short RegTank.0047D80D《=====可疑
0047D7E8   |.  8B83 DC020000     mov eax,dword ptr ds:[ebx+2DC]
0047D7EE   |.  8B40 58           mov eax,dword ptr ds:[eax+58]
0047D7F1   |.  BA FFFF0000       mov edx,0FFFF
0047D7F6   |.  E8 05C9F9FF       call RegTank.0041A100
0047D7FB   |.  BA 5CD84700       mov edx,RegTank.0047D85C 《=====在此处成功拦截
0047D800   |.  8B83 DC020000     mov eax,dword ptr ds:[ebx+2DC]
0047D806   |.  E8 5940FBFF       call RegTank.00431864
0047D80B   |.  EB 1F             jmp short RegTank.0047D82C
0047D80D   |>  8D55 F8           lea edx,dword ptr ss:[ebp-8]
0047D810   |.  8B83 F8020000     mov eax,dword ptr ds:[ebx+2F8]
0047D816   |.  E8 0940FBFF       call RegTank.00431824
0047D81B   |.  8B55 F8           mov edx,dword ptr ss:[ebp-8]
0047D81E   |.  8BC3              mov eax,ebx
对0047D7DF下断点,重新运行程序,测试发现该CALL的结果影响了显示的注册结果,表明0047D7DF为关键判断,F7跟进去。
来到以下:
0047D9D4   /$  55                push ebp
0047D9D5   |.  8BEC              mov ebp,esp
0047D9D7   |.  83C4 F8           add esp,-8
0047D9DA   |.  53                push ebx
0047D9DB   |.  56                push esi
0047D9DC   |.  33C9              xor ecx,ecx
0047D9DE   |.  894D F8           mov dword ptr ss:[ebp-8],ecx
0047D9E1   |.  8955 FC           mov dword ptr ss:[ebp-4],edx
0047D9E4   |.  8B45 FC           mov eax,dword ptr ss:[ebp-4]
0047D9E7   |.  E8 A46FF8FF       call RegTank.00404990
0047D9EC   |.  33C0              xor eax,eax
0047D9EE   |.  55                push ebp
0047D9EF   |.  68 4DDA4700       push RegTank.0047DA4D
0047D9F4   |.  64:FF30           push dword ptr fs:[eax]
0047D9F7   |.  64:8920           mov dword ptr fs:[eax],esp
0047D9FA   |.  33DB              xor ebx,ebx
0047D9FC   |.  8D45 F8           lea eax,dword ptr ss:[ebp-8]
0047D9FF   |.  8B55 FC           mov edx,dword ptr ss:[ebp-4]
0047DA02   |.  E8 C56BF8FF       call RegTank.004045CC
0047DA07   |.&nbs

相关TAG标签
上一篇:介绍一些有用的注册表键值
下一篇:SQL Server 2000 注入防护大全
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站