实际上,Dropbox做得非常好,他们能够保护他们用python制作的桌面应用程序; 我对此进行了很多研究,但没有比混淆更好的解决方案,这不是很安全的方法,你最终会看到你的代码上传到某个地方.
我听了Giovanni Bajo(PyInstaller创始人)的一次会议,他说Dropbox这样做:
define
loadup 8.我从来没有通过Python的源代码,所以,我不会声称我完全理解上面的单词.
我需要听听专家的声音:怎么做这样的事情?如果重新编译之后,我将能够使用PyInstaller等可用工具打包我的应用程序?
更新:
我对Dropbox如何进行这种混淆/变异做了一些研究,我发现了这个:
根据Hagen Fritsch的说法,他们分两个阶段完成:
它们使用TEA密码以及每个python模块的代码对象中的某些值播种的RNG.他们相应地调整了解释器
a)解密模块和
b)阻止访问解密的代码对象.
这将是直接的路径,让dropbox解密所有内容并使用内置marshaller转储模块.
使用的另一个技巧是手动加扰操作码.不幸的是,这只能半自动修复,因此他们的单字母替代密码证明在赢得一些时间方面非常有效.
我仍然想要更多的见解如何做到这一点,更重要的是,我不知道在这个过程中解密是如何发生的......我想要所有专家的声音......普通人你在哪里.