18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> PLC基礎及應用 >> 正文

高手一般是如何對PLC程序進行加解密的?

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-09-30

大家都知道,很多品牌PLC的程序都可以通過軟件解密,那麽(me) 一旦解密後程序就非常透明的顯示在了別人的眼中,而將設備賣給別人將PLC程序整個(ge) 鎖死的話又不切實際,甲方會(hui) 無法維護;而保密和維權更是中國市場經久不衰的話題,其實德國的工程師從(cong) 來不會(hui) 給自己的程序整體(ti) 加密,而是使用其他方式,既不影響發生故障時的診斷,又可以保護自己的核心機密。今天給大家介紹一下這些方式,供大家參考。

 

使用西門子安全PLC或者博途的KNOWHOW功能1

西門子安全PLC作為(wei) 西門子主打安全功能的一款產(chan) 品,它的性能毋庸置疑,而且安全PLC的程序塊加密後無法破解;可以很好的保護核心。而博途PLC作為(wei) 西門子的最新產(chan) 品,其版權保護也是它的主要功能之一,KNOWHOW功能是軟硬件雙重加密,不加密的塊可以正常監控,沒有密碼的話甚至無法下載到其他PLC;因此使用博途的KNOWHOW功能既可以將程序交給甲方方便維護,又可以保護自己的核心程序不被竊取。

采用高級語言編寫(xie) 部分重要的工藝程序2

西門子除了最基礎的LAD梯形圖編程,FBD功能塊編程和STL語句表編程還有很多其他的方式,比如說PCS7的CFC,SFC; 除此之外還有SCL,S7-GRAPH等等。對於(yu) 這些語言,一般的工控人員很難全部精通,因此仿製難度大大提升,因此非常關(guan) 鍵的工藝程序可以由這些語言編寫(xie) ,也可以很好的保護自己的核心。

(1)編程方式的采用

a)采用模塊化的程序結構,采用符號名,參數化來編寫(xie) 子程序塊;b)盡量采用背景數據塊和多重背景的數據傳(chuan) 遞方式;

c)多采用間接尋址的編程方式;

d)複雜係統的控製程序尤其是一些帶有順序控製或配方控製的程序,可以考慮采用數據編程的方式,即通過數據的變化來改變係統的控製邏輯或控製順序。

用戶應該盡量采用以上幾種高級層次的編程方式,這樣編出來的程序中嵌入係統的保護加密程序,才不容易被發現而仿製。

(2)主動保護方法

a)利用係統的時鍾;

b)利用程序卡或者CPU的ID號和序列號;

c)利用EEPROM的反寫(xie) 入功能,及一些需要設置的內(nei) 存保持功能;

d)利用係統提供的累時器功能;

e)在用戶程序的數據塊中設置密碼;

f)軟件上設置邏輯陷阱;

g)可以反向利用自己在編程時犯的錯誤。

(3)被動保護方法

a)在內(nei) 存容量利用許可的條件下,不要刪除被認為(wei) 是無用的程序;

b)在數據塊裏留下開發者的標識,以便於(yu) 將來遭到侵權時可以取證。

(4)應用反竊取技術的注意事項

a)在用戶程序中嵌入保護程序要顯得自然一些,不能很突兀的加出一段程序來,代碼要盡量精簡,變量符號名應與(yu) 被嵌入程序段的變量保持一致;

b)往往一種保護加密手段是不夠的,應該多種方法並用,並且這些保護程序一旦激活後對係統造成的後果也應該盡量不同,造成所謂的“地雷效應”,從(cong) 而增加程序被竊取的難度,時間與(yu) 成本,短時間內(nei) 讓抄襲者束手無策;

c)保護好程序的原代碼,如果需要交付程序的,在不影響用戶對設備維護的前提下,應對交付的程序做適當的技術處理,如刪除部分符號名,采用上載的程序或數據塊;

d)做好嚴(yan) 格的測試,以避免保護程序的不完善引起的誤動作而帶來的不必要的麻煩,同時也能降低售後服務的的費用。

使用通訊功能3

