python2.6 pyc反编译
来源:互联网 发布:照片数据恢复 编辑:程序博客网 时间:2024/05/29 13:24
同学请我帮他反编译下几个pyc文件,生成pyc文件的python版本是2.6.6
尝试了以下几个工具:
【1】uncompyle2
github:https://github.com/wibiti/uncompyle2
之前用过,但是有个限制是必须是python2.7以上生成的pyc
怀着试试的心理,还是按照说明使用了:
E:\kkxue文档\python\反编译\uncompyle2-master\scripts>python uncompyle2 log_error.pycError: uncompyle2 requires Python 2.7.
好了,下一个
【2】UnPyc
github:https://github.com/tswr/UnPyc
直接上执行后的结果:
C:\Users\Administrator\Desktop\zhou\UnPyc-disasm_0.18>python UnPyc -dv log_error.pyc > result.txt打开result.txt,结果发现是汇编代码:
--== Disasm ==--00000008 CODE: argcount:00000009 LONG: 0L (00 00 00 00) nlocals:0000000D LONG: 0L (00 00 00 00) stacksize:00000011 LONG: 5L (05 00 00 00) flags:00000015 LONG: 64L (40 00 00 00) (NOFREE) code:00000019 STR: 'd\x00\x00d\x01\x00k\x00\x00Z\x00\x00e\x01\x00e\x00\x00i\x02\x00\x83\x01\x00d\x02\x00j\x01\x00o\x16\x00\x01d...' (94 01 00 00 64 00 00 64 01 00 6B 00...) 00000000 64 - LOAD_CONST 0000 = 000001B7 INT: -1 (FF FF FF FF) 00000003 64 - LOAD_CONST 0001 = 000001BC None (4E) 00000006 6B - IMPORT_NAME 0000 = 000002E0 STR: 'sys' (03 00 00 00 73 79 73) 00000009 5A - STORE_NAME 0000 = 000002E0 STR: 'sys' (03 00 00 00 73 79 73) 0000000C 65 - LOAD_NAME 0001 = 000002E8 STR: 'len' (03 00 00 00 6C 65 6E) 0000000F 65 - LOAD_NAME 0000 = 000002E0 STR: 'sys' (03 00 00 00 73 79 73) 00000012 69 - LOAD_ATTR 0002 = 000002F0 STR: 'argv' (04 00 00 00 61 72 67 76) 00000015 83 - CALL_FUNCTION 0001 00000018 64 - LOAD_CONST 0002 = 000001BD INT: 3 (03 00 00 00) 0000001B 6A - COMPARE_OP 0001 = "<=" 0000001E 6F - JUMP_IF_FALSE 0016 = -> 00000037 00000021 01 - POP_TOP 00000022 64 - LOAD_CONST 0003 = 000001C2 STR: "Please enter the:\n\t For example:'we..." (29 00 00 00 50 6C 65 61 73 65 20 65...) 00000025 47 - PRINT_ITEM 00000026 48 - PRINT_NEWLINE 00000027 65 - LOAD_NAME 0000 = 000002E0 STR: 'sys' (03 00 00 00 73 79 73) 0000002A 69 - LOAD_ATTR 0003 = 000002F9 STR: 'exit' (04 00 00 00 65 78 69 74) 0000002D 64 - LOAD_CONST 0004 = 000001F0 INT: 2 (02 00 00 00) 00000030 83 - CALL_FUNCTION 0001 00000033 01 - POP_TOP 00000034 6E - JUMP_FORWARD 0067 = -> 0000009E 00000037 01 - POP_TOP 00000038 65 - LOAD_NAME 0000 = 000002E0 STR: 'sys' (03 00 00 00 73 79 73) 0000003B 69 - LOAD_ATTR 0002 = 000002F0 STR: 'argv' (04 00 00 00 61 72 67 76) 0000003E 64 - LOAD_CONST 0005 = 000001F5 INT: 1 (01 00 00 00) 00000041 19 - BINARY_SUBSCR
但是看不懂,就算看得懂,也不直观啊,这位作者还明白地说,反编译功能还未实现!
if 'D' in sys.argv[1]:print "# --== Decompile ==--"print ">>> not implemented yet"
没办法,下一个(不过UnPyc以后学习了汇编会很有用)
【3】pyc2py
github:https://github.com/eduble/pyc2py
执行时报一个错误:
[root@netbase3_7road pyc2py-master]# python main.py ./test/log_error.pyc ./test/log_error.pyTraceback (most recent call last): File "main.py", line 39, in ? mod = __import__(module_name)ImportError: Bad magic number in ./test/log_error.pyc
查了下资料主要是python版本不匹配导致
即生成pyc的python版本和目前反编译pyc的python版本不一致导致
如我现在的版本就是python2.4:
[root@netbase3_7road pyc2py-master]# python Python 2.4.3 (#1, Jan 9 2013, 06:47:03) [GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>>
安装了python 2.6之后(额外安装,即make altinstall),就解决了这个问题.
[root@netbase3_7road pyc2py-master]# python2.6 main.py ./test/log_error.pyc > ./test/log_error.py[root@netbase3_7road pyc2py-master]# cat ./test/log_error.py[root@netbase3_7road pyc2py-master]#
但是发现反编译没有成功!
这时候你会恼火吗???
为什么不再找找?
【4】解决方案:http://depython.com
here:
http://www.codeproject.com/Messages/3506499/how-to-convert-pyc-files-to-py-files-in-python.aspx
直接有个免费的反编译的网站可以使用:http://depython.com/index.php
但是注意版本只支持python 2.0到2.6.
我上传测试pyc之后ok,出来了!!!
0 0
- python2.6 pyc反编译
- pyc反编译
- .pyc .pyo反编译
- pyc文件反编译方法
- python 反编译 pyc 资料
- .pyc反编译在线工具
- Python反编译&pyc文件反编译
- 用uncompyle2 反编译pyc文件
- python 反编译 pyc 一些心得
- 反编译pyc得到python源码
- pyc文件反编译到Python源码
- Python .pyc的编译和反编译
- python 反编译 将pyc 文件编译成 py源文件
- 反编译python的pyc/pyo字节码文件
- python in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored错误
- python2.6 覆盖python2.4
- python2.6升级python2.7
- python2.4升级到python2.6
- UVa 10010 沃尔多夫在那里
- 可复用的静态链表
- 验证码识别image/pdf to string 开源工具
- 网络编程学习_其他IO函数
- java编程规范(常用的)
- python2.6 pyc反编译
- FusionCharts 3D环饼图
- CSS positioning的一些整理
- CentOS 6.3 架设PPTP VPN的方法
- ThinkPad X230I 预装Win8换其它系统前的BIOS设置
- 全国(大学)高等教育各学科视频教学全集
- FusionCharts 3D环饼图报错
- JS cookie乱码问题,啥也不说了,上代码
- android小项目之新闻客户端一