Python 反编译工具uncompyle2

如何反编译pyc

uncompyle2 是一个可以将pyc文件转换为py源码的工具

下载地址:https://github.com/wibiti/uncompyle2

安装: setup.py install

参数:


Usage: uncompyle2 [OPTIONS]... [ FILE | DIR]...

Examples:
uncompyle2 foo.pyc bar.pyc # decompile foo.pyc, bar.pyc to stdout
uncompyle2 -o . foo.pyc bar.pyc # decompile to ./foo.dis and ./bar.dis
uncompyle2 -o /tmp /usr/lib/python1.5 # decompile whole library

Options:
-o <path> output decompiled files to this path:
if multiple input files are decompiled, the common prefix
is stripped from these names and the remainder appended to
<path>
uncompyle -o /tmp bla/fasel.pyc bla/foo.pyc
-> /tmp/fasel.dis, /tmp/foo.dis
uncompyle -o /tmp bla/fasel.pyc bar/foo.pyc
-> /tmp/bla/fasel.dis, /tmp/bar/foo.dis
-s if multiple input files are decompiled, the common prefix
is stripped from these names and the remainder appended to
<path>
uncompyle -o /tmp /usr/lib/python1.5
-> /tmp/smtplib.dis ... /tmp/lib-tk/FixTk.dis
-c <file> attempts a disassembly after compiling <file>
-d do not print timestamps
-m use multiprocessing
--py use ‘.py‘ extension for generated files
--norecur don‘t recurse directories looking for .pyc and .pyo files
--verify compare generated source with input byte-code
(requires -o)
--help show this message

Debugging Options:
--showasm -a include byte-code (disables --verify)
--showast -t include AST (abstract syntax tree) (disables --verify)

Extensions of generated files:
‘.pyc_dis‘ ‘.pyo_dis‘ successfully decompiled (and verified if --verify)
‘.py‘ with --py option
+ ‘_unverified‘ successfully decompile but --verify failed
+ ‘_failed‘ uncompyle failed (contact author for enhancement)

参数其实就是C:\Python27\Scripts\uncompyle2   文件里面, uncompyle2也是一个py文件但没有py扩展

代码如下:

 1 #! /usr/bin/env python
 2 import os
 3 import sys
 4
 5 def displayFile(file):
 6     unPath= sys.executable
 7     unPath=unPath[ 0 : unPath.rfind( os.sep ) ]
 8     newname = file[0:file.rfind(‘.‘)] + ‘.py‘
 9     command = "python -u "+unPath+"\scripts\uncompyle2 " + file + ">" + newname
10     try:
11         os.system(command)
12     except e:
13         print file
14
15 if __name__ == ‘__main__‘:
16     print ‘init‘
17     displayFile(‘C:\\pycc.pyc‘)
18     print ‘finished‘

经过测试 反编译后生成的py 执行报错:
SyntaxError: Non-ASCII character ‘\xd6‘ ***** but no encoding declared
一看就知道是编码问题, 说有在生成的py文件的头部加
# -*- coding: gbk -*-
很奇怪,# -*- coding: UTF8 -*- 也会报错

更多:http://www.iteye.com/topic/382423

时间: 2024-10-04 16:07:17

Python 反编译工具uncompyle2的相关文章

python反编译工具

开发类在线工具:https://tool.lu/一个反编译网站:https://tool.lu/pyc/ 一看这个标题,就是搞坏事用的, 用 java 写程序多了,很习惯用反编译工具了,而且玩java 的人认为那是很正常的事.所以很多商业应用的java 程序都用了混淆器或者自己写了classloader,防止别人反编译,其实理论上还是可以反编译的,只是难度加大了.我用python,django 两年多了,虽然都是业余时间再玩,自己也写过一些应用,有时候想如果某些核心的代码不公开能反编译吗,肯定是

python 反编译模块uncompyle2的使用--附破解wingide5 方法

原来一直用pycharm,无奈它常常无法使用.来訪问一些模块的属性,朋友推荐了wingide,于是去官网下载了wingide5的最新版本号,仅仅有10天的试用期,就想能否用python的uncompyle2来反编译一下注冊文件: 首先下载uncompyle2 sudo pip2.7 install uncompyle2 成功安装后就能够在命令行下使用uncompyle2了,windows能够去安装路径查找这个exe命令 其次,从wingide中找到注冊文件 bin/2.7/中的src.zip,将

最强反编译工具 ida pro 6.6 x86 arm x64 f5全插件原始安装文件泄露版 + sdk_utils

最强反编译工具 ida pro 6.6 x86 arm x64 f5全插件原始安装文件泄露版 + sdk_utils 完整安装包+6.6最新sdk工具包 国内某团购群泄露的的版本 x86 arm x64 f5插件为2.0的版本 正版价值人民币3-5万 6.6更新的内容 IDA: What's new in 6.6 x64 Decompiler It was tough and it required even more research than was planned but finally

Eclipse反编译工具Jad及插件JadClipse配置

Jad是一个Java的一个反编译工 具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的 插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 1  下载Eclipse反编译工具Jad. 下载路径:  http://pan.baidu.com/s/1tOSO2 2 把下载包中的 net.sf.jadclipse_3.3.0.jar放入到 eclipse的安装目录下,..

myeclipse安装jadclipse(反编译工具)

我是myeclipse5.5 的IDE工具.为了能反编译class文件,上网搜索了很多资料,终于找到一下的一段资料: 1.将jad.exe 复制到myeclipse安装目录的jre/bin目录下, 如:C:/Program Files/MyEclipse 5.5.1 GA/jre/bin/jad.exe : 2.然后将net.sf.jadclipse_3.2.4.jar复制到myeclipse安装目录下的eclipse/plugins目录下, 如:C:/Program Files/MyEclip

Java 反编译工具下载

反编译,通俗来讲,就是将.java 文件经过编译生成的 .class 文件还原.注意这里的还原不等于 .java 文件.因为Java编译器在编译.java 文件的时候,会对代码进行一些处理. 那么接下来介绍几款 Java 反编译工具: 1.jad 这是一款使用很广泛的 Java 反编译工具,对 Java 底层代码的还原比较彻底.ps:个人比较喜欢这款 官网:https://varaneckas.com/jad/ 个人百度云下载地址:链接:http://pan.baidu.com/s/1jHNLx

Java 反编译工具 —— JAD 的下载地址(Windows版/Linux版/Mac OS 版)

Java 反编译工具 —— JAD 的下载地址. 各种版本哦! Windows版,Linux版,Mac OS 版,等等 下载地址: http://varaneckas.com/jad/ Java 反编译工具 -- JAD 的下载地址(Windows版/Linux版/Mac OS 版),布布扣,bubuko.com

Android反编译工具介绍与简单实用方法

Android反编译工具介绍与简单实用方法 Android反编译的目的无非就是为了看到APK的xml.资源和代码: 得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar classes.dex classes.jar生成jar文件 --> [可选的解压jar文件] -->使用XJad或者JDCompiler查看源代码 得到XML的方式: 方式1:直接解压APK文件 --> 通过axmlprinter工具查看XML文件(这种方

java反编译工具(XJad)

java反编译工具(XJad) 2.2 绿色版 http://www.cr173.com/soft/35032.html Demo.class     --->    Demo.java