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

刪除了后面的廣告。
[ 此帖被guochunyi在2011-08-07 13:42重新編輯 ]
本帖最近評(píng)分記錄:
  • 下載積分:+5(xqx666) 優(yōu)秀文章
  • 下載積分:+5(銘杰工控) 優(yōu)秀文章
    yumingming
    級(jí)別: 正式會(huì)員
    精華主題: 0
    發(fā)帖數(shù)量: 69 個(gè)
    工控威望: 85 點(diǎn)
    下載積分: 3504 分
    在線時(shí)間: 35(小時(shí))
    注冊時(shí)間: 2011-05-28
    最后登錄: 2012-09-18
    查看yumingming的 主題 / 回貼
    1樓  發(fā)表于: 2011-08-06 14:37
    學(xué)習(xí)了。