仅个人思路交流与学习。不提供任何程序与源码,大家网上搜索。
本篇文章仅作技术交流,文章中软件均来源网络。如有侵权请联系本人(邮箱:simon9921@qq.com)!
之前发现了一篇:暴力破解某EXE资源加密工具打包文件密码
https://www.cnblogs.com/simont/p/9508509.html
闲时用里面提供的软件,对视频加密进行了一番探索。发现该版本的加密软件,播放密码如同虚设。可直接无密码进行还原。现在开始讲述下无密码还原的算法。
1、 使用软件我们加密一个视频,并对其进行播放,测试该加密软件是否有效。
打开加密视频
进入正题:这次我们是分析加密算法与视频提取,其它就不多啰嗦了。
开启OD,直接附加视频播放器。
附加上后,找到“播放”按钮功能后单步走,我们来到此处循环
经分析,该处是关键算法解密部分。我们重点分析:
513F305D 8B4D AC mov ecx,dword ptr ss:[ebp-0x54] ; 读取密文存放处 513F3060 034D 98 add ecx,dword ptr ss:[ebp-0x68] ;+1 513F3063 0FBE11 movsx edx,byte ptr ds:[ecx] 逐字取 513F3066 83F2 05 xor edx,0x5 ;和0x05进行异或操作 513F3069 8B45 14 mov eax,dword ptr ss:[ebp+0x14] 513F306C 0345 98 add eax,dword ptr ss:[ebp-0x68] 513F306F 8810 mov byte ptr ds:[eax],dl ;保存解密后的数据
该算法比较简单,大家感兴趣自己去跟跟。大概过程是程序每次读0X800字节的数据,进行循环逐字和0X5进行XOR得到明文,在进行播放。
程序编写思路:
首先读取VPY内的加密数据,真正的视频位置从0X2CF8(该位置从OD中分析得来)加密多个视频测试,是固定位置。
即:05 05 05 1D 63 71 7C 75 68 75 31 37 05 05 05 05
然后,取每字循环和0X5进行XOR即可。
使用WINHEX测试如下:
解密后:
看到数据显示的是MP4格式的视频头。
到此该文章就结束了。 目前没发现生成的播放密码有什么用。
样品:链接: https://pan.baidu.com/s/1oyF2LH89WoqODoqg5xGYlg 密码: nu7c
文件使用破解软件加密,下载请自行杀毒。