保护python应用程序

时间:2018-11-16 10:13:08

标签: python mongodb python-3.6 python-import

我正在使用mongoDB(pymongo),其中我将python源(程序的逻辑)存储为b64字符串。

提供有效密钥后,我获取b64字符串并对其进行解码。


示例:

data : "cHJpbnQoImhlbGxvIHdvcmxkIik="

data : "print("hello world")"

如何将获取的源(importdata到现有的python文件中,而又不将其本地存储在文件中以使用其功能?


编辑:

mongodb在服务器上。 Python程序从服务器获取具有给定密钥的数据集。

base64.b64decode(data.find_one({ "key": "derp"})['data'])

=> data = print("hello world")

以上命令从main.py中调用。为了正确地“工作” /使用某些程序功能,必须将data (logic.py)注入到main.py中,以便main.py可以使用其功能等。

logic.py

def sayHello():
  print("hello world")

main.py

    def doRegisterStuff():
    [...]
#worked
import logic #import the decoded base64 string to use its function
    logic.sayHello()

1 个答案:

答案 0 :(得分:0)

解决方案

exec正是我所需要的。

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    exec(base64.b64decode(ex.licenses.find_one({ "key": "derp"})['data']))
    sayHello()