python生成可執行文件保護源碼


工作中由於需要防止源代泄漏,需要將源代碼隱藏,找到兩種方法:

1.使用python生成的pyc文件。

    這種方法的優點就是pyc文件生成很容易,缺點則是很容易通過工具得到源碼,並且python版本不一致也會報 bad magic error。 

    bad magic error解決方法:刪除pyc,用相同版本的python重新生成,參考stackoverflow。 

    python生成pyc文件:

python -m py_compile python_file.py

    另一種生成pyc的方法:

        在python解釋器中運行:  

            import py_compile
            py_compile.compile(r'/path/to/需要生成.pyc的腳本.py')

2.使用pyinstaller生成可執行文件。

    這種方法生成的文件相對與pyc文件更難獲取到源碼,並且可以通過--key進行加密,在對方無法獲取key的情況下,破解難度大大增加,但是由於key容易被獲取,所以這種方法也容易被逆向,具體看這里。 

    使用方法:

        pyinstaller -F python_file.py   #  -F表示生成一個文件

    運行上述命令后會再python_file.py所在目錄生成dist目錄,可執行文件在dist文件中,文件名稱和python_file.py相同,只是沒有后綴.py

    運行可執行文件的方法:

        cd dist  # change directory to dist, which is the folder generated by pyinstaller 

        ./python_file  # 如果有參數,可以繼續添加

 

當然,由於python的特性,基本上不可能實現反逆向,上述以及下面鏈接中的方法,也只能在一定程度上防止別人看到源碼而已。

更多方法看stackoverflow以及freezing your code.


ref:

https://stackoverflow.com/questions/39559677/pyinstaller-encryption-key 

https://www.zhihu.com/question/30296617 

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com