如果混淆覺得還不夠保險,可以把各別或全部 py 文件編譯成二進制,完全不會有源碼的那種(你可以檢查中間的 c 文件),譬如我一個項目,主 py 腳本編譯成可執行文件,被引用的 py 腳本編譯成 so 文件
編譯出来的 so 也可以被普通 py 文件 import
(編譯過的和沒編譯的文件可以任意組合搭配)
echo "cython main"
cython --embed -o main.c main.py
gcc -Os -I /usr/include/python3.8 -o main main.c -lpython3.8 -lpthread -lm -lutil -ldl
mv main.py main.py_bk
echo "cython ae_"
cython --embed -o ae_.c ae_.py
gcc -Os -I /usr/include/python3.8 -o ae_.so ae_.c -shared -fPIC -lpython3.8 -lpthread -lm -lutil -ldl
mv ae_.py ae_.py_bk