电竞比分网-中国电竞赛事及体育赛事平台

分享

用最簡單的方式保護(hù)代碼 防止他人竊取勞動成果

 長沙7喜 2018-01-18



前言




        接觸過Python語言的人都知道,Python可以編譯成.pyc文件,它是一種二進(jìn)制文件,可以提高程序的加載速度,同時也是一種保護(hù)源代碼的有效方法。那么在micropython中,又該如何保護(hù)源程序呢?貼心的micropython創(chuàng)始人也提供了類似的功能,可以將.py文件編譯成.mpy文件。接下來,介紹一下具體的實現(xiàn)步驟。(本文主要以Linux Ubuntu系統(tǒng)為例)

搭建micropython編譯環(huán)境





1.安裝arm-none-eabi-gcc交叉編譯工具和gcc編譯器。


sudo apt-get install gcc-arm-none-eabi

sudo apt-get install gcc


2.下載micropython源碼包到本地,我下載到了home目錄下。


git clone --recursive  https://github.com/micropython/micropython.git

 

生成mpy文件




3.切換到/home/micropython/mpy-cross目錄執(zhí)行make,編譯生成mpy-cross工具。

 

make

 

4.mpy-cross目錄新建一下test.py文件,輸入點亮LED4,用于測試。

 

import pyb

pyb.LED(4).on()

 

5.執(zhí)行編譯mpy文件的命令。

./mpy-cross test.py

 

其他相關(guān)功能可查看同目錄下的README.md文件。

 

6.命令執(zhí)行成功后,你就能發(fā)現(xiàn)同目錄下出現(xiàn)了一個test.mpy文件。

7.test.mpy文件拷貝放到TPYBoardv10xTPFLASH中,直接在main.pyimport即可。

import test

 

8.重置TPYBoard使其重新運行程序,大家就會看到LED4亮起來了。

 

注意:如果運行時出現(xiàn)“ValueError:invalid .mpy file”錯誤的話,需要更新一下TPYboardmicropython固件(最新版本是1.9.3)。

micropython官方下載地址:http:///download

DFU-USB接口燒寫固件參考:http:///support/reference11/302.html

ST-LINK燒寫固件參考:http:///support/reference11/239.html

 

       雖然是進(jìn)行了加密編譯成了mpy文件,但是還有一些缺陷,畢竟mpy文件仍然是存放在TPFLASHTF卡中,很容易被別人拷貝,也很有可能會被反編譯出來。

是否可以直接將Python腳本文件直接編譯在固件中呢?答案顯然是可以!想知道的話,請期待下一篇《Micropython TPYBoard添加自定義類庫》。

 


長按識別加關(guān)注
每日精彩推送!



聯(lián)系我們


電話:0536-8838268

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多