pyc35文件反编译|python 反编译 源码还原py后怎么把它再编译成pyc

|

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

python下编译py成pyc和pyo其实很简单,用python -m py_compile file.pypython -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_compilepy_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

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

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

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

你解开执行文件。如果是单个的文件,则执行它的时候在临时目录里可以找到解开的包。在解开后的目录中找到pyc文件,然后利用反编译工具就可以将pyc反编译成py文件。但是有些程序是做了加密的。它们的pyc是它们重新写python编译器后自定义的加密格式,用通常的办法无法解开。 需要在内存里反编译。————-pyc反编译工具有很多你搜索uncompyle2, decompyle2, DePython, unpyc, uncompyle, pycdc 等听说python2.7而言, uncompyler是最好用的工具。

D. python 反编译 源码还原py后,怎么把它再编译成pyc

不用编译Python每次执行的时候,都会检查py是否有同名的pyc如果没有或者pyc比py生成时间更早,就会自动把py翻译成字节码的pyc然后由pyc解释执行

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

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

sd=1defseed(s):globalsdsd=sdefrandn(n):globalsdsd=(sd*1103515245+12345)&0x7fffffffreturnsd%ndefmain():seed(11)foriinxrange(4):printrandn(313)if__name__=='__main__':main()

混淆后

oo000=1if9-9:Ii.o0o00Oo0O-iI11I1II1I1Idefoooo(s):globaloo000oo000=sif11-11:ii1I-ooO0OO000odefii11i(n):globaloo000oo000=(oo000*1103515245+12345)&0x7fffffffreturnoo000%nif66-66:iIiI*iIiiiI1IiI1I1*o0OoOoOO00defI11i():oooo(11)forO0Oinxrange(4):printii11i(313)if78-78:i11ii11iIi11i.oOoO0oo0OOOo+IiiI/Iii1ii1II11iif__name__=='__main__':I11i()#

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

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

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

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


赞 (0)