请选择 进入手机版 | 继续访问电脑版

    搜索
    热搜: 活动 交友 discuz
    Hi~登录注册
    查看: 95|回复: 0

    记录金盾加密视频提取工具被逆向分析过程二

    [复制链接]
    发表于 2018-11-20 15:44:20 | 显示全部楼层 |阅读模式
    上篇 记录金盾加密视频提取工具被逆向分析过程一 说过把内存数据保存到文件的算法后,本篇继续分析它的二次解密算法。同样,运行替换机器码的播放器,注入 win7.dll 内存监视中,发现它对avformat-56.dll文件进行了内存修改:

    直接进入HOOK地址查看汇编代码:
    [Asm] 纯文本查看 复制代码
    0BFD1330    60              pushad
    0BFD1331    8B0D BCAEFD0B   mov ecx,dword ptr ds:[0xBFDAEBC]
    0BFD1337    83EA 01         sub edx,0x1
    0BFD133A    2BD1            sub edx,ecx
    0BFD133C    8B1D B8AEFD0B   mov ebx,dword ptr ds:[0xBFDAEB8]
    0BFD1342    8B0D B0AEFD0B   mov ecx,dword ptr ds:[0xBFDAEB0]
    0BFD1348    03CA            add ecx,edx
    0BFD134A    890D B4AEFD0B   mov dword ptr ds:[0xBFDAEB4],ecx
    0BFD1350    A2 84AEFD0B     mov byte ptr ds:[0xBFDAE84],al
    0BFD1355    A1 B4AEFD0B     mov eax,dword ptr ds:[0xBFDAEB4]
    0BFD135A    8B0D C0AEFD0B   mov ecx,dword ptr ds:[0xBFDAEC0]
    0BFD1360    6A 00           push 0x0
    0BFD1362    68 ACAEFD0B     push win7.0BFDAEAC
    0BFD1367    50              push eax
    0BFD1368    51              push ecx
    0BFD1369    E8 68120C00     call win7.0C0925D6
    0BFD136E    3BA0 84AEFD0B   cmp esp,dword ptr ds:[eax+0xBFDAE84]
    0BFD1374    34 13           xor al,0x13
    0BFD1376    A2 84AEFD0B     mov byte ptr ds:[0xBFDAE84],al
    0BFD137B    8B15 C0AEFD0B   mov edx,dword ptr ds:[0xBFDAEC0]
    0BFD1381    6A 00           push 0x0
    0BFD1383    68 A8AEFD0B     push win7.0BFDAEA8
    0BFD1388    6A 01           push 0x1
    0BFD138A    68 84AEFD0B     push win7.0BFDAE84
    0BFD138F    52              push edx
    0BFD1390    E8 A5160C00     call win7.0C092A3A
    0BFD1395    61              popad
    0BFD1396    61              popad
    0BFD1397    83F0 13         xor eax,0x13
    0BFD139A    8BC8            mov ecx,eax
    0BFD139C    FF35 D0AEFD0B   push dword ptr ds:[0xBFDAED0]            ; avformat.644EFDAF
    0BFD13A2    C3              retn
    0BFD13A3    61              popad

    上面的汇编代码大家跟一下就会明白在干什么了,我就不废话了。
    首先HOOK的位置,经过分析,它会读取第一次解密的视频数据在进行一次解密。就是读取视频帧后,判断根据前面的字节进行几次XOR运算,XOR的值是一个常数0x13;而在分析中,EDX的值正是偏移量。文章出处:it资源社区
    该提取工具的作者很巧妙的运用这位置对提取后的视频文件在二次解密,得到了完全解密的视频文件。
    上面的汇编代码也很明了,可能是我语言描述不好。不知大家能否理解。
    [Asm] 纯文本查看 复制代码
    0BFD1331    8B0D BCAEFD0B   mov ecx,dword ptr ds:[0xBFDAEBC]
    [color=#008000]0BFD1337    83EA 01         sub edx,0x1
    0BFD133A    2BD1            sub edx,ecx[/color]
    0BFD133C    8B1D B8AEFD0B   mov ebx,dword ptr ds:[0xBFDAEB8]
    0BFD1342    8B0D B0AEFD0B   mov ecx,dword ptr ds:[0xBFDAEB0]
    [color=#ff0000]0BFD1348    03CA            add ecx,edx
    0BFD134A    890D B4AEFD0B   mov dword ptr ds:[0xBFDAEB4],ecx[/color]
    

    这部分汇编,就是在计算文件偏移量,0BFD1369    E8 68120C00     call win7.0C0925D6
    这个CALL是我们上篇分析过的功能,函数:SetFilePointer
    [Asm] 纯文本查看 复制代码
    [color=#ff0000]0BFD1374    34 13           xor al,0x13[/color]
    [color=#ff0000]0BFD1376    A2 84AEFD0B     mov byte ptr ds:[0xBFDAE84],al[/color]
    0BFD137B    8B15 C0AEFD0B   mov edx,dword ptr ds:[0xBFDAEC0]
    0BFD1381    6A 00           push 0x0
    0BFD1383    68 A8AEFD0B     push win7.0BFDAEA8
    0BFD1388    6A 01           push 0x1
    [color=#800080]0BFD138A    68 84AEFD0B     push win7.0BFDAE84[/color]
    0BFD138F    52              push edx
    [color=#ff0000]0BFD1390    E8 A5160C00     call win7.0C092A3A ;WriteFile[/color]
    

    这部分汇编就是将读取的值和0X13进行XOR,然后写入到文件里去。循环读,解密,写文件,直到视频播放完毕。
    有些功能被V掉,需要自己去猜和测试。至于视频加速播放,达到快速提取的分析,大家有兴趣的去跟下。
    总结:
    1、这样的提取方法不知道作者是怎么跟到的,但确实很巧妙。不得不说思路决定出路啊!
    2、这样提取后的视频还是不能播放的,需要它提供的修复工具修复

    分析这个修复工具,实际只是把视频头做了个替换。就直接能播放了。(为什么这么做?需要大家去学习MKV的视频格式了)
    3、经过上面的跟踪,有种更快速的提取方法。先把第一层数据解密保存文件后,写一个解析MKV格式的工具,然后对帧开头做XOR操作。
    4、更快速的提取方法:直接调用FFMPEG库对音视频进行编码达到提取。

    以上就是该提取工具对视频提取的整个过程了。能力有限,表达能力也不强。感兴趣的大家自己去练手吧!


    没明白的,可以跟帖。





    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?加入我们

    x
    IT资源社区 - 免责声明 1、本站会员可发帖,本主题所有言论和图片纯属会员个人意见,与本论坛立场无关.
    2、本站所有帖子由该帖子作者发表,该帖子作者享有帖子相关权益.
    3、本帖内容来源网友及会员分享和其它网络媒体.
    4、本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除并致以最深的歉意!
    5、若因内容问题IT资源社区管理员和版主有权不事先通知发贴者而删除本文.
    6、本站教程仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
    7、本站邮箱地址:admin@it0365.com
    IT资源社区 it0365.com 更多精彩内容等你发现
    回复

    使用道具 举报

    游客
    回复
    懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
    您需要登录后才可以回帖 登录 | 加入我们

    关闭

    站长推荐上一条 /2 下一条

    QQ|Archiver|手机版|小黑屋|IT资源社区(IT0365.COM)

    GMT+8, 2018-12-10 11:04 , Processed in 0.050864 second(s), 23 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表