在實際應用中,往往會(hui) 遇到一些係統間需要數據交換的問題(多個(ge) PLC之間,PLC與(yu) 第三方儀(yi) 表之間),無論是西門子產(chan) 品之間還是西門子產(chan) 品與(yu) 第三方產(chan) 品之間,建議使用通訊的方案來代替模擬量或開關(guan) 量之間的信號互連的方案。對於(yu) 前者,仿製者隻能看見一條硬件的通訊線,至於(yu) 有多少數據是如何通過通訊交換的,仿製者必須要花精力研究具體(ti) 的用戶程序才能搞清楚;而對於(yu) 後者,開發者是省心省力了,仿製者也是一目了然,盡收眼底。

對於(yu) 一些變頻器或者伺服電機等的程序設計,一般有多種方式,可以線路直接控製還可以通訊控製,那麽(me) 使用通訊的方式的話會(hui) 使得程序增加了仿製的難度,比如說PLC對於(yu) 伺服驅動器的控製有多種,簡單一些的可以是脈衝(chong) 直接控製或者模擬量控製,這種方式就容易仿製,如果換成通訊控製,則會(hui) 使得程序複雜很多,加上仿製者如果對報文不熟悉,很難去仿製。

有時候控製係統會(hui) 由多個(ge) 子控製係統構成,由此形成多CPU加人機界麵的網絡,西門子S7-200產(chan) 品常見的是PPI網絡,S7-300400產(chan) 品常見的是MPI網絡,通常是人機界麵與(yu) CPU之間的數據交換,而我們(men) 也可在CPU的用戶程序中添加一些無須組態的S7基本通訊功能(S7-200可用NETRNETW指令,S7-300400可以用X_PUTX_GET指令),定時或不定時地在CPU之間進行少量數據交換,通過這些數據實現子係統控製邏輯的互鎖。對於(yu) 這樣的係統,仿製者要分析某一子係統的程序也不是件十分容易事情。

采用麵板類型的人機界麵4

盡量在自動化係統中使用麵板類型的人機界麵來代替單一的按鈕指示燈,很多人機界麵沒有源程序的話隻有備份和恢複功能,完全可以實現維護功能還保密了HMI這一層的程序,而對於(yu) 一個(ge) PLC係統而言,即使擁有了源程序但是缺失了HMI部分的標記也是很難仿製的。

而且開發者可以在麵板的畫麵上加上明顯的廠家標識和聯係方式等信息,仿製者就不能原樣照抄。

如果就使得如果仿製者想要複製程序的話,就必須重新編寫(xie) 操作麵板的程序甚至於(yu) PLC的程序,而開發者則可利用麵板和PLC數據接口的一些特殊功能區(如西門子麵板的區域指針,或VB腳本)來控製PLC的程序執行。這樣的PLC程序在沒有HMI源程序的情況下隻能靠猜測和在線監視來獲取PLC內(nei) 部變量的變化邏輯,費時費力,極大的增加了仿製抄襲的難度。

采用非標準的人機界麵5

德國工程師都願意使用這種方式。

在中國,大多數工程師都願意使用WINCC,INTOUCH或者組態王等等,但其實除了這些軟件,還有一種更加高大上的編寫(xie) 方式,那就是利用VB自己寫(xie) 程序,而對於(yu) 軟件與(yu) PLC的接口,大家可以選擇LIBNODAVE或者其他庫等,這種方式寫(xie) 出來的人機界麵有著很多好處,首先沒有版權問題,因為(wei) VB軟件是免費的,而且對於(yu) WINDOW係統的升級來說隻需要簡單的添加幾個(ge) 文件即可實現,不像WINCC那樣,如果window升級了,需要大量修改文件。一般人都無法修改,更別提仿製了;沒有很好的計算機編程功底的話就不敢輕易修改,而僅(jin) 僅(jin) 有計算機功底又沒有PLC或者工藝基礎的話也是無法更改的。作者曾經利用S7-300做過這麽(me) 一套係統,但我的目的不是保密,而是甲方要求,坐出來的係統完全按照自己的風格,很是舒服。

最後,告誡大家一下,不要過分消費中國工業(ye) 市場的誠信,合理的利用PLC技術達到保護核心機密,而不是過分利用它達到其他目的。中國工業(ye) 市場的誠信問題需要所有人的努力才有機會(hui) 改善。

Tags:plc加密,PLC  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