kelvar 发表于 2010-7-3 10:35

某类狂牛视频的提取方法

好久没来发帖了,今天来水一个。:)eee

【文章标题】: 某类狂牛视频的提取方法
【文章作者】: kelvar
【作者邮箱】: kelvar@sohu.com
【作者QQ号】: 44232165
【下载地址】: 自己搜索下载
【作者声明】: 学习之用,请勿用于非法用途
--------------------------------------------------------------------------------
【详细过程】
今天看到一个朋友说要提取某视频。问问可行不?运行看看跟飓风的界面很相似,并且跟山寨版的飓风也很相似。呵呵。
开工,看看强度。从字符串上判断。感觉应该跟飓风差不多。但是用以前的脚本不能直接提取了。

首先PEID查壳,Borland Delphi 6.0 - 7.0
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,
00467105         |.8B45 FC         mov eax,
00467108         |.E8 6BDBF9FF       call DM-1-HTM.00404C78
0046710D             74 7A             je short DM-1-HTM.00467189      ;第一处需要修改的地方不能跳,74 00
0046710F         |.8D95 00FEFFFF   lea edx,
第二处,处理一个暗桩。

00467168         |.8B38            mov edi,dword ptr ds:
0046716A             FF57 0C         call dword ptr ds:         ;暗桩,NOP掉
0046716D         |.8B95 FCFDFFFF   mov edx,

继续向下走,yaoex1 字符串看到了。估计第一个关键比较地方快到了。小心些。

00467302         |.FF35 E8EC4600   push dword ptr ds:
00467308         |.68 60774600       push DM-1-HTM.00467760            ;yaoex1
0046730D         |.8D85 BCFDFFFF   lea eax,


第三处,在这里看到关键的两个
mov eax,
mov edx,
按Shift+C,复制二进制格式,按Ctrl+B 搜索"8B 45 F0 8B 55 EC",发现总共有

004673B4         |.E8 73E5FFFF       call DM-1-HTM.0046592C
004673B9         |.8B45 F0         mov eax,               ;第一处
004673BC         |.8B55 EC         mov edx,
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,
004675DA         |.E8 4DE3FFFF       call DM-1-HTM.0046592C
004675DF         |.8B45 F0         mov eax,               ;第二处
004675E2         |.8B55 EC         mov edx,
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,               ;第三处:此处比较可以忽略
00467600         |.8B55 EC         mov edx,

好了,都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,               ;这里还有一个比较。
004678F9         |.8B55 F8         mov edx,
004678FC         |.E8 77D3F9FF       call DM-1-HTM.00404C78

好的,继续下断点F9过来吧。继续观察字符串里面的有用信息。发现一个"exeplay.exe"去哪里看看。同时在段首下断吧
保险期间,开始调多下断点没坏处,当然有检测的例外。

00469E43          .57                push edi
00469E44          .8945 FC         mov dword ptr ss:,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:

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

boteli 发表于 2010-7-3 10:45

不错。。沙发。。顶你一个

2750156 发表于 2010-7-3 13:02

你这个应该是exe格式视频加密4.0

不是狂牛加密哦。

修改两个跳转就能暴力破解了。

我一般是用监视软件。监控C盘。

暴力破解后跳过密码。

然后直接去C盘拷贝出来。。

- -!容易

冲着狂牛进来的。

狂牛还没研究出提取

assume 发表于 2010-7-3 19:49

老K你都在研究这类视频加密的,呵呵

2750156 发表于 2010-7-3 18:34

楼上的作者透露点。嘿嘿。我只知道个万能密码。

asm 发表于 2010-7-3 16:34

我不会Delphi,狂牛所有版本都是用VC编译的,这个东西不是狂牛保护的
狂牛最初的版本是逆了飓风的架构而写的,限于框架问题,现在网上公开的的狂牛加密并没有做特别的防提取处理,要提取并不难

Hmily 发表于 2010-7-3 19:59

加精鼓励,期待更多更深入的分析.

kelvar 发表于 2010-7-4 01:48

回复 4# asm
只是感觉界面有点像,呵呵。但是不知道是不是。所以说类似:loveliness:

CHHSun 发表于 2010-7-4 22:44

飓风的产品,不是狂牛,这应该是很老的加密了,包括现在的应该还是这种加密方式,爆破后直接在C盘提取就是,用winhex就行。总起来还是8B 45 F0 8B 55 EC和飓风以前的爆破一样,就是播放后有些东西藏起来了而以,这种加密用的不是很多。

goal1n 发表于 2010-7-7 02:13

飓风的产品,不是狂牛,这应该是很老的加密了,包括现在的应该还是这种加密方式,爆破后直接在C盘提取就是, ...
CHHSun 发表于 2010-7-4 22:44 http://wt.52pojie.cn:81/images/common/back.gif


   老大能说得详细点吗?
页: [1] 2 3 4 5 6
查看完整版本: 某类狂牛视频的提取方法