1.先了解普遍的PLC解密方式。知己知彼才能百戰(zhàn)不殆,你只有全面的了解了現(xiàn)行的PLC普遍解密方式,才能以此作出更好的加密方案,F(xiàn)在出售的都是拆機解密軟件,還沒有直讀軟件出世,都是通過拆取EEPROM芯片,修改其系統(tǒng)塊而去除了密碼保護得到程序的。這樣的解密方法確實達到了讀取程序的目的,但是這個藥方副作用太大,完全改變了系統(tǒng)塊的原始設(shè)置。由于不知道也無法知道原始系統(tǒng)塊的設(shè)置,匆匆忙忙就用一個從其他PLC得到的系統(tǒng)塊替換過來,完全改變了原有的設(shè)置,那么由此我們就可以根據(jù)他的這個缺陷而制造出有針對性的反拆機加密,F(xiàn)在您可以先下載例程看看了
2.一定要設(shè)置4級密碼保護。2.0以上版本的PLC都具備4級加密功能,這也是最高級別的加密,如果您單獨設(shè)置3級加密那么很容易被破解。因為只需拆機讀取了芯片就得到了原始密碼,無需修改芯片,有了密碼憑密碼就可以上載程序了。所以您如果只是設(shè)置了3級加密保護那么等于是白給,必須設(shè)置最高級別4級保護。那么4級保護怎么厲害呢?看下圖說明,4級密碼保護是無法上載的,無論你是否知道密碼,意思是你即使已經(jīng)知道了密碼你也無法上載。拆機解密為了能夠達到上載的目的采用的是整個系統(tǒng)塊替換的方法,替換后就是沒有加密功能的系統(tǒng)塊了,程序就可以上載了,但是他改變你原有的設(shè)置,所以接下來我再教你如何對付這種替換系統(tǒng)塊解密。
3.通訊端口設(shè)置不能默認。你點擊一下下圖中的那個 默認值 按鈕就可以知道,系統(tǒng)塊的通訊設(shè)置默認值都是波特率9600站號2,為了能夠達到破解后讓敵人無法通訊的目的你最好設(shè)置187.5kbps的波特率,但是如果您的電纜不支持這個通訊速率那么還是算了吧!PLC的地址不要默認2,這樣太弱智了,選擇其他站號地址吧。這樣搞,即使被破解也可以達到讓別人無法通訊連接的目的,特別你有觸摸屏或者上位機與之通訊就更好了,破解后由于跟你原先的通訊設(shè)置對不上, 外部的設(shè)備就無法通訊了,最后還得找您。好,真好。
4.設(shè)置特種斷電保持區(qū),不要默認?聪聢D的斷電數(shù)據(jù)保持區(qū)的設(shè)置,都是系統(tǒng)默認的數(shù)值,如果你懶得從這里做一下手腳,完全使用系統(tǒng)默認的設(shè)置,那么你的加密即使是4級也是枉然,因為他們就是采用的系統(tǒng)默認的系統(tǒng)塊替換你的4級加密文件的。
那么到底如何從這個系統(tǒng)塊是設(shè)置里改變默認設(shè)置來達到防破解的目的呢?這個方法就多了,千變?nèi)f化,就看你的聰明才智了,下面我舉例一個方法您看看,你可以依次類推,舉一反三。
5.檢測掉電保持區(qū)數(shù)據(jù)是否丟失。用編程的方法檢測查找你預(yù)先埋入的數(shù)值是否還完好,運行后埋入的地雷是否爆炸了,檢測你的程序是否遭到了拆機解密,廢話少說看圖:
當(dāng)然這只是簡單的加密,實際應(yīng)用中不可能這么簡單真好懂,你應(yīng)當(dāng)盡量做的復(fù)雜,以至于無法讀懂程序,數(shù)據(jù)要多變換、傳送、轉(zhuǎn)移、計算等進行一系列復(fù)雜的邏輯運算,最后才用于停機。你在系統(tǒng)塊的掉電保持區(qū)中可以設(shè)置vb0-vb40為掉電保持區(qū),而vb40以后的要求掉電清空,你在程序中可以設(shè)置在plc上電的初始時期是否有數(shù)據(jù),如果有數(shù)據(jù) 那么停機,如果沒有開機,然后再檢測掉電保持區(qū)的數(shù)據(jù),你事先埋下數(shù)值地雷,檢測你之前寫入的數(shù)值如果沒有了那么停機吧!總結(jié):要設(shè)置與系統(tǒng)默認值相反的掉電保持區(qū)!