- UID
- 3908
注册时间2005-10-22
阅读权限20
最后登录1970-1-1
以武会友
 
该用户从未签到
|
【破文标题】魅影传说网络电视算法
【破文作者】Iceman
【破解工具】OD
【破解平台】XP sp2
【软件名称】魅影传说网络电视
【原版下载】http://www.skycn.com/soft/17952.html
【软件简介】最好用的网络电视,最精彩的电影、电视剧,增加自动更新功能,更新版本后不需再次下载。最好用的网络电视,高速网络电视,高速
在线电视,高速卫星电视,快速网络电视,.....『魅影传说』全情演绎!!
下载后安装,安装完成后在开始菜单中或桌面运行“魅影传说”即可。
------------------------------------------------------------------------
【破解过程】
下午,在一个群中,看见有人拿这个软件的破解版,想换龙族的邀请。我以为是什么好软件,就下来试试,装完后×&……×&……,实在无
语。既然下载了,就试下能不能破解,看它的算法怎样。
查下壳。ASPack 2.12 -> Alexey Solodovnikov [Overlay],手脱。
载入OD,运行。浮点运算错误,中断下来。忽略所有异常,重新运行,程序还没读完,死机。。。
重启电脑,载入OD,运行,还是死机。后来试了很多次,还是一样。没办法,找群里人帮忙。飘云兄试了下,没事。
汗,怎么回来。GHOST恢复系统,重新试,还是死机,换了很多版本的OD,结果还是一样。郁闷死了。
最后,跑去睡觉,可就是睡不了。换了台电脑,重新试。。。。。终于正常了。。。。浪费了好多时间。。。
下个rtcMsgBox,拦截下来
算法部分
00449AC2 8D4D AC lea ecx,dword ptr ss:[ebp-54]
00449AC5 51 push ecx
00449AC6 8D55 DC lea edx,dword ptr ss:[ebp-24]
00449AC9 52 push edx //下断点
00449ACA FF15 34114000 call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>] ; MSVBVM60.__vbaStrVarVal
00449AD0 50 push eax ; //机器码进栈。我的机器码为 08619201
00449AD1 FF15 F0114000 call dword ptr ds:[<&MSVBVM60.#581>] ; MSVBVM60.rtcR8ValFromBstr
00449AD7 DC05 A0214000 fadd qword ptr ds:[4021A0] ; //机器码加上 51201314.00000000
00449ADD DD5D A4 fstp qword ptr ss:[ebp-5C]
00449AE0 DFE0 fstsw ax
00449AE2 A8 0D test al,0D
00449AE4 0F85 F4030000 jnz unpacked.00449EDE
00449AEA C745 9C 0500000>mov dword ptr ss:[ebp-64],5
00449AF1 8D45 9C lea eax,dword ptr ss:[ebp-64]
00449AF4 50 push eax
00449AF5 8D4D 8C lea ecx,dword ptr ss:[ebp-74]
00449AF8 51 push ecx
00449AF9 FF15 9C104000 call dword ptr ds:[<&MSVBVM60.#520>] ; MSVBVM60.rtcTrimVar
00449AFF 8B55 D4 mov edx,dword ptr ss:[ebp-2C] ;
00449B02 52 push edx
00449B03 8D45 8C lea eax,dword ptr ss:[ebp-74]
00449B06 50 push eax
00449B07 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
00449B0A 51 push ecx
00449B0B FF15 34114000 call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>] ; MSVBVM60.__vbaStrVarVal
00449B11 50 push eax
00449B12 FF15 14114000 call dword ptr ds:[<&MSVBVM60.#713>] ; MSVBVM60.rtcStrReverse
00449B18 8BD0 mov edx,eax ; //机器码+51201314后的结果反向输出
00449B1A 8D4D D0 lea ecx,dword ptr ss:[ebp-30]
00449B1D FF15 C8114000 call dword ptr ds:[<&MSVBVM60.__vbaStrMove>] ; MSVBVM60.__vbaStrMove
00449B23 50 push eax
00449B24 FF15 C0104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCmp>] ; MSVBVM60.__vbaStrCmp
00449B2A F7D8 neg eax
00449B2C 1BC0 sbb eax,eax
00449B2E 40 inc eax
00449B2F F7D8 neg eax
00449B31 66:8985 40FFFFF>mov word ptr ss:[ebp-C0],ax
软件作者用了双精度浮点运算,可算法相当简单,双精度的机器码+51201314.00000000的结果取整,然后反向输出
我的注册码 08619201.00000000+51201314.00000000=59820515 --》51502895
第七课的作业,还没弄明白,先发这个。呵呵
------------------------------------------------------------------------
【破解总结】
这软件的算法,比我做过的CRACKME的,简单很多,不清楚作者为什么要用浮点运算。
破解这个软件的时间,比解决死机问题的时间,少得多。。。。。。
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢! |
|