我正在尝试将flag.pyc文件转换为flag.py文件。
以下是我的程序:flag.pyc->flag.pyasm->flag2.pyc->flag.py
但是,最后一步(flag2.pyc->;flag.py)会生成错误封送数据错误
为了确定问题,我仔细检查了flag2.pyc文件。我发现flag2.pyc与flag.pyc不同。由于.pyc文件很难读取,我决定将flag2.pyc转换为flag2.pyasm,以查看flag.pyasm和flag2.pyasm之间的差异。然而,它给了我一个类似的错误
以下是如何生成每个文件:
flag.pyc是原始的.pyc文件。
flag.pyasm由flag.pyc与xdis
和xasm
生成
flag2.pyc由带有xdis
和xasm
的flag.pyasm生成
flag2.pyasm由带有xdis
和xasm
的flag2.pyc生成
flag.py由flag2.pyc和uncompyle6
生成
以下是每个过程的命令:
1. flag.pyc->flag.pyasmpydisasm --asm flag.pyc > flag.pyasm
2. flag.pyasm->flag2.pyc./xasm/xasm_cli.py flag.pyasm
3. flag2.pyc->flag2.pyasmpydisasm --asm flag2.pyc > flag2.pyasm
4. flag2.pyc->flag.pyuncompyle6 flag2.pyc
第一步和第二步工作正常。
但是,第三步和第四步给了我一个类似的错误(错误封送数据错误)
下面是第三步的错误:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xdis/load.py", line 242, in load_module_from_file_object
co = marshal.loads(bytecode)
ValueError: bad marshal data (unknown type code)
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xdis/load.py", line 242, in load_module_from_file_object
co = marshal.loads(bytecode)
ValueError: bad marshal data (unknown type code)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/bin/pydisasm", line 10, in <module>
sys.exit(main())
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.cae(self.cae(self.callback, **ctx.params)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xdis/bin/pydisasm.py", line 75, in main
disassemble_file(path, sys.stdout, asm, header, show_bytes)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xdis/main.py", line 270, in disassemble_file
version, timestamp, magic_int, co, is_pypy, source_size, sip_hash = load_module(filename)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xdis/load.py", line 135, in load_module
return load_module_from_file_object(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/xdis/load.py", line 255, in load_module_from_file_object
raise ImportError(
ImportError: Ill-formed bytecode file /Users/frank/Desktop/python-xasm/xasm/flag2.pyc
<class 'ValueError'>; bad marshal data (unknown type code)
我的环境是MacOs。我的python版本是3.8.0,带有最新的xdis
,xasm
,uncompyle6
有什么建议吗
目前没有回答
相关问题 更多 >
编程相关推荐