欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]记对VC驿站加密视频完全破解过程

[原创]记对VC驿站加密视频完全破解过程

      一、起因:无意中百度到了VC驿站的免费加密视频。下载下来全是EXE文件,打开需要输入密码才能正常观看。如图:

输错三次就退出进程。教程视频已经给出了免费的密码,可以观看。嘿嘿,但是我就是好奇它是怎么加密的,手痒痒了就开始来剖析它了!

    二、经过:

        先用PEID对此视频文件进行扫描,看来是C++写的。

        OD加载,查找字串引用,很快就定位到了出错的地方:

        OD中沿着提示出错的位置向上找,上面有一堆call调用,找最近的一个下手,下断后跟进,发现真的就是视频密码的计算函数!

        进入此函数:

        发现是根据用户输入的密码串来进行校验和的计算。用IDA加载,然后定位到此函数后,F5,直接看到了计算源代码:

        然后直接将计算出来的值与“预设”的值进行比较:

    三、深入

        本来到此为止已经破解出来了密码的加密算法,但是却发现不完善啊,有两个问题比较困扰:1、那个833B到底是什么时候计算出来的?2、知道校验和为833B但是却很难根据这个值反推出所需要的密码是什么。有什么办法呢?还不清楚此视频的加密流程,看来还得继续研究。

        然后开始分析:

        这个校验值的存在肯定只有两种可能:a、经过计算生成的。(废话,肯定要计算了!)那么在弹出输入密码框之前,肯定会有一个计算校验和的过程。b、直接存在的,即在弹出密码框之前密码就已经存在了。(那么这个值在作者加密视频时就存在了。)

        对于情况a,如果是之前就存在的话,势必就存在冗余的加密计算过程,而且有可能直接就暴露了原密码的地址。思考后,感觉情况b的可能性更大!!!

        如果是此校验码本来就存在,那它会存在何处?嘿嘿,肯定只有这个文件本身了!下面就开始验证:

OD重新加载,下断CreateFileWF9运行,查看此EXE文件是否会读取自身,很快就得到了答案:

ALT+F9返回用户空间:

结合IDA查看函数名,继续向下走,很快就返回到了调用处:

嘿嘿,看看它会读取什么内容:

第一次从文件末尾读取了44H字节,紧接着又定位到末尾读取了2CH字节:

有两次读取动作,都是针对文件的末尾部分的。用winhex打开此文件,833B,原来你在这里。看来它就是预设的校验和了:

继续进行验证,在OD里往下调试:

004070A7F8时,直接跑飞,输入密码框就显示出来了,看来【ebx+334】、【ESI+2E4】这两处肯定就是最终的校验和保存位置了。

重新运行到显示密码框之前,对两处地址均下硬件访问断点后运行。随便输入密码,果然断下来了:

    四、结论

 看来进行加密的不一定是作者本身,因为其密码是xxx网址免费看(xxx网址并不是vc驿站的网址)。消除其密码就很简单了。直接用winHex833B改为0000,保存后再运行,密码输入框消失了,视频照样看!还可以根据算法自己修改密码,将校验和修改一下就行了!!!

 附加上的密码计算源码(未用IDA的F5之前反汇编出来的,后来一看跟IDA的代码基本一致):


上传的附件 1.png
记对VC驿站的加密视频完全破解过程.doc

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功