編譯python并分發二進制文件!
明智的想法:
使用Cython, 努特卡, 脫落皮膚或者類似于將python編譯成C代碼,然后將應用程序作為python二進制庫(PYD)分發。
這樣,就不會留下Python(字節)代碼,我認為,您已經從普通代碼中得到了任何人(即雇主)所期望的任何合理程度的模糊化。(.NET或Java比這種情況更不安全,因為字節碼沒有混淆,可以相對容易地分解為合理的源)。
Cython與CPython的兼容性越來越強,所以我認為它應該能工作。(我實際上在考慮這個作為我們的產品.。我們已經在構建一些第三方庫,如PYD/dll,所以將我們自己的python代碼作為二進制文件發布對我們來說并不是太大的一步。)
看見這篇博文(不是我寫的)關于如何做這件事的教程。(THX@hithwen)
瘋狂的想法:
您可能會讓Cython為每個模塊分別存儲C文件,然后將它們全部連接起來,并使用大量內聯構建它們。這樣,您的Python模塊就相當單一,很難用普通的工具進行芯片處理。
超越瘋狂:
如果您可以靜態地鏈接到python運行時和所有庫(Dll)并進行優化,您可能能夠構建單個可執行文件。這樣,就很難攔截對python和您使用的任何框架庫的調用。但是,如果使用LGPL代碼,則無法做到這一點。