當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC文案資料 >> PLC試題庫 >> plc程序代碼如何混淆加密
plc程序代碼如何混淆加密

在做項目工作當(dāng)中,出于一定的目的,比如使他人無法查看源碼或者不容易理清楚自己代碼或者保護(hù)知識產(chǎn)權(quán),可能需要對自己編寫的程序進(jìn)行一定加密或者混淆。就plc程序代碼加密混淆實(shí)現(xiàn)方式探討(僅在西門子博途環(huán)境下的探討)

1、博途提供的“專有技術(shù)保護(hù)(know-how protection)"功能實(shí)現(xiàn)。選擇需要加密的塊,右鍵點(diǎn)擊“專有保護(hù)技術(shù)"或者通過屬性->;保護(hù)->;專有技術(shù)保護(hù),在彈出的對話框里面輸入密碼并確認(rèn)即可。(如果有必要也可額外設(shè)置防拷貝保護(hù))

1.png

值得注意的是為了實(shí)現(xiàn)加密保護(hù)的作用,請設(shè)置數(shù)字、大小寫字母、特殊符號混用、長度至少8位的強(qiáng)密碼。否則可能會被暴力破解(比如設(shè)置6位純數(shù)字的弱密碼,僅有100萬種可能,利用視頻中的openness工具可能1小時左右就被窮舉破解掉了)

2、使用stl或者scl進(jìn)行編程 目前行業(yè)中還是有不少從業(yè)人員僅僅會使用梯形圖進(jìn)行編程,對stl以及scl存在看不懂、不會寫等情況,對此可以將需要加密的程序用stl以及scl進(jìn)行編寫,將程序進(jìn)行"淺入深出"化。尤其是stl的可讀性較差,在程序中大量使用指針、地址寄存器、間接尋址、循環(huán)跳轉(zhuǎn)情況下大部分人都會比較懵(以下代碼相較于梯形圖略難理解),使其直接望洋興嘆。

2.png3、代碼混淆法降低可讀性 1)變量均使用地址尋址,而不是使用符號(博途自動生成類似tagxx變量除外)2)刪除必要的注釋、說明等(在對注釋無要求情況下)3)使用scl編程的時候進(jìn)行格式混淆,將編寫好的程序,將變量名進(jìn)行重命名、并刪除縮進(jìn)換行等格式化的顯示方式(如下圖之前實(shí)現(xiàn)的手寫bitsum功能),使代碼的可讀性降低,從而起到對程序有一定的保護(hù)作用(需要開啟博途的寫保護(hù),否則可以直接選中代碼格式化)。4)程序中的變量名使用無實(shí)際意義的命名(比如_、__、abc之類)。5)梯形圖程序中多重取反(not),降低可讀性。

4.png

針對博途中對程序塊進(jìn)行知識產(chǎn)權(quán)保護(hù)的方法,不同方式有不同的利用場景,可以混合使用。比如法二可針對項目必須開放源代碼,方法一在可不開放源碼情況下使用,方法一還有個進(jìn)階實(shí)現(xiàn)方式,就是在低版本的博途中進(jìn)行加密,然后將程序升級到高版本的博途后就無法進(jìn)行解密了(需要在原版本中解密,需要注意刪除升級記錄);方法三建議盡量不要使用,閱讀性實(shí)在太差,可能會挨打。

(請勿商用、非法使用,僅作為研究學(xué)習(xí)之用)。

作者:未知 點(diǎn)擊:516次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:plc程序代碼如何混淆加密
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《plc程序代碼如何混淆加密》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

富林泰克產(chǎn)品系列j電子樣
:胡先生
:13736436955
:嘉興市科力電子有限公司
個人求購

 【求購】  給水調(diào)節(jié)閥  2024-9-20
張經(jīng)理 【求購】  燈帶  2024-9-20
徐生勇 【求購】  鋁塑板  2024-9-20
秦建新 【求購】  工地洗輪設(shè)...  2024-9-19
 【求購】  激光測距測...  2024-9-19
趙建波 【求購】  皮帶轉(zhuǎn)角裝...  2024-9-19
林經(jīng)理 【求購】  氫氧化鈣  2024-9-19
王經(jīng)理 【求購】  機(jī)柜光帶  2024-9-19
VIP公司推薦