【文章标题】: 屏幕画笔V2.57最新版完美解析(处女作)
【文章作者】: CCDeath
【作者邮箱】: CCDeath@163.com
【软件名称】: 屏幕画笔 V2.57
【软件大小】: 1841 KB
【下载地址】: http://cnc.skycn.com/soft/25336.html
【保护方式】: 经典重起验证
【编写语言】: Borland Delphi 6.0 - 7.0
【使用工具】: OD1.10 PEid Abstersiver
【操作平台】: 盗版中的最低版本XP
【软件介绍】: 一款小巧绘画软件,你就可以将屏幕作为画板
【作者声明】: 如果有人觉得好用,请支持共享..希望多多批评和建议...
--------------------------------------------------------------------------------
【详细过程】
第一篇破文,高手飘过.....我尽量把每个步骤写的清晰点...
好了。先热热身:
一.经典重启验证破解过程
1.故名思意,该软件必须的重启才能验证,幸好不重起机子
2.那她拿什么验证,肯定把武林秘籍藏起了,根据各大高手追踪,秘籍就藏在注册表或程序安装目录下的某个文件这两处
3.我们该怎么找呢?下断点:文件 bpx ReadFile 注册表:bpx RegOpenKey 但是下文我直接找了,再断了,呵呵....
4.我们可以在输入注册信息,如输入用户名“CCDeath”,点击验证后,在开始运行输入"regedit"回车,用"CCDeath"查
找注册表,就OK了
5.如果成功注册,下次启动,她一般会显示:“本软件已经注册给:CCDeath”字样.
来,我们来干掉她:
二.经典破解过程
1.用PEid查壳:ASPack 2.12 -> Alexey Solodovnikov
2.脱他的裤子:用Abstersiver,一个字“脱”
3.OD载入,运行,输入假的 用户名:CCDeath 注册码:123456789 点注册验证后。用"CCDeath"查找注册表得到以下信息
RegNo REG_SZ 123456789
RegUser REG_SZ CCDeath 如果成功注册后,你还想玩,就把这两行清空,别玩的太累就行了...
4.CTRL+F2把脱过壳的程序用OD重新载入,真正开始点她
右键,选择超级字符串参考(Ultra String Reference)->查找ASCII(Find ASCII).来到了。接着查找"RegNo"
Ultra String Reference, 条目 361
Address=004BE1EB
Disassembly=mov edx, 004BE27C
Text String=regno
Ultra String Reference, 条目 368
Address=004BF6A9
Disassembly=mov edx, 004BF750
Text String=regno
先在004BE27C 往上找到这004BE17C /. 55 push ebp ;可以根据004BE27C后面一个长长黑线找到顶端就可以了。在
这下断。按F9,输入假的注册码,停在这里了。一直单步F8,注意看OD提示信息,结果连用户名和注册码鸟影都没。所以
说肯定不是这个了。(其实这一步可以省略,看到了“注册完成,请重新运行本程序”这串)
接着在004BF750,往上看,断在这里,单步运行吧...
004BF640 /. 55 push ebp
004BF641 |. 8BEC mov ebp, esp
004BF643 |. 6A 00 push 0
004BF645 |. 6A 00 push 0
.........................................省略
004BF67C |. B1 01 mov cl, 1
004BF67E |. BA 28F74B00 mov edx, 004BF728 ; software\epen//在注册表找到这个目录
004BF683 |. 8BC3 mov eax, ebx
004BF685 |. E8 BA50FAFF call 00464744
004BF68A |. 8D4D FC lea ecx, dword ptr [ebp-4]
004BF68D |. BA 40F74B00 mov edx, 004BF740 ; reguser//用户名
004BF692 |. 8BC3 mov eax, ebx
004BF694 |. E8 7352FAFF call 0046490C ;把用户名"CCDeath"写到这里
004BF699 |. 8B55 FC mov edx, dword ptr [ebp-4]
004BF69C |. B8 2C714C00 mov eax, 004C712C
004BF6A1 |. E8 DA4CF4FF call 00404380
004BF6A6 |. 8D4D F8 lea ecx, dword ptr [ebp-8]
004BF6A9 |. BA 50F74B00 mov edx, 004BF750 ; regno//注册号 天呀 都全了
004BF6AE |. 8BC3 mov eax, ebx
004BF6B0 |. E8 5752FAFF call 0046490C ;把假注册号"123456789"写到这里
004BF6B5 |. 8B45 F8 mov eax, dword ptr [ebp-8]
004BF6B8 |. 50 push eax
004BF6B9 |. 8D4D F4 lea ecx, dword ptr [ebp-C]
004BF6BC |. BA 60F74B00 mov edx, 004BF760 ; epenchina
004BF6C1 |. A1 2C714C00 mov eax, dword ptr [4C712C]
004BF6C6 |. E8 55FAFFFF call 004BF120 ; 关键CALL1生成真的注册码
004BF6CB |. 8B55 F4 mov edx, dword ptr [ebp-C] ;得到一串字符,传说中的明文,这个就是真的注册玛
004BF6CE |. 58 pop eax
004BF6CF |. E8 5450F4FF call 00404728 ;经典的关键CALL2,比较字符是否相等
004BF6D4 |. 75 07 jnz short 004BF6DD
004BF6D6 |. C605 28714C00>mov byte ptr [4C7128], 1
5.对关键CALL1进行算法分析
004BF6C6 |. E8 55FAFFFF call 004BF120 ; 关键CALL
F8到这里,F7跟进,看看她怎么生成真的注册码。这里我就不分析了。
6.对关键CALL2进行算法分析
00404728 /$ 53 push ebx
00404729 |. 56 push esi
0040472A |. 57 push edi
0040472B |. 89C6 mov esi, eax //真的注册码
0040472D |. 89D7 mov edi, edx //假的注册码
0040472F |. 39D0 cmp eax, edx //经典比较,可以暴破
00404731 |. 0F84 8F000000 je 004047C6
00404737 |. 85F6 test esi, esi
00404739 |. 74 68 je short 004047A3
0040473B |. 85FF test edi, edi
0040473D |. 74 6B je short 004047AA
7.可以暴破,修改后,右键"复制到可执行文件"->所有/选择(看你乐意),接着弹出一个对话框标题就是该目录下程序
接着右键"保存文件",输入你想自己定义的名称,OK了。
8.非暴破,直接把真的注册码copy下来,运行一下,输入。哈哈“本软件已经注册给:CCDeath”可以真的有这样的字符
呀..
9.赶快试试吧....
--------------------------------------------------------------------------------
【经验总结】
对于象我这样新手常见问题:1.重启破解一般过程 2.用OD破解步骤 3.找到关键CALL后该哪里断 4.在OD修改汇编代码该怎
么保存 5.多个CALL该跟进哪个
希望多多批评和建议...
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2007年09月24日 10:13:43
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!