mzphp2-deobfuscator
mzphp2-deobfuscator copied to clipboard
可否增加GZ解密
你好,本人不懂 python 代码,无法实现你注意事项第3点的修改,可否在现有项目中增加其功能?谢谢
我按照作者给出的方法
不支持经过gz字符串压缩的mzphp混淆。其实这个特性实现起来不难,寻找gzinflate(substr(gz_bytes, 0xa, -8));这一句,取出gz_bytes,在python中decompress就行了。
自己尝试了一下
gz_str = re.search(
r'gzinflate\(substr\(\'(.*?)\',0x0a, -8\)\)\);',
file_content,
re.M|re.I
);
print(gzip.decompress(gz_str.group(1).encode()));
但得到的结果是
OSError: Not a gzipped file (b'\\x')
不知道思路有没有错,作者有空的话能否指导一下
我觉的作者只是说说,其实他也不会,要这么简单,几句代码也不是懒癌不懒癌的了
gz_str
你取错了字段,你可以先打开源文件看看这一句 gzinflate(substr(gz_bytes, 0xa, -8))
python要先取到 gz_bytes 里面从 0xa 开始到其倒数第八位为止的内容(去看看php当中substring()函数的用法),之后调用decompres就可以实现需要的字段了。
获取之后需要修改 45-59 行,为gz压缩的情况下作者是通过正则匹配的,现在你可以直接换成你所解压出来的东西替换了。