吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7395|回复: 40
收起左侧

[讨论] 瞎猫碰上死耗子 破解超时代加密视频

  [复制链接]
liwj 发表于 2020-3-26 00:24
本帖最后由 liwj 于 2020-3-26 00:24 编辑

瞎猫碰上死耗子 ,破解超时代加密视频,在网上下载了一些学习视频,不料是超时代加密,但不知道哪个版本,问了一下专业人士,说是超时代3.6版本,要破解得花150,,为了这150,上网收索一下超时代3.6的加密器

不料,还真有,自己给MP4文件进行加密,也生成一串注册码,把这注册码放到那些学习视频,结果不成功,不能用,但是放到自己的加密视频却可以播放,得出一个结论,自己加密的视频能被这注册码识别,而网上加密的视频

是不识别这注册码,那该怎么办?又上网百度,摸清了播放流程,流程是这样:识别注册码-解密加密的视频-播放。从流程来看,能不能用OD调试自己的加密视频,找到解密视频的代码,然后将其用Visio 2019编译器逆向这些代码

从而解密视频文件,经过测试,这个思路完全正确,而且能解密在网上下载来的视频【所以说是瞎猫碰上死耗子,误打误撞】。下面请看如何用OD调试找到播放器解密视频的地方:

微信截图_20200326002122.png
微信截图_20200326002122.png

免费评分

参与人数 1吾爱币 +1 收起 理由
只影独行 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| liwj 发表于 2020-3-26 19:01
附上vector 基本使用代码,一般软件被vm的数据都可以使用vector 进行处理
void checkaddr(int Findwhat){
        vector<int> veci;
        vector<int>*p =&veci;
    FILE* fp, * fout;
        char nameIn[80] = "esi乘以8.avc";//这个就是刚刚分析的数据堆 保存的后缀可以随便写 不一定就是avc
        int c, c2, c12, c212, c3212;
        fp = fopen(nameIn, "rb");
       
        fseek(fp, 0, SEEK_SET);
        veci.reserve(100);
        while (1) {
                if (fread(&c, 4, 1, fp) != 1) break;
                c2 = c ;
                veci.push_back(c2);//读取数据堆 进行保存到vector

        }
        fclose(fp); fclose(fout);

           // for(vector<int>::iterator it = p->begin(); it != p->end();it++){
                //cout << it << endl;
//        }
//获取某元素在容器里的相对位置与地址
        vector<int>::iterator itit = std::find(veci.begin(),veci.end(),Findwhat);//定义一个zhi代器
        if(itit == veci.end()){
        cout << "error!" << endl;
        }
        else{
             cout << endl;
             cout << "========分割线========" << endl;
                cout << std::distance(veci.begin(),itit) << endl ;
                cout << &(*itit) << endl ; //这里就是数据的地址 在汇编代码里 可以直接调用这个地址 来进行访问数据  
        }
}
 楼主| liwj 发表于 2020-3-26 01:12
以上是超时代9.36单个文件提取代码,细细体会一下,分享完毕!
看,六眼飞鱼 发表于 2020-3-26 00:57
 楼主| liwj 发表于 2020-3-26 01:02
那下好断点后,如何找到算法,其实是等READFILE 断下来后,在堆栈窗口找到buffer 然后数据窗口跟随,为什么要这样操作呢,其实就是要查看API读取了什么内容,这个buffer我的理解应该是个缓存的意思,在数据窗口查看这个缓存

读了什么东西,(这里要注意,用winhex 打开加密了的视频,记住这个二进制的数据),要是发现READFILE缓存保存了加密视频的二进制数据,那么就可以下一个内存访问断点或者硬件访问断点(为什么要这样下断点呢?因为要查

看汇编代码哪里访问了这些数据,哪里访问了这些数据,哪里就是算法),断下来后 就是算法了,就可以认真的读这些汇编代码了(建议在读这些汇编代码时,从代码的段尾往上读到段头【经验之谈,这样读不会感到眼花】)

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
kof888 + 1 + 1 我很赞同!

查看全部评分

 楼主| liwj 发表于 2020-3-26 00:27
下bp Readfile 断点
微信截图_20200326002611.png
 楼主| liwj 发表于 2020-3-26 00:29
可以在B查看断点状态
微信截图_20200326002827.png
dodeem 发表于 2020-3-26 00:30
加油
你一定可以
taozididi 发表于 2020-3-26 00:45
加油 你即将成为新一代大佬
 楼主| liwj 发表于 2020-3-26 00:48
在断下来后,找到堆栈窗口,在buffer那里数据窗口跟随,然后在数据窗口选中一个字节,下一个内存访问断点,(如果断点不起作用,就下个硬件断点) F9运行,这时就断在解密算法处(如何检验,方法是留意数据窗口,解密后的视频格式为MP4,以此作为判断标准)
 楼主| liwj 发表于 2020-3-26 00:51
http://www.jz5u.com/Soft/softdown.asp?softid=97839  这是9.36下载地址
 楼主| liwj 发表于 2020-3-26 00:53
对ReadFile不了解的朋友可以百度了解一下,我觉得它就是一个读取文件的api,要读取播放文件,所以就必须经过这个API
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-25 22:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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