淺談西門子PLC控制程序的保護(hù)(3)
淺談西門子PLC控制程序的保護(hù)
在項(xiàng)目具體實(shí)施的過程中,我們應(yīng)該從軟件開發(fā)技巧的角度來考慮PLC控制程序的保護(hù):
1. 編程方式的采用
a) 采用模塊化的程序結(jié)構(gòu),采用符號名,參數(shù)化來編寫子程序塊
b) S7-300/400盡量采用背景數(shù)據(jù)塊和多重背景的數(shù)據(jù)傳遞方式
c) 多采用間接尋址的編程方式
d) 復(fù)雜系統(tǒng)的控制程序尤其是一些帶有順序控制或配方控制的程序,可以考慮采用數(shù)據(jù)編程的方式,即通過數(shù)據(jù)的變化來改變系統(tǒng)的控制邏輯或控制順序。
用戶應(yīng)該盡量采用以上幾種高級層次的編程方式,這樣編出來的程序中嵌入系統(tǒng)的保護(hù)加密程序,才不容易被發(fā)現(xiàn)和破解
2. 主動保護(hù)方法
a) 利用系統(tǒng)的時鐘
b) 利用程序卡或者CPU的ID號和序列號
c) 利用EEPROM的反寫入功能,及一些需要設(shè)置的內(nèi)存保持功能
d) 利用系統(tǒng)提供的累時器功能
e) 在用戶程序的數(shù)據(jù)塊中設(shè)置密碼
f) 軟件上設(shè)置邏輯陷阱
g) 可以反向利用自己在編程時犯的錯誤
3. 被動保護(hù)方法
a) 在內(nèi)存容量利用許可的條件下,不要刪除被認(rèn)為是無用的程序
b) 在數(shù)據(jù)塊里留下開發(fā)者的標(biāo)識,以便于將來遭到侵權(quán)時可以取證
4. 應(yīng)用反破解技術(shù)的注意事項(xiàng)
a) 在用戶程序中嵌入保護(hù)程序要顯得自然一些,不能很突兀的加出一段程序來,代碼要盡量精簡,變量符號名應(yīng)與被嵌入程序段的變量保持一致
b) 往往一種保護(hù)加密手段是不夠的,應(yīng)該多種方法并用,并且這些保護(hù)程序一旦激活后對系統(tǒng)造成的后果也應(yīng)該盡量不同,造成所謂的“地雷效應(yīng)”,從而增加程序被破解的難度,時間與成本,短時間內(nèi)讓抄襲者束手無策,
c) 保護(hù)好程序的原代碼,如果需要交付程序的,在不影響用戶對設(shè)備維護(hù)的前提下,應(yīng)對交付的程序做適當(dāng)?shù)募夹g(shù)處理,如刪除部分符號名,采用上載的程序或數(shù)據(jù)塊
d) 做好嚴(yán)格的測試,以避免保護(hù)程序的不完善引起的誤動作而帶來的不必要的麻煩,同時也能降低售后服務(wù)的的費(fèi)用。
在項(xiàng)目具體實(shí)施的過程中,我們應(yīng)該從軟件開發(fā)技巧的角度來考慮PLC控制程序的保護(hù):
1. 編程方式的采用
a) 采用模塊化的程序結(jié)構(gòu),采用符號名,參數(shù)化來編寫子程序塊
b) S7-300/400盡量采用背景數(shù)據(jù)塊和多重背景的數(shù)據(jù)傳遞方式
c) 多采用間接尋址的編程方式
d) 復(fù)雜系統(tǒng)的控制程序尤其是一些帶有順序控制或配方控制的程序,可以考慮采用數(shù)據(jù)編程的方式,即通過數(shù)據(jù)的變化來改變系統(tǒng)的控制邏輯或控制順序。
用戶應(yīng)該盡量采用以上幾種高級層次的編程方式,這樣編出來的程序中嵌入系統(tǒng)的保護(hù)加密程序,才不容易被發(fā)現(xiàn)和破解
2. 主動保護(hù)方法
a) 利用系統(tǒng)的時鐘
b) 利用程序卡或者CPU的ID號和序列號
c) 利用EEPROM的反寫入功能,及一些需要設(shè)置的內(nèi)存保持功能
d) 利用系統(tǒng)提供的累時器功能
e) 在用戶程序的數(shù)據(jù)塊中設(shè)置密碼
f) 軟件上設(shè)置邏輯陷阱
g) 可以反向利用自己在編程時犯的錯誤
3. 被動保護(hù)方法
a) 在內(nèi)存容量利用許可的條件下,不要刪除被認(rèn)為是無用的程序
b) 在數(shù)據(jù)塊里留下開發(fā)者的標(biāo)識,以便于將來遭到侵權(quán)時可以取證
4. 應(yīng)用反破解技術(shù)的注意事項(xiàng)
a) 在用戶程序中嵌入保護(hù)程序要顯得自然一些,不能很突兀的加出一段程序來,代碼要盡量精簡,變量符號名應(yīng)與被嵌入程序段的變量保持一致
b) 往往一種保護(hù)加密手段是不夠的,應(yīng)該多種方法并用,并且這些保護(hù)程序一旦激活后對系統(tǒng)造成的后果也應(yīng)該盡量不同,造成所謂的“地雷效應(yīng)”,從而增加程序被破解的難度,時間與成本,短時間內(nèi)讓抄襲者束手無策,
c) 保護(hù)好程序的原代碼,如果需要交付程序的,在不影響用戶對設(shè)備維護(hù)的前提下,應(yīng)對交付的程序做適當(dāng)?shù)募夹g(shù)處理,如刪除部分符號名,采用上載的程序或數(shù)據(jù)塊
d) 做好嚴(yán)格的測試,以避免保護(hù)程序的不完善引起的誤動作而帶來的不必要的麻煩,同時也能降低售后服務(wù)的的費(fèi)用。
本文標(biāo)簽:淺談西門子PLC控制程序的保護(hù)(3)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時支付,在此深表歉意,請《淺談西門子PLC控制程序的保護(hù)(3)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“淺談西門子PLC控制程序的保護(hù)(3)”的更多資訊










