如何使应用程序不可移植?

时间:2011-07-15 10:13:47

标签: python cross-platform portability

我正在尝试制作一个不能在计算机之间移植的应用程序或在同一台计算机的用户之间移动的应用程序 哪种方法最好?

修改的 通过not portable我的意思是,应用程序不应该在不安装的情况下使用。 ie)将安装的文件夹移动到另一台计算机或同一台计算机的不同用户登录。

我们如何获得一个始终对用户登录计算机唯一的ID?

请原谅我可怜的英语。

3 个答案:

答案 0 :(得分:1)

几乎无论您实施什么机制,其他用户都可以相对轻松地decompile the program and route around what prevents running。两个例外:

  • 将关键功能+身份验证移至c模块。这使得规避更加困难,但并非不可能

  • 将键功能+身份验证移动到对您控制的远程计算机上执行的程序的调用中。其他用户需要根据样本输入和输出重新实现功能 - 无法进行直接逆向工程。

这些要点在链接问题的答案中有更详细的介绍。当然,正如一些答案指出的那样,你需要确定你想要去多少麻烦,以及你是否值得花时间去做。也许一个天真的python本机访问控制足够的威慑力,即使一个熟练的程序员可以解决它。

答案 1 :(得分:0)

如果您只想让一个用户拥有访问权限,则必须创建某种“登录”。

这就是注册或激活密钥的用途。

http://en.wikipedia.org/wiki/Product_key

您可以在密钥中包含用户名和一些机器标识

答案 2 :(得分:0)

让您的安装脚本将程序的某些模块复制到用户应用程序目录。 在你的程序中添加到sys.path的路径,导入将找到你的模块。