关于被加密的视频文件
JasonKhew96 opened this issue · 10 comments
当时客户端1.0的时候我已经看了一下代码
每4096字节就加密16个字节,使用AES加密
秘匙是这样组成的
fileid = "d21a081cc6a32daa85310ca6aad81e378f0b736e"
secret = "zm"
key = fileid + secret + fileid
"d21a081cc6a32daa85310ca6aad81e378f0b736ezmd21a081cc6a32daa85310ca6aad81e378f0b736e"
然后再加密就是AES钥匙
然后我写了个C++程序来解密文件
至于2.0后没做对比,不过解密后还是能看
哇哦,竟然看到了源代码?要是能提供你的C++源代码的话……我就直接port到Python省着分析了(或者PR下?或者编译出来一个二进制可以被外部调用?)。
感激不尽!
YYeTs.zip <-- C++源代码
yyets.exe input.mp4 d21a081cc6a32daa85310ca6aad81e378f0b736e
会写出 “decrypted_file” 文件
代码随便写的,没想到到成功了
@JasonKhew96
好的好的,我等会读下,看看能不能port过去
YYeTs.zip
我已经上载了C++源代码
客户端1.X的代码不知道去哪里。。。
没记错的话,当时的客户端是用C#写的
客户端2.0后好像是C++
@JasonKhew96
嗯 我以为那个包里只有二进制,打开才发现也有源代码。
很好奇你是怎么有的源代码,当初组里喊的时候我应一声就好了,说不定就能拿到源代码了。
现在的版本,目前看的话是qt5的,那么也基本上八九不离十的是cpp了。
我用这个查看源代码的 https://github.com/0xd4d/dnSpy
@JasonKhew96
哇哦,神器,net应用也能轻松看到源代码了!
请问……你知道文件的id是怎么来的吗?长度为40位,看样子应该是sha1,但是对源文件和解密之后的进行sha1结果都和id不同。
我也不知道,当时没找到文件id别的用处。