dashingsoft/pyarmor
GitHub: dashingsoft/pyarmor
一个用于混淆Python脚本、绑定运行机器和设置有效期的代码保护工具,帮助开发者防止源码被逆向分析。
Stars: 5076 | Forks: 356
# Pyarmor
Pyarmor 是一个命令行工具,旨在混淆 Python 脚本,将混淆后的脚本绑定到特定机器,并为混淆后的脚本设置有效期。
## 主要特性
- **无缝替换**:混淆后的脚本仍为标准的 `.py` 文件,在大多数情况下可以无缝替换原始的 Python 脚本。
- **平衡混淆**:提供多种混淆脚本的方式,以平衡安全性和性能。
- **不可逆混淆**:重命名函数、方法、类、变量和参数。
- **C 函数转换**:将部分 Python 函数转换为 C 函数,并使用高优化选项将其编译为机器指令,从而实现不可逆混淆。
- **脚本绑定**:将混淆后的脚本绑定到特定机器,或为混淆后的脚本设置有效期。
- **Themida 保护**:使用 Themida 保护混淆后的脚本(仅限 Windows)。
## 支持的平台
- Python 2 和 Python 3[^1]
- Windows
- 各种 Linux 发行版,包括嵌入式系统和 Raspberry Pi
- Apple Intel 和 Apple Silicon
- 支持的架构:x86_64、aarch64、armv7 等[^2]
更多信息,请查看 [Pyarmor 环境][encironments]。
[^1]: 某些功能可能仅适用于 Python 3。
[^2]: 某些功能可能仅适用于特定架构。
## 快速入门
1. **安装 Pyarmor**:
```
pip install pyarmor
```
2. **混淆 `foo.py` 脚本**:
```
pyarmor gen foo.py
```
此命令会在 `dist/foo.py` 中生成如下所示的混淆脚本:
```
from pyarmor_runtime import __pyarmor__
__pyarmor__(__name__, __file__, b'\x28\x83\x20\x58....')
```
3. **运行混淆脚本**:
```
python dist/foo.py
```
更多信息,请查看 [入门教程][tutorial]。
## 许可证
Pyarmor 以共享软件的形式发布。免费试用版永不过期,但有一些限制。
有关许可证类型、功能、限制以及购买 Pyarmor 许可证的信息,请参阅 [Pyarmor 许可证][licenses]。
请阅读 [Pyarmor EULA](LICENSE)。
## 获取帮助
- **[在学习系统中提问][learning] 或 [查看检查清单][checklist]**
- **查阅 [Pyarmor 文档][doc]。**
- **查看 [常见问题解答][faq] 以获取常见问题的答案。**
- **尝试使用文档 [索引][genindex] 或 [详细目录][mastertoc]。**
- **如果仍然找不到所需的信息,请参见 [在 GitHub 上提问][asking]。**
- **按照 issue 模板 [报告 Bug][issues]。**
- **有关商业和安全咨询,请发送电子邮件至 。**
还有一个第三方学习平台
- **[向 Pyarmor Guru 提问][gurubase],它是一个专注于 Pyarmor 的 AI,可以回答您的问题**(非 Pyarmor 团队制作,其回答不代表 Pyarmor 团队的观点)
## 资源
* [网站](https://pyarmor.dashingsoft.com)
* [文档][doc]
* [8.x 文档](https://pyarmor.readthedocs.io/en/v8.5.12/)
* [7.x 文档](https://pyarmor.readthedocs.io/en/v7.7/)
* [Pyarmor 9.1 新特性](https://pyarmor.eke.org.cn/v9.html)
* [Pyarmor 学习系统][learning]
中文资源
* [Pyarmor 网站](https://pyarmor.dashingsoft.com/index-zh.html)
* [Pyarmor 在线文档](https://pyarmor.readthedocs.io/zh/latest/)
* [Pyarmor 8.x 在线文档](https://pyarmor.readthedocs.io/zh/v8.5.12/)
* [Pyarmor 7.x 在线文档](https://pyarmor.readthedocs.io/zh/v7.x/)
* [Pyarmor 9.1 新功能](https://pyarmor.eke.org.cn/v9.html)
* [Pyarmor 学习系统][learning]
## 更新日志
每个主要版本都附带一个单独的更新日志文件,详细说明了已修复的问题、新功能以及不同版本之间的兼容性问题。
在升级 Pyarmor 之前,请务必仔细阅读更新日志:
- [Pyarmor 8.x 更新日志](docs/ChangeLogs.8)
- [Pyarmor 9.x 更新日志](docs/ChangeLogs.9)
**完整更新日志**请见 [releases][releases]
**即将推出的功能**请见 [Pyarmor 发布计划](docs/ReleasePlan.md)
标签:aarch64, C语言转换, DevTools, DNS 反向解析, DRM, Pyarmor, Python, Python2, Python3, Python打包, SOC Prime, Themida, x86_64, 代码加密, 代码安全, 代码混淆, 开发工具, 授权管理, 无后门, 机器绑定, 源码保护, 漏洞枚举, 知识产权保护, 编译器, 脚本保护, 脚本加密, 软件保护, 运行时限, 逆向工具, 防逆向工程