【问题标题】:Distribute python modules as plugins for my own application将 python 模块作为插件分发给我自己的应用程序
【发布时间】:2014-07-01 21:57:42
【问题描述】:

我正在开发一个支持插件的应用程序。我设计了一个插件管理器来加载模块并用它们做一些事情。问题是我需要通过许可分发这些模块,所以我不希望我的客户获得代码。

我可以使用什么格式来分发插件?我正在考虑使用带有密码的 Zip 格式压缩插件文件夹,并且应用程序会在初始化时解压缩它们!

有什么想法吗?

【问题讨论】:

  • 许可证已经保护了您的代码,为什么要混淆或隐藏它?
  • @mguijarr 对应用程序进行逆向工程可能是一个原因。
  • @mguijarr 这不会是一个全球分布式软件。我有本地客户,所以我不希望他们与其他人(家人、朋友等)共享我的代码,而且我不希望他们共享整个软件。因此,我将实施一些硬件保护,例如 USB 密钥。我在阿根廷(我居住的地方)找到了这项服务,hardkey.com.ar,所以我想我会联系他们!

标签: python plugins module distribute


【解决方案1】:

你可以做超级简单的加密......这可能会工作

from itertools import cycle
def encoder_decoder(txt,keyCode):
    return "".join(map(lambda (ch,key):chr(ord(ch) ^ ord(key)),zip(txt,cycle(keyCode))))

my_text = "hello world"
encoded = encoder_decoder(my_text,"my secret key")
print "Encoded:",encoded
print "Decoded:", encoder_decoder(encoded,"my secret key") #note same method and key

它是基本的......但它应该会阻碍你的普通用户

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 1970-01-01
    • 2015-11-08
    • 2018-01-20
    • 2021-07-06
    • 2014-05-20
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多