好久没来发帖了,今天来水一个。:)eee
【文章标题】: 某类狂牛视频的提取方法
【文章作者】: kelvar
【作者邮箱】: kelvar@sohu.com
【作者QQ号】: 44232165
【下载地址】: 自己搜索下载
【作者声明】: 学习之用,请勿用于非法用途
--------------------------------------------------------------------------------
【详细过程】
今天看到一个朋友说要提取某视频。问问可行不?运行看看跟飓风的界面很相似,并且跟山寨版的飓风也很相似。呵呵。
开工,看看强度。从字符串上判断。感觉应该跟飓风差不多。但是用以前的脚本不能直接提取了。
首先PEID查壳,Borland Delphi 6.0 - 7.0 [Overlay]
delphi的,跟飓风很相似,所以很多的过程直接向上靠吧。这样方便点。
OD载入后,直接运行。输入假码 111111111111111111
搜索字符串后发现"播放授权不合法!",在上面双击,来到代码处。
004670A8 /. 55 push ebp
004670A9 |. 8BEC mov ebp,esp
004670AB |. B9 51000000 mov ecx,51
004670B0 |> 6A 00 /push 0
004670B2 |. 6A 00 |push 0
004670B4 |. 49 |dec ecx
004670B5 |.^ 75 F9 \jnz short DM-1-HTM.004670B0
004670B7 |. 53 push ebx
004670B8 |. 56 push esi
004670B9 |. 57 push edi
004670BA |. 8BF0 mov esi,eax
004670BC |. 33C0 xor eax,eax
004670BE |. 55 push ebp
在段首下断,点击F9运行。好了。断下来了。
然后向下走,看看
第一处需要修改的地方不能跳,改为74 00或者直接NOP掉
004670FF |. 8B95 08FEFFFF mov edx,[local.126]
00467105 |. 8B45 FC mov eax,[local.1]
00467108 |. E8 6BDBF9FF call DM-1-HTM.00404C78
0046710D 74 7A je short DM-1-HTM.00467189 ; 第一处需要修改的地方不能跳,74 00
0046710F |. 8D95 00FEFFFF lea edx,[local.128]
第二处,处理一个暗桩。
00467168 |. 8B38 mov edi,dword ptr ds:[eax]
0046716A FF57 0C call dword ptr ds:[edi+C] ; 暗桩,NOP掉
0046716D |. 8B95 FCFDFFFF mov edx,[local.129]
继续向下走,yaoex1 字符串看到了。估计第一个关键比较地方快到了。小心些。
00467302 |. FF35 E8EC4600 push dword ptr ds:[46ECE8]
00467308 |. 68 60774600 push DM-1-HTM.00467760 ; yaoex1
0046730D |. 8D85 BCFDFFFF lea eax,[local.145]
第三处,在这里看到关键的两个
mov eax,[XXXX]
mov edx,[XXXX]
按Shift+C,复制二进制格式,按Ctrl+B 搜索"8B 45 F0 8B 55 EC",发现总共有
004673B4 |. E8 73E5FFFF call DM-1-HTM.0046592C
004673B9 |. 8B45 F0 mov eax,[local.4] ; 第一处
004673BC |. 8B55 EC mov edx,[local.5]
004673BF |. E8 B4D8F9FF call DM-1-HTM.00404C78
004673C4 |. 74 0F je short DM-1-HTM.004673D5
004673C6 |. B8 70774600 mov eax,DM-1-HTM.00467770 ; 播放密码不正确!
004673CB |. E8 E460FCFF call DM-1-HTM.0042D4B4
。。。。。。。。。。。。。
004675D7 |. 8D55 EC lea edx,[local.5]
004675DA |. E8 4DE3FFFF call DM-1-HTM.0046592C
004675DF |. 8B45 F0 mov eax,[local.4] ; 第二处
004675E2 |. 8B55 EC mov edx,[local.5]
004675E5 |. E8 8ED6F9FF call DM-1-HTM.00404C78
004675EA |. 0F95C3 setne bl
004675ED |. 84DB test bl,bl
004675EF |. 74 0C je short DM-1-HTM.004675FD
004675F1 |. B8 C0774600 mov eax,DM-1-HTM.004677C0 ; 播放密码不正确!!
004675F6 |. E8 B95EFCFF call DM-1-HTM.0042D4B4
004675FB |. EB 72 jmp short DM-1-HTM.0046766F
004675FD |> 8B45 F0 mov eax,[local.4] ; 第三处:此处比较可以忽略
00467600 |. 8B55 EC mov edx,[local.5]
好了,都F2下断点,然后按F9跑吧。到了地方记得将edx中的数据改为和eax中数据相同就可以了。这样就可以跳过比较了。
过了上面的几个比较后,我们单步F8慢慢的向下走。发现好多的retn呀。呵呵。都是返回。取巧吧。再搜索ASCII字符串看看
这东西有一个特点就是几个"yaoex1","yaoex2","yaoex3"几个字符串。看看过程我们大概已经到了"yaoex2"与"yaoex3"两个字符串
所在地址的中间部分了。这里说的可能不是很严谨。呵呵。我们双击"yaoex3",去哪里看看什么情况。向下翻,
004678F1 |. E8 36E0FFFF call DM-1-HTM.0046592C
004678F6 |. 8B45 FC mov eax,[local.1] ; 这里还有一个比较。
004678F9 |. 8B55 F8 mov edx,[local.2]
004678FC |. E8 77D3F9FF call DM-1-HTM.00404C78
好的,继续下断点F9过来吧。继续观察字符串里面的有用信息。发现一个"exeplay.exe"去哪里看看。同时在段首下断吧
保险期间,开始调多下断点没坏处,当然有检测的例外。
00469E43 . 57 push edi
00469E44 . 8945 FC mov dword ptr ss:[ebp-4],eax
00469E47 . 33C0 xor eax,eax
00469E49 . 55 push ebp
00469E4A . 68 889F4600 push DM-1-HTM.00469F88
00469E4F . 64:FF30 push dword ptr fs:[eax]
F9过来,到0046614B。F8慢慢走,发现它会在C:\china-drm目录下生成很多子目录,看看在做什么坏事。呵呵
c:\china-drm\Rcytmp\k_j00001\k_j00002\k_j00003\k_j0004\k_j00005\k_j006\k_j00007\k_j008\k_j0009\k_j0009\k_j08661\")
继续F8单步向下走,发现调用了函数ShellExecuteA。估计开始要解压出东西了。内心无比喜悦。去目录下看看吧,可恶。打不开
这也能保护的了?祭出杀手锏XueTr,找到目录下的文件拷贝之。其实这个时候已经可以播放了。做内存补丁吧。这东西对一系列
的视频都通用,当然你可可以跟大牛们学习下,用脚本+Dll实现自动提取,弄出来的话别忘了分享给我一份。呵呵
文中提到的视频文件下载地址: http://u.115.com/file/f25d367b51
--------------------------------------------------------------------------------
【版权声明】: 本文原创于吾爱破解论坛, 转载请注明作者并保持文章的完整, 谢谢! 2010年07月03日 10:23:11 |