Python - 作为独立可执行文件编译/保护

时间:2014-01-17 17:21:22

标签: python py2exe

我对Python很陌生,但希望将它用于编程和脚本编写。我编写了基本脚本,并进行了一些挖掘编译。我目前正在使用py2exe(使用其他人制作的不同的setup.py脚本),这样它就变成了一个简单的.exe,没有依赖项(python DLL等)

你可能想知道我的问题是什么。好吧,我决定检查可执行文件的安全性,并在Resource Hacker中查看它。我能够查看我不希望人们能够找到的脚本的所有部分。 (例如:密码输入)。

任何人都可以给我一个简单的工作方法,将PYTHON代码转换为STANDALONE可执行文件,不允许通过Resource Hacker之类的东西查看原始python脚本吗?

  • 我在这个领域并不是很了解..我也没有在商业上发展(但是),我只是想为自己创造一些东西,我也可以为其他人制作..虽然我可能会为随机的人做自由职业者在线服务。无论如何,如果我有一个脚本,它提示你输入密码,如果你弄错了它继续,否则,它取消并退出....然后,一旦我把它变成.exe,在资源黑客中打开,并查看“Python脚本”,我滚动到底部,然后bam!它显示了密码。现在,当我说我是新人时,我的意思是,真的真的很新。无论如何,如果你不介意解释,“加密”,“哈希”等......我宁愿对这些主题开悟。'

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

以下是简单步骤(冻结) -

  1. 您需要使用安装了所有模块作为共享库的python安装

  2. freeze.py通常位于<python_install>/Tools/freeze/freeze.py

    例如:Python-2.4.2/linux/Tools/freeze/freeze.py

  3. 现在要集成一个非常简单的程序,它不依赖于任何自定义python模块,你只需要以这种方式调用freeze:

  4. e.g:

    cat hello.py
    
    #!/usr/bin/env python
    print "Testing"
    

    冻结:

    a. Python-2.4.2/linux/Tools/freeze/freeze.py hello.py
    b. make
    

    你会看到有一个可执行的问候。

    file hello
    hello: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.0, dynamically linked (uses shared libs), not stripped
    

    它是这样的: 现在调用hello会产生:

    [0:22:47]% ./hello
    Testing