通过pyinstxtractor.py反编译后的pyc文件逆向
最近获得了一个pthon打包成的exe文件,经过一番简单的摸索后,利用pyinstxtractor.py把exe分解了,随之而来就是想看看源码
再一顿鼓捣后发现文件头缺失,少了一部分信息,导致pycdc无法反编译,于是写了个小工具,用来补齐丢失的信息
exe是通过python3.9打包的,目前虽然pycdc无法完全反编译,但是对于了解源码,以及软件作者想法还是具有参考价值的
pyc文件反编译代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
   | import os if __name__ == '__main__':     current_directory = os.path.dirname(os.path.abspath(__file__))     pycFiles = [os.path.join(current_directory, file) for file in os.listdir(current_directory)]     for file in pycFiles:         fileName = file.split("\\")[-1]         if os.path.isfile(fileName) and fileName.split('.')[-1] == 'pyc':             print('当前文件:' + fileName)             with open(file, 'rb+') as f:                 head_data = f.read(12)                 f.seek(12)                 remaining_data = f.read()                 f.close()             with open(file, 'wb') as f:                 f.write(head_data)                 f.write(b'\x00\x00\x00\x00')                 f.write(remaining_data)                 f.close()
   | 
 
如何运行pyc反编译程序
python 文件名 即可
注意你得python版本,应该是3.6以上的