导航:首页 > 源码编译 > py字节码反编译

py字节码反编译

发布时间:2023-07-26 09:46:45

Ⅰ 用python2.7.1写的小程序可以反编译得到它的源代码吗

可以,网上有很多在线的反编译工具,给你发几个链接:
1、http://depython.com/index.php
2、https://github.com/eble/pyc2py
3、http://tool.lu/pyc/
不过好像第一个只适用于Python2.0-2.6,第二个适用于Python2.6,第三个应该可以反编译2.7,你可以都试一下。

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

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

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

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

Ⅳ PyInstaller打包、解包与反编译.pyc文件

PyInstaller官网: https://www.pyinstaller.org/

假设有一个demo.py文件,在同目录下启动命令行或从命令行进入当前文件夹,使用如下命令打包

打包后同目录下会产生两个文件夹build和dist(distribution),dist文件夹内就是目标程序。

解包使用pyinstxtractor工具
Github地址: https://github.com/extremecoders-re/pyinstxtractor
假设在第1步中,使用-F参数将demo.py打包为独立可执行文件demo.exe,进入dist文件夹,将pyinstxtractor.py放在该目录下,在该目录下启动命令行或从命令行进入该文件夹,使用如下命令解包

解包得到的内容将放入同目录下的demo.exe_extracted文件夹

找到目标.pyc文件,比如demo.pyc
反编译.pyc文件使用uncompyle6工具
Github地址: https://github.com/rocky/python-uncompyle6
可以直接通过pip安装uncompyle6

由于pyinstaller在打包可执行文件时会将.pyc文件头部的16字节magic head去掉,因此需要对需要反编译的.pyc文件进行预处理,将文件头部的16字节magic head补充完整。这里使用一个开源的16进制编辑器ImHex。
Github地址: https://github.com/WerWolv/ImHex
进入demo.exe_extracted文件夹,用16进制编辑器打开struct.pyc文件复制头部的16字节magic head,再用16进制编辑器打开demo.pyc文件,将头部的16字节改为magic head,即将图2中的部分更改为图1中的值即可。

使用前一个命令,反编译后的源码内容会显示在命令行窗口内;使用后一个命令,源码会打印到指定文件中,如demo.py。
到此为止可以

Invalid pyc/pyo file - Magic value mismatch!
补充magic head后即可正常反编译。

如果不是项目成员给所谓的程序而不肯给源码,而我又绕不过这个程序的问题,我才不想折腾这些有的没的。

Ⅳ python如何防止反编译

Python 编译生成 pyc 仅仅为了提升加载速度,并不是为了防止破解,反编译后和原来一模一样。pyinstaller,py2exe,只是把 pyc 打个包,同样很弱。代码混淆也只能增加看懂代码的难度,但并不能防止破解。所以最为稳妥的办法只有修改Python解释器,对源代码进行加密,解释器加载源代码时再解密,这种方法虽然可以防止破解,但给自己带来麻烦不说,发布程序是需要打包自己修改后的解释器,相当麻烦。

Ⅵ 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()#

Ⅶ sublime3 sftp插件怎么破解

必备插件sftp:
1,Package Control可以用来install其他package
2,sftp远程编辑文件:安装:install->sftp具体配置

sftp工具破解
1,下载python字节码反编译工具uncompyle2 (pyc 2 py) https://github.com/wibiti/uncompyle2
2,安装uncompyle2
3,工具安装后的位置 E:\Python27\Scripts\uncompyle2
4,反编译文件commands.pyc
python uncompyle2 -o commands.py commands.pyc
5,注释掉函数即可 sublime.set_timeout(reg, 1)

Ⅷ 反编译python编写的exe文件的详细方法

接下来具体说一下步骤:

这个文件在pyinstaller库里,还没有安装的需要安装一下(已经安装的跳过安装)

安装完成后在python安装路径下的\Lib\site-packages文件夹搜索archive_viewer.py文件

找到文件后可以复制到你想要放置的位置(不复制也行)

这一步会把编译出的文件都罗列出来,像这样

但是我们只需要找到我们exe对应的名字的文件就好了,确认存在之后滑到最下面,会发现有个?号用于输入接下来的命令,在这边我们输入

会显示 to filename? 让你输入需要输出的pyc文件名称,这边输入 your_app.pyc 回车就好了
接下来又会显示?号,接着输入 x struct 回车,输入struct文件名称 struct 回车

由于用PyInstaller打包后,pyc文件的前8个字节会被抹掉,所以最后要自己添加回去。前四个字节为python编译的版本,后四个字节为时间戳。
这边使用Hex Editor Neo软件同时打开.pyc文件和struct文件,复制struct文件前面8个字节插入到.pyc文件的前面:

这样我们就得到了完整的pyc文件

安装uncompyle库

反编译

Ⅸ 怎么通过反编译获取python源码

可以啊,要看他的发布形式,如果是以脚本形式发布的,那就可以直接得到源码。 如果是以exe形式发布的,需要进行反编译。

阅读全文

与py字节码反编译相关的资料

热点内容
dvd光盘存储汉子算法 浏览:755
苹果邮件无法连接服务器地址 浏览:958
phpffmpeg转码 浏览:669
长沙好玩的解压项目 浏览:140
专属学情分析报告是什么app 浏览:562
php工程部署 浏览:831
android全屏透明 浏览:730
阿里云服务器已开通怎么办 浏览:801
光遇为什么登录时服务器已满 浏览:300
PDF分析 浏览:483
h3c光纤全工半全工设置命令 浏览:140
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:681
如何取消命令方块指令 浏览:347
风翼app为什么进不去了 浏览:776
im4java压缩图片 浏览:360
数据查询网站源码 浏览:148
伊克塞尔文档怎么进行加密 浏览:888
app转账是什么 浏览:162