🛫 导读
开发环境
| 版本号 | 描述 | |
|---|---|---|
| 文章日期 | 2023-12-20 | |
| python | 3.8.6 | |
| pyob | pyob.oxyry.com/ | |
1️⃣ 在线网站pyob混淆操作步骤
目前试了几种方式,发现在线方式即可满足小编的要求(代码混淆,强度一般即可),操作相对简单,记录如下:
编写测试代码
main.py
def add(a, b):
ret = a+b
return ret
print('hello...')
sum = add(33,66)
print(sum)
sum = add(1, 99)
print(sum)
混淆
打开在线网站: pyob.oxyry.com/,按照下面步骤操作:
该网站有混淆选项,但是功能大差不差,可以忽略
转pyc
命令格式
python -m compileall 文件或路径 可选项
小编使用python3.8.6,运行命令D:\Python\Python386\python.exe -m compileall .,生成两个混淆文件:
> python执行上面四个文件,均正常运行:
使用python -m compileall -h可以看到帮助文档和可选项的含义:
-l:不递归编译子文件夹;
-r level:指定编译文件夹的层数,优先级高于-l;level=0表示不进入下一层,levle=1表示进入第一层,level=2表示进入第二层,以此类推。
-f:强制重新编译一次,即使文件的时间戳没有更新,当没有使用-f选项时,如果py文件的时间戳更早于pyc文件,不会触发编译过程;
-x REG:根据REG表示的正则式选择文件编译。
-o OPT_LEVELS: 指定优化级别( Default is -1 which uses the optimization level of the Python interpreter itself (see -O).)
ps: 命令行模式下,如果不指明文件或路径默认会将sys.path下的所有文件进行编译!sys.path包括了当前工作目录、Python安装目录、Python包目录等。
ps2: compileall 提供了
api接口,可以用于python代码编写,实现复杂的逻辑。
缺点
只能单文件混淆,多文件不方便。
混淆强度一般,只是改了函数名和变量名。
非函数内的变量不会改名字
中文路径问题:python: Can't reopen .pyc file
一直以为是编码问题,试了之后依然有问题,改成英文路径就好了!!!特此声明:
调用.py文件路径给的存在中文没问题,但是.pyc文件路径有中文就会报错。
2️⃣ 反编译
python文件格式对比
python文件使用过程中涉及大量的文件格式,简单梳理如下:
.py python的源代码文件
.pyc Python源代码import后,编译生成的字节码
.pyo Python源代码编译优化生成的字节码。pyo比pyc并没有优化多少,只是去掉了断言
.pyd Python的动态链接库(Windows平台)
.so文件
uncompyle6
uncompyle6使用很简单,可以参考文章《python py文件与pyc文件相互转换 blog.csdn.net/juzicode00/…》。
安装:
pip install uncompyle6
使用:
uncompyle6.exe 待反编译文件名
3️⃣ 其它方案
cpython
强度很高,不过操作相对麻烦点。
可以参考这篇不错的文章《Python 防止反编译: blog.csdn.net/weixin_4442… 》
python-obfuscator
开源项目,github地址: github.com/davidteathe…
21年2月最后更新,应该不错吧。
PyInstaller
文末有福利领取哦~
👉一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉二、Python必备开发工具
👉三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉 四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
👉五、Python练习题
检查学习结果。
👉六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传