在PLC解密用戶手冊(cè)和編程手冊(cè)里,用戶手冊(cè)中有一章節(jié)是《性能規(guī)格》,編程手冊(cè)里有一章節(jié)是《繼電器,儲(chǔ)存器一覽表》或者稱為《軟元件一覽表》,里面就會(huì)介紹各自PLC的輸入輸出的點(diǎn)數(shù)、程序容量、內(nèi)外部繼電器的編號(hào)、數(shù)據(jù)存儲(chǔ)器分類、區(qū)域,以及哪些是停電保持,哪些是停電不保持的。哪些是保存在內(nèi)部FLASH ROM ,哪些是靠電池保存數(shù)據(jù)的,這些內(nèi)容,這些章節(jié)一定要反復(fù)研究,編程者往往在這里面做文章。舉個(gè)例子,比如FPX的內(nèi)部繼電器R2480是斷電保持繼電器,程序里面把R2480作為自動(dòng)的條件之一,在程序第一次輸入的時(shí)候,要人為的使R2480置ON,這樣程序才能正常工作,再比如,DT32710數(shù)據(jù)寄存器存有機(jī)器設(shè)備工作循環(huán)次數(shù)的參數(shù),在程序第一次輸入的時(shí)候,要人為的設(shè)置,如果你拷貝程序或解密讀出程序,沒有把斷電保持的繼電器狀態(tài)、數(shù)據(jù)寄存器數(shù)據(jù)一起拷貝,你的程序也是不能正常運(yùn)行的。所以解密也是要了解該PLC的這些繼電器,寄存器的作用,以及如何進(jìn)行備份,拷貝,保護(hù)不在解密時(shí)被清除。
為了研究PLC解密,學(xué)習(xí)了松下FP通迅協(xié)議MEWTOCL協(xié)議,反復(fù)監(jiān)控協(xié)議內(nèi)容,上下載程序的過程,比較內(nèi)存區(qū)域數(shù)據(jù),
包括程序上下載的協(xié)議等隱含的協(xié)議,在松下FP通迅協(xié)議中沒公布的協(xié)議,都有了深入的了解,比如松下PLC上載程序是采用%EE#010命令,PLC下載程序是采用%EE#020命令。這些命令的用法以及回復(fù)數(shù)據(jù)的意義都搞的一清二楚。
通過反復(fù)下載上載程序,比對(duì)密碼的密文,下了大量的數(shù)據(jù),明文-密文對(duì)比,終于搞清楚密文算法,找到密文就能算出密碼。比如在PLC密碼寄存器里存的數(shù)據(jù)是20 DF 20 DF 20 DF 20 DF,那么對(duì)應(yīng)的密碼就是77777777,密碼密文是38 CB 30 D3 28 DB 20 E3那么對(duì)應(yīng)的密碼就是12345678。
關(guān)于禁止上載,FPX,只要設(shè)置禁止上載,即使不加密,也不能上載程序,但是反復(fù)比較存儲(chǔ)在PLC內(nèi)部的數(shù)據(jù),終于發(fā)現(xiàn),禁止上載,存儲(chǔ)在PLC內(nèi)部的程序并沒有加密,存儲(chǔ)的位置也沒有變化,這樣只要找到合適的方法,就能上載到程序。










