推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
bozong
V2EX  ›  Python

最近用 Python 写了个工具,有没有什么办法防止被反编译

  •  
  •   bozong · Mar 1, 2017 · 16316 views
    This topic created in 3541 days ago, the information mentioned may be changed or developed.
    41 replies  •  2017-03-03 10:46:29 +08:00
    bozong
    bozong
    OP
    Mar 1, 2017
    1
    代码混淆?
    bozong
    bozong
    OP
    Mar 1, 2017
    2
    请大牛们指导下
    kumakiti
    kumakiti
    Mar 1, 2017
    3
    我印象中好像没啥好办法,不过 google 了一下,在知乎上找到了一个问题,你可以参考下
    https://www.zhihu.com/question/20069661
    bozong
    bozong
    OP
    Mar 1, 2017
    4
    @kumakiti #3 好的
    beginor
    beginor
    Mar 1, 2017 via Android❤️1
    5
    关键代码包装成服务, http 调用
    50vip
    50vip
    Mar 1, 2017❤️4
    6
    开源就不会被反编译了。
    bozong
    bozong
    OP
    Mar 1, 2017
    7
    @50vip #6
    bozong
    bozong
    OP
    Mar 1, 2017
    8
    @beginor #5 额。这是个办法、、、
    slideclick
    slideclick
    Mar 1, 2017
    9
    python 大神去那公司有这技术,叫什么 dropbox 公司
    BiggerLonger
    BiggerLonger
    Mar 1, 2017 via Android
    10
    用 Cython 編譯代碼然後打包成 egg 或者 wheel 文件
    bozong
    bozong
    OP
    Mar 1, 2017
    11
    @BiggerLonger #10 我想打包成在 windwos 下执行的
    xuboying
    xuboying
    Mar 1, 2017 via Android❤️1
    12
    带有这种目的的 task 我都尽量尝试用 c++来完成。
    bozong
    bozong
    OP
    Mar 1, 2017
    13
    @xuboying #12 大牛
    nicevar
    nicevar
    Mar 1, 2017
    14
    真要反编译你的程序,不做加壳之类的一些加固处理也是分分钟的事,用啥语言都一样,做了防护处理也得看是那群人盯上你的程序了
    BiggerLonger
    BiggerLonger
    Mar 1, 2017
    15
    @bozong wheel 文件可以跨平台的, 現在 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 上面都是 wheel 文件了
    kaneg
    kaneg
    Mar 1, 2017
    16
    自带 bug ,漏洞百出的程序不怕被人抄袭。如果真是写程序的高人,也不怕抄, Linux , Python 之父都是搞开源的
    newworld
    newworld
    Mar 1, 2017
    17
    @nicevar #14 比较赞同 你得看是什么人顶上你的程序 真正的逆向高手那里...哪些商业软件被爆菊都是正常的 只是别人搞不搞你
    ijustdo
    ijustdo
    Mar 1, 2017
    18
    #include <python.h>
    #include <stdio.h>
    #include <stdlib.h>


    int main(int argc, char *argv[])
    {

    Py_Initialize();

    FILE * fp = NULL;

    PyRun_SimpleString("execfile('test.py')");


    Py_Finalize();

    printf("---------------------END--------------------\n");

    return 0;
    }

    有启发没 明显你没看过 python 的源代码
    bozong
    bozong
    OP
    Mar 1, 2017
    19
    @ijustdo #18 知道了。拜拜
    lrxiao
    lrxiao
    Mar 1, 2017
    20
    混淆字节码
    Lycnir
    Lycnir
    Mar 1, 2017
    21
    最安全的办法就是用自己写的 python 解析器 /斜眼笑
    bozong
    bozong
    OP
    Mar 1, 2017
    22
    @Lycnir #21
    noNOno
    noNOno
    Mar 1, 2017
    23
    没有,下一题 23333
    qybei
    qybei
    Mar 1, 2017 via Android
    24
    用 cython 编译成 c
    phithon
    phithon
    Mar 1, 2017
    25
    某公司出售的分布式扫描器就是自己研发的 python 解释器,改了字节码。别无他法。
    falseen
    falseen
    Mar 1, 2017
    26
    或许可以试试用 http://nuitka.net/ 编译成 c ?
    xenme
    xenme
    Mar 1, 2017 via iPhone
    27
    转成 exe ,然后加加密壳,能防住大多数人了
    yeasy
    yeasy
    Mar 1, 2017
    28
    nuitka
    likuku
    likuku
    Mar 1, 2017
    29
    这个只有法律手段了。
    jadecoder
    jadecoder
    Mar 1, 2017
    30
    IronPython ,编译成 .NET ?
    bozong
    bozong
    OP
    Mar 1, 2017
    31
    @jadecoder #30 不行吧
    loading
    loading
    Mar 1, 2017 via Android
    32
    现在有工具能编译成 golang ,再编译。
    suikatw
    suikatw
    Mar 1, 2017❤️1
    33
    没什么办法能够完全阻止反编译。给予足够的付出,任何程序都可以逆向出来

    你首先要考虑别人反编译你的程序会得到什么好处,如果能够降低其逆向价值,先降低其逆向给人带来的价值

    如果不能,那么你只要找到一个逆向代价比这个价值高的保护手段就可以了
    bozong
    bozong
    OP
    Mar 1, 2017
    34
    @suikatw #33 赞
    kokutou
    kokutou
    Mar 1, 2017
    35
    nuitka 编译。。。
    zmj1316
    zmj1316
    Mar 1, 2017
    36
    同意 lss 观点,真的有人想破根本没办法防的,想想这么多单机游戏怎么被破解,还被汉化的...
    应该有不少游戏也是用 Python 当逻辑脚本的,不得不承认的确有人看汇编就像看代码一样
    zerofiny
    zerofiny
    Mar 1, 2017 via Android
    37
    编译成 pyo 然后打包成 exe
    solidx
    solidx
    Mar 2, 2017
    38
    @phithon 某公司是?
    bozong
    bozong
    OP
    Mar 2, 2017 via iPhone
    39
    @MichaelJY 感谢
    lovemfc
    lovemfc
    Mar 3, 2017
    40
    用 cython 把文件转换成二进制的 pyd 不就行了么,看这里 https://www.hajiaoshou.com/10.html
    bozong
    bozong
    OP
    Mar 3, 2017
    41
    @lovemfc #40 我试试
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2973 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 10:21 · PVG 18:21 · LAX 02:21 · JFK 05:21
    ♥ Do have faith in what you're doing.