快雪时晴 发表于 2005-7-20 00:07:57

半仙算命 V2005 7.01破解分析

[半仙算命 V2005 Build 07.01]
                                          2005年7月19日
前言:老妈想算算命,本人急功,采取爆破得手,为时10分钟。

软件下载:http://www.skycn.com/soft/7818.html

/////////////////////////////////////////////////////////////////////////////////////
在PYG论坛上,已经有一篇破文
[http://luowei.mireene.com/bbs/viewthread.php?tid=5&fpage=1&highlight=]
标题: 半仙算命 V2004 10.05破解分析,其破解相当简单。
【破文标题】半仙算命 V2004 10.05破解分析
/////////////////////////////////////////////////////////////////////////////////////

可能软件作者也看到了破解,在其最新版本半仙算命 V2005 Build 07.01中,取消了上述那么简单的提示,输入
注册码错误的话,没有任何提示。我不想跟注册过程,只想快点得手,爆破———爆破——


软件下载后ssbx.exe,我没有直接安装运行,因为它捆绑的垃圾软件太多了(什么百度等)。
用Inno_Setup_Unpacker_016命令行下解包,

G:\TMP\Inno_Setup_Unpacker_016>innounp -x -dssbx -m ssbx.exe
; Version detected: 5004
#0 embedded\uninstall.exe
#1 {app}\ssbx.exe
Reading slice G:\TMP\Inno_Setup_Unpacker_016\ssbx.exe
#2 {sys}\ssdata.dat
#3 {app}\软件使用说明.txt
#4 {app}\特别推荐软件.htm
#5 {app}\sound.wav
#6 {app}\setup.dll
#7 {app}\setup_laofzcb.exe
#8 {app}\setup.exe
#9 {app}\skins\1.skn
#10 {app}\skins\2.skn
#11 {app}\skins\3.skn
#12 embedded\License.txt
#13 embedded\InfoAfter.txt
#14 embedded\WizardImage.bmp
#15 embedded\WizardSmallImage.bmp
#16 install_script.iss

G:\TMP\Inno_Setup_Unpacker_016>
上面的{app}\ssbx.exe才是我们需要的,双击运行,提示非法安装,点确定,进入主界面,随便点个功能块,
出现无法创建C:\WINNT\SYSTEM32\ssbx.htm1(注意是数字1而不是字母l), 当然了,我用user帐号运行的,设置了NTFS权限限制。
因此,我手工创建该文件,设置user可读可写。重新运行,再无该错误提示。破解后来我发现该文件只是保存的算命结果的文字
内容,TMD,竟然不放在程序自身目录。

接着继续试点功能,提示不能连接到数据库。再看,解包文件列表中有个{sys}\ssdata.dat,这就是数据库了,复制到C:\WINNT\SYSTEM32\
目录,退出再运行程序,OK,无此错误提示了。TMD,强奸呀,往我的系统目录存这些玩意。

慢着,来到真正要解决的地方了,提示未注册,功能限制。
不——我怎能被你限制呢——我——要——破——解——你!

查壳dephi,用OD加载,插件ULTRA STRING REFERENCE看字符串参考,真多的软件功能限制提示——我总不能一个一个去改跳转吧,太累。
        “本软件未注册”“软件尚未注册,功能限制!\n\n\n\n请及时注册软件”
不急,再仔细找:
0053988B   mov eax,ssbx.00539B58      软件非法安装
0053989A   push ssbx.00539B70         Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
005398A5   push ssbx.00539BA8         \ssdata.dat;Persist Security Info=False;Jet OLEDB:Database Password=1qaz2wsx3edc4rfv5tgb
005398DB   mov edx,ssbx.00539C0C      select * from 汉字笔划
00539943   mov ecx,ssbx.00539C4C      \Co0In.dll
00539962   mov edx,ssbx.00539C60      ssbxr
00539974   mov edx,ssbx.00539C70      本软件已注册
00539986   mov edx,ssbx.00539C88      本软件未注册
呵呵,数据库显示的确是ssdata.dat了,而且数据库(ACCESS)密码都看到了Password=1qaz2wsx3edc4rfv5tgb.

还有奇怪的\co0In.dll文件名,我查ssbx.exe,并没有用到什么其他dll呀。双加来到:

00539927   |.E>call <jmp.&kernel32.GetSystemD>; \GetSystemDirectoryA
0053992C   |.B>mov eax,ssbx.0054D898
00539931   |.B>mov edx,ssbx.0054D814          ;ASCII "C:\WINNT\system32"
00539936   |.B>mov ecx,81
0053993B   |.E>call ssbx.00404BEC
00539940   |.8>lea eax,dword ptr ss:
00539943   |.B>mov ecx,ssbx.00539C4C          ;ASCII "\Co0In.dll"
00539948   |.8>mov edx,dword ptr ds:
0053994E   |.E>call ssbx.00404C88                ;合并字符串得到下面文件路径
00539953   |.8>mov eax,dword ptr ss:;ASCII "C:\WINNT\system32\Co0In.dll"

Stack ss:=00F8957C, (ASCII "C:\WINNT\system32\Co0In.dll")
eax=0000000A

00539956   |.E>call ssbx.00409878                ;判断是否存在该文件
0053995B   |.3>cmp al,1
0053995D   |.7>jnz short ssbx.00539986        ;不存在--〉跳到未注册
0053995F   |.8>lea ecx,dword ptr ss:
00539962   |.B>mov edx,ssbx.00539C60          ;ASCII "ssbxr"
00539967   |.8>mov eax,esi
00539969   |.E>call ssbx.0046D614                ;这里应该是判断注册码的函数调用了,没耐心跟,直接F8过了
0053996E   |.8>cmp dword ptr ss:,0
00539972   |.7>je short ssbx.00539986                ;这里不能跳
00539974   |.B>mov edx,ssbx.00539C70          ;本软件已注册
00539979   |.8>mov eax,dword ptr ds:
0053997F   |.E>call ssbx.00445434
00539984   |.E>jmp short ssbx.00539996
00539986   |>B>mov edx,ssbx.00539C88          ;本软件未注册


上面修改两处:
0053995D   |.7>jnz short ssbx.00539986----------〉nop掉
00539972   |.7>je short ssbx.00539986 ----------〉nop掉

修改后保存为ssbx_crack.exe,运行,OK,已经没任何限制了,程序也显示已注册。
——收工!


ps:
检测是否有C:\WINNT\system32\Co0In.dll文件,该文件没其他用处。
C:\WINNT\system32\ssdata.dat数据库
生成C:\WINNT\system32\ssbx.html
该软件收藏了不少网址,都是些生活中常用的查询功能,非常不错哦。

Saver 发表于 2005-7-21 19:22:50

原来还可以这样安装啊...

windycandy 发表于 2005-7-23 18:29:27

哈哈,兄弟原来你是在这里长大的啊,记得我吗?在DFCG交流了下,
这个论坛8错

cha23 发表于 2005-7-29 20:06:58

学习一下:)

残梦 发表于 2005-7-30 17:26:39

好好学习!天天向上~

justinnick 发表于 2005-8-6 15:08:19

我也练习练习 做做作业

ruanjinan 发表于 2005-8-12 16:40:32

老大,厉害啊!破解真快啊!

fanz8382 发表于 2005-8-14 15:05:08

呵呵 厉害 学习了一下

killl 发表于 2005-8-19 21:10:43

学习+支持!

yijun 发表于 2005-8-22 17:13:45

学习~~~~~~
页: [1] 2
查看完整版本: 半仙算命 V2005 7.01破解分析