Python代码加密 - 4种方案

Python代码加密 - 4种方案

  1. 发行.pyc文件(👍)
  2. 代码混淆(👍)
  3. 使用py2exe(仅限windows)
  4. 使用Cython(兼容性差)

1、发行 .pyc文件

1)原理

.pyc文件 : 二进制文件,无法看出源码内容。

python执行代码原理:代码 —> .pyc文件 —> 解释执行.pyc文件中内容。

因此,python解释器也可以直接执行.pyc文件

2)步骤

使用python标准库自带的 compileall即可。

# 遍历<path>目录下所有的.py文件,编译成.pyc文件
python -m compileall <path>

# .pyc文件也可直接执行,下面两者效果相同
python scriptStudy.py
python scriptStudy.pyc

在这里插入图片描述

3)优点
  • 简单方便,提高源码破解门槛
  • 平台兼容性好,.py能在哪运行,.pyc就能在哪运行
4)缺点
  • 解释器兼容性查,.pyc只能在特定版本的解释器上运行

  • 有现成的反编译工具,破解成本低

    • python-uncompyle6 就是这样一款反编译工具

    • # 将.pyc文件反编译为.py文件
      uncompyle6 *compiled-python-file-pyc-or-pyo*
      

2、代码混淆

1)原理

通过一系列的转换,让代码逐渐不让人那么容易明白。

主要有以下几种手段:

  • 移除注释和文档。没有这些说明,在一些关键逻辑上就没那么容易明白了。
  • 改变缩进。完美的缩进看着才舒服,如果缩进忽长忽短,看着也一定闹心。
  • 在tokens中
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值