大神论坛

找回密码
快速注册
查看: 407 | 回复: 0

[原创] 逆向破解之对pyc文件逆向 附上译好的pycdc

主题

帖子

0

积分

初入江湖

UID
606
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-09-16 15:15
发表于 2023-11-04 14:37
本帖最后由 mistaked 于 2023-11-04 14:37 编辑

偶然间获得了一个pthon打包成的exe文件,经过一番简单的摸索后,利用pyinstxtractor.py把exe分解了,随之而来就是想看看源码
再一顿鼓捣后发现文件头缺失,少了一部分信息,导致pycdc无法反编译,于是写了个小工具,用来补齐丢失的信息
exe是通过python3.9打包的,目前虽然pycdc无法完全反编译,但是对于了解源码,以及软件作者想法还是具有参考价值的
废话不多说,献上代码~
只需要复制代码新建文本文档(注意代码格式),复制进去,然后后缀改成py保存就可以使用了,将脚本放在pyc同文件夹下,执行 python xxx.py

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()

请注意你的python版本,我研究这个这个软件是使用python3.9编译打包的。然后文件头部缺失了4个字节,大家可以通过自己的实际情况进行修改。
代码仅用做论坛学习交流使用
另外把编译好的pycdc也一并奉上吧


下方隐藏内容为本帖所有文件或源码下载链接:

游客你好,如果您要查看本帖隐藏链接需要登录才能查看, 请先登录

返回顶部