如何为 raspberry pi 编译/混淆 .kv (kivy) 文件

How to compile / obfuscate a .kv (kivy) file for a raspberry pi

我已经搜索了一段时间了,但似乎找不到任何帮助...

我的情况:我有一个 python/kivy 项目,并且我已经使用安装程序和 cythozine() 编译了我的 python 文件。

我的问题:我必须以某种方式编译或至少混淆 .kv 文件。请不要问我为什么,我看到很多人都在讨论它,但大多数都没有结果。是这样要求的,我不想讨论。

我目前的解决方案:我在编译我的脚本之前将 .kv 文件的全部内容注入到 Builder.load_string() 中,但是编译后整个字符串将以纯文本形式出现在编译文件中他们。需要一些时间才能有人找到它,但我认为它仍然不是最好的解决方案。

希望有人能帮助我。 ^^

编辑:

我已经尝试过以下方法,所以我至少可以混淆代码:https://github.com/rdevost/pymixup 不幸的是,先决条件给我带来了一些问题。

我问的是混淆,因为编译它似乎很麻烦。所以我认为混淆 kv-File,将其加载到 Builder 中并编译 py-File 可能是一种妥协。这样,kv 部分在编译文件中仍然是纯文本,但会被混淆。

我 运行 我的申请 raspberry pi。

好的...这很简单。我只是在弄清楚 PyInstaller 的工作原理时遇到了一些麻烦。 我用的是PyInstaller最简单的方法编译的

python -m PyInstaller --name Project-Name -p {Some custom Submodules-Path} main.py

在此之前,我将 kv-Language 代码注入 py-script 作为 kivy-module Builder.load_string() 的 input-string。 不像我希望的那样优雅,但无论如何......如果有人知道如何包含 kv-Lang 文件,我将不胜感激。我知道可以在创建 PyInstaller 的 .spec 后向其添加一些挂钩。 kivy: Create a package for windows 仅此而已。

结果明显比之前大很多(setup + cythonize)。但它对我有用,因为它是经过编译的并且也有点混淆,所以你不能那么容易地阅读代码。 ^^

这可能是一项简单的任务,但我花了一些时间才弄明白。