PLC加密技術,其實就是開發(fā)者的一種思路,只要明白了作者的加密思路,就能對它很快的解密。其實,在自然界中不管是PLC,還是電梯主板只要有加密的存在就會有破解它的秘籍,呵呵,這二者永遠都是矛和盾的結合體。好了不說廢話了,入正題。
先介紹兩種PLC解密方法: 1,直讀法。2,暴力破解法。
直讀法就以三菱FX2為例: 先打開串口監(jiān)控軟件(到網(wǎng)上百度一下就有很多,這里我用論壇PLC版里的串口并口監(jiān)控軟件),監(jiān)控串口的進出數(shù)據(jù)。然后讓再運行FXWIN(PLC編程軟件)和PLC聯(lián)機,選了型號后點程序讀取這時候在串口監(jiān)控軟件中可以看見電腦和PLC間互發(fā)了幾串字符,最后一行由PLC發(fā)給電腦的就是密碼,只是它是ASII碼對照一下表格,把它翻譯成字符就得出密碼了。呵,這是三菱PLC的漏洞,它的編程軟件是先將密碼讀到電腦內存在和用戶輸入的密碼進行比較,密碼對就可以讀出程序。我試驗了一下,用串口軟件把倒數(shù)第二行字符發(fā)到PLC,PLC同樣返回了密碼。說到這大家知道這個解密軟件怎么做了吧?整個解密軟件只要發(fā)一串字符到PLC,再把PLC返回的帶密碼的字符翻譯成密碼就可以了。 有些PLC就沒這樣的漏洞了,像OMRON和FUJI NB2,它們都是把用戶輸入的密碼傳到PLC由PLC判斷密碼是否正確才判定能否讀取程序。
對付它們就用第二種方法了,暴力破解: 同樣運行串口監(jiān)控軟件,打開編程軟件聯(lián)機,點程序讀取,再輸入密碼1234,如果讀出了程序,那就不用解了。如果顯示密碼錯誤,那就看看監(jiān)控軟件里的數(shù)據(jù).查找1234這個字符串,在含有1234的字符后會有一行PLC返回的表示密碼錯誤的信息,把這行錯誤信息記錄下來。然后打開VB,做個小工程:讓電腦發(fā)那行含有1234的字符串到串口,當然,要有個循環(huán)語句,就是把1234改成從0000到FFFF,讓電腦不停的嘗試。用IF語句把返回的信息和剛才記錄下來的那條錯誤信息比較,如果信息不同則停止嘗試,試到的密碼就是PLC的密碼了。
看到這您是否已經(jīng)感覺到PLC加密技術也不過如此。海闊天空的感覺。恭喜你,說明你已經(jīng)領會了加密和解密的真理。具體的實現(xiàn)方法很多種。但領會真理是最重要也是最難的。俗話說:大道無術,中到有形,小道若巧。呵呵,先說到這吧,一些細節(jié)一時半會也不能介紹的太清楚。大家自己動手多嘗試,多動腦,多領悟定有收獲。有什么疑問也可在論壇給我留言!
記住,我們掌握加解密技術只是為了更好的學習,切勿用于其它非法用途哦。在這里提個醒,以免誤人子弟了。
大家看后,覺得有不對的地方還望指正,互相交流。覺得有道理的話,別忘了頂下帖哦。
刪除了后面的廣告。
[ 此帖被guochunyi在2011-08-07 13:42重新編輯 ]