PieceOfShit 发表于 2023-11-24 18:38

关于超时代视频v9.36的.vpy和.exe的解密

本帖最后由 PieceOfShit 于 2023-11-24 20:06 编辑

> 原文: **瞎猫碰上死耗子 破解超时代加密视频** https://www.52pojie.cn/thread-1140734-1-1.html



**叠甲声明:**

*我甚至不是逆向小白,事实上我对逆向一窍不通。我因为想要解密超时代视频(v9.36),前天才注册了论坛。惊喜地发现论坛上早已有了方案,但是那个方案对于我们纯门外汉、只是想达到解密目的的人(目前还看不懂逆向技术)来说有点难以抓到重点,现作出**面向门外汉**的整理*

**正文:**

原作者对超时代加密做了一通分析,事实上我们看不懂也不用看他的逆向过程,直接看他最后发的代码(我改了一点,但不影响意思):

```cpp
#include <cstdio>
#include<cstring>
#pragma warning(disable:4996)
int main() {
    FILE* fp, * fout;
    char nameIn = "in.vpy", nameOut = "out.mp4";
    const int len = 256;
    char c = {'\0'};
    int count = 0;
    int key = { 0x56,0x12,0x32,0x09,0x43,0x22,0x11,0x30,0x89,0x01,0x08,0x09,0x02,0x93,0x25,0x12 };
    fp = fopen(nameIn, "rb");
    fout = fopen(nameOut, "wb");
    fseek(fp, 0x2CF8, SEEK_SET);// 位置,偏移量0xFF2428字节是exe的。
    while (fread(c,1, len, fp)) { //经过fseek,表明了开始位置,这里就是将第一个字节,存放到变量c
      for (int i = 0; i < len; i++) {
            c ^= key + 3;
            count++;
      }
      fwrite(c, 1, len, fout);
    }
    fclose(fp); fclose(fout);
    return 0;
}
```


这个代码的意思就是对加密视频进行异或+偏移量解密。直接编译运行这个代码,超时代v9.36加密的视频就能解密成mp4。就是这么简单。

**与原作者的不同之处:**
1.优化了I/O性能。速度提高了十几倍。
2.原作者的fseek处的地址偏移量是0xFF2428,那是面向.exe的。超时代有两种加密,一种是加密成.exe,这种情况下双击exe,输入密码就可以播放;一种是加密成.vpy,要用外置的播放器输入密码播放。原作者没有提.vpy怎么解密,事实上只要修改这里的地址偏移就行(0x2CF8是我自己发现的地址偏移量)。毕竟可以想象,加密成.exe这种自解压文件还要在mp4段前面塞一大堆程序,而.vpy没有前面的一大堆程序,所以地址偏移量小一些。

yjn866y 发表于 2023-11-27 18:02

占个沙发。。。

zswpug 发表于 2023-11-28 23:24

谢谢分享,厉害。。

gusong125 发表于 2024-3-20 13:00

不知道8X版本得加密成得exe 怎么解密!!!
页: [1]
查看完整版本: 关于超时代视频v9.36的.vpy和.exe的解密