导航:首页 > 源码编译 > python反编译pyc文件

python反编译pyc文件

发布时间:2022-12-16 03:26:11

python的程序可以编译成二进制可执行文件么

python下编译py成pyc和pyo
其实很简单,

python -m py_compile file.py
python -m py_compile /root/src/{file1,file2}.py
编译成pyc文件。
也可以写份脚本来做这事:
Code:

import py_compile
py_compile.compile('path') //path是包括.py文件名的路径


python -O -m py_compile file.py
编译成pyo文件。
1.其中的 -m 相当于脚本中的import,这里的-m py_compile 相当于上面的 import py_compile
2.-O 如果改成 -OO 则是删除相应的 pyo文件,具体帮助可以在控制台输入 python -h 查看
========================
from:http://blogold.chinaunix.net/u3/93255/showart_1944929.html
什么是pyc文件
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的 python是无法执行的。
什么是pyo文件
pyo是优化编译后的程序 python -O 源文件即可将源程序编译为pyo文件

什么是pyd文件
pyd是python的动态链接库。

为什么需要pyc文件
这个需求太明显了,因为py文件是可以直接看到源码的,如果你是开发商业软件的话,不可能把源码也泄漏出去吧?所以就需要编译为pyc后,再发布出去。当然,pyc文件也是可以反编译的,不同版本编译后的pyc文件是不同的,根据python源码中提供的opcode,可以根据pyc文件反编译出 py文件源码,网上可以找到一个反编译python2.3版本的pyc文件的工具,不过该工具从python2.4开始就要收费了,如果需要反编译出新版本的pyc文件的话,就需要自己动手了(俺暂时还没这能力^--^),不过你可以自己修改python的源代码中的opcode文件,重新编译 python,从而防止不法分子的破解。
生成单个pyc文件
python就是个好东西,它提供了内置的类库来实现把py文件编译为pyc文件,这个模块就是 py_compile 模块。
使用方法非常简单,如下所示,直接在idle中,就可以把一个py文件编译为pyc文件了。(假设在windows环境下)
import py_compile
py_compile.compile(r'H:\game\test.py')
compile函数原型:
compile(file[, cfile[, dfile[, doraise]]])
file 表示需要编译的py文件的路径
cfile 表示编译后的pyc文件名称和路径,默认为直接在file文件名后加c 或者 o,o表示优化的字节码

from:http://www.cnblogs.com/dkblog/archive/2009/04/16/1980757.html

② 有什么工具可以将python编译好的代码.pyc反编译为.py

depython是用来反编译经过python编译的后缀名为pyc或pyo的字节码文件的.
如果你找不到你写的python源代码,depython可以帮助你通过pyc/pyo文件来找回这些源代码。
经depython反编译得出的python源代码,和你原来的代码文件几乎完全一样。
http://www.depython.net/?lang=zh

③ python的脚本文件的扩展名是pyd

扩展名说明

1、通常写Python脚本都是以.py为扩展名,.pyc二进制文件可以反编译成.py文件。

2、反编译软件叫EasyPythonDecompiler,可以反编译一个文件,也可以是一个文件夹

④ python2.3编写的.pyc,如何反编译成.py

DePython是用来反编译经过python编译的后缀名为pyc或pyo的字节码文件的.
如果你找不到你写的python源代码,Depython可以帮助你通过pyc/pyo文件来找回这些源代码。 经DePython反编译得出的python源代码,和你原来的代码文件几乎完全一样。

http://www.depython.net/?lang=zh

⑤ python反编译遇到的新问题,求解

这个后缀应该算是除了python的py代码外,遇到最多的一种文件类型了。虽然python被普遍认为是一种解释性语言,但谁说它就不能被编译后执行呢?python通过compile生成的pyc文件,然后由python的虚拟机执行。相对于py文件来说,编译成pyc本质上和py没有太大区别,只是对于这个模块的加载速度提高了,并没有提高代码的执行速度,通常情况下不用主动去编译pyc文件。

⑥ python源码编程成pyc后,怎么防止反编译

无法防止反编译,但可以混淆,让你即使反编译了,也看不懂语法
下面一段源码

sd=1

defseed(s):
globalsd
sd=s

defrandn(n):
globalsd
sd=(sd*1103515245+12345)&0x7fffffff
returnsd%n

defmain():
seed(11)
foriinxrange(4):
printrandn(313)

if__name__=='__main__':
main()

混淆后

oo000=1
if9-9:Ii.o0o00Oo0O-iI11I1II1I1I
defoooo(s):
globaloo000
oo000=s
if11-11:ii1I-ooO0OO000o
defii11i(n):
globaloo000
oo000=(oo000*1103515245+12345)&0x7fffffff
returnoo000%n
if66-66:iIiI*iIiiiI1IiI1I1*o0OoOoOO00
defI11i():
oooo(11)
forO0Oinxrange(4):
printii11i(313)
if78-78:i11ii11iIi11i.oOoO0oo0OOOo+IiiI/Iii1ii1II11i
if__name__=='__main__':
I11i()#

⑦ python生成的exe,反编译成py的工具,大神提供下,感谢

你解开执行文件。如果是单个的文件,则执行它的时候在临时目录里可以找到解开的包。

在解开后的目录中找到pyc文件,然后利用反编译工具就可以将pyc反编译成py文件。

但是有些程序是做了加密的。它们的pyc是它们重新写python编译器后自定义的加密格式,用通常的办法无法解开。 需要在内存里反编译。
-------------
pyc反编译工具有很多
你搜索uncompyle2, decompyle2, DePython, unpyc, uncompyle, pycdc 等
听说python2.7而言, uncompyler是最好用的工具。

⑧ python写的程序,转成了exe文件,怎么进行反编译为python源码

1、电脑桌面,输入“win+R”组合键,在弹出窗口中输入“cmd”,点击确定。

阅读全文

与python反编译pyc文件相关的资料

热点内容
怎么使用云服务器挂游戏 浏览:616
真实的幸福pdf 浏览:342
d盘php调用c盘的mysql 浏览:264
怎么样搭建源码网站 浏览:427
新概念四册pdf 浏览:361
怎么下载悦虎检测app 浏览:528
cad表达式命令 浏览:198
程序员去一个小公司值不值得 浏览:846
程序员做个程序多少钱 浏览:495
win10原始解压软件 浏览:319
阿里程序员的老家 浏览:258
量子加密银行 浏览:193
命令方块获得指令手机 浏览:499
学习结束感言简短程序员 浏览:398
android关机闹钟实现 浏览:968
鼠标一键打开文件夹设置 浏览:161
程序员看过来我想静静搞笑视频 浏览:370
curlphp爬虫 浏览:874
python按日期循环 浏览:110
php三个等号 浏览:760