爱意满满的作品展示区。
go2sleep

Python 代码加密保护库 pyprotect

  •  
  •   go2sleep · Jul 29, 2018 · 9261 views
    This topic created in 3018 days ago, the information mentioned may be changed or developed.

    github 项目地址

    pyprotect 是一个由 C++ 开发的 python 模块加载器,可以在运行时把事先加密的 python 文件解密出来,增加了被逆向的难度。

    目前只支持 python3

    优势

    • 非侵入,任何已有代码都可以直接集成,无需修改代码,加密之后的 python 工程的调用入口保持不变(比如,原本的 project 通过执行命令 "python3 app.py" 启动,加密之后仍然通过同样的命令启动)
    • 易于使用,只需要执行一个脚本,即可加密整个代码树
    • 提高破解难度,如果想要破解,至少需要基本的二进制逆向知识,无法在 python 层面逆向或者绕过保护 (如果你发现了在 python 层面可以破解的办法,请一定告诉我!谢谢!)
    • 跨平台, mac, linux 测试通过,( windows 应该问题不大,但是没有 windows 开发机,没测试…… 尴尬……)

    路线图

    • [x] 支持 python3.x
    • [ ] 支持 python2.7
    • [ ] 支持简单的反 debug 机制
    • [ ] 支持软件许可证

    使用风险

    只提供基本的加密保护,对于经验丰富的黑客,几乎没啥用。

    如果你觉得有用的话,请帮忙加星,谢谢! 目前还是初期阶段,如果遇到程序 bug 或者安全性问题,欢迎提 Issue 和 PR。

    20 replies  •  2020-07-21 20:10:13 +08:00
    herozhang
    herozhang
    Jul 29, 2018❤️1
    1
    貌似可以放弃对 python2.x 的支持,
    后续官方都不支持了。
    Morriaty
    Morriaty
    Jul 29, 2018❤️1
    2
    这个和直接打包成 so/dll 文件,哪个安全些?
    40huo
    40huo
    Jul 29, 2018 via Android❤️1
    3
    说实话,二进制的逆向知识会的人比会 python 逆向的人多
    go2sleep
    go2sleep
    OP
    Jul 29, 2018
    4
    @Morriaty 打包成 so/dll 的方案有很多,得具体分析
    go2sleep
    go2sleep
    OP
    Jul 29, 2018
    5
    @40huo 防君子不防小人吧😁

    想要的效果是把破解 python 的难度提升到和 c/c++ 差不多,当然目前还达不到。
    ZeoKarl
    ZeoKarl
    Jul 29, 2018 via iPhone
    6
    建议放弃 py2
    go2sleep
    go2sleep
    OP
    Jul 29, 2018
    7
    @nieyujiang
    @herozhang

    我自己平时用 python3 比较多,不过貌似还是挺多人用 python2 吧?
    我公司里面不愿意转去 python3 的 python2 遗老有一大堆啊!
    ZeoKarl
    ZeoKarl
    Jul 29, 2018
    8
    @go2sleep 然而 python2 即将停止支持也是历史进程的选择.
    chroming
    chroming
    Jul 29, 2018
    9
    运行时解密不是又能看到源码了么
    go2sleep
    go2sleep
    OP
    Jul 29, 2018
    10
    @chroming 这并不容易,解密是解密在内存中,不是解密在文件了。还需要读取内存才能取得
    LukeChien
    LukeChien
    Jul 29, 2018 via Android
    11
    得内存 dump 了
    herozhang
    herozhang
    Jul 29, 2018
    12
    @go2sleep 向前看,有所得就要有所失。
    dorothyREN
    dorothyREN
    Aug 1, 2018
    13
    @go2sleep dump 内存 了解一下
    go2sleep
    go2sleep
    OP
    Aug 1, 2018
    14
    @dorothyREN 据我所知,dump 内存的技术比反编译 pyc 要难多了吧?
    另外解密之后的 python 源码在内存中也不是一直存在的,交给 python 解释执行之后很快就释放内存了。

    你有这方面进一步的资料的话,欢迎提供!
    sniper517
    sniper517
    Aug 1, 2018
    15
    哪些建议放弃 PY2 的,你们真的是开发吗
    wzw
    wzw
    Aug 16, 2018 via iPhone
    16
    很需要,不知道能不能弄更好的加密
    wzw
    wzw
    Aug 16, 2018 via iPhone
    17
    和 cython 编译有区别在哪里?哪个安全?
    wzw
    wzw
    Dec 6, 2018
    18
    建议放弃 py2

    还准备继续开发吗?
    xiner
    xiner
    Jul 13, 2020
    19
    Python 代码加密应对的风险包括:反编译 Pyc 、提取算法密钥、授权模块破解、篡改关键代码等。
    几维安全支持对 Python 程序进行源码加密和授权管理,保护知识产权,促进稳定营收。兼容 Python2.7 、3.5 、3.6 、3.7 等小版本。安全强度高、兼容性好、使用便捷。python 代码加密: https://www.kiwisec.com/product/python.html
    jsnjfz
    jsnjfz
    Jul 21, 2020
    20
    请问下楼主,起 tornado 这样的服务时候如果用加密的程序就会停止,不知道有没什么解决方法
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5320 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 01:28 · PVG 09:28 · LAX 17:28 · JFK 20:28
    ♥ Do have faith in what you're doing.