plc解密技術(shù)思路及PLC的解密分析
PLC的解密是為了能夠讀出PLC的程序,解密出來(lái)的程序能夠方便直接寫(xiě)到另一臺(tái)PLC中,因?yàn)橛袝r(shí)在工業(yè)生產(chǎn)過(guò)程中,PLC生產(chǎn)設(shè)備有可能出現(xiàn)故障,把PLC解密出來(lái)的程序?qū)懙叫碌腜LC上可以確保設(shè)備正常工作生產(chǎn)。這對(duì)工業(yè)生產(chǎn)的設(shè)備進(jìn)行維修和改造來(lái)提升性能有一定的幫助。這個(gè)解密過(guò)程通過(guò)軟件或者拆機(jī)解密進(jìn)行串口監(jiān)視,從而把PLC的密碼破解,使用戶(hù)能夠?qū)Τ绦蜻M(jìn)行讀和寫(xiě),以及上載和下載程序。
加密是出于對(duì)數(shù)據(jù)和程序的保護(hù),在數(shù)據(jù)和信息的傳輸中采用加密技術(shù)對(duì)所需要保護(hù)的數(shù)據(jù)或者信息進(jìn)行適當(dāng)?shù)奶幚,包括一定的?guī)律進(jìn)行計(jì)算。目的是使數(shù)據(jù)和信息不被別人輕易的識(shí)別和盜用。通過(guò)信息處理的這個(gè)過(guò)程就是加密過(guò)程,逆過(guò)程就是解密過(guò)程了。為了方便理解,我們把在信息加密過(guò)程中需要處理的信息稱(chēng)為“明文”。而經(jīng)過(guò)一定的計(jì)算處理后的信息就叫做“密文”。加密的過(guò)程是把“明文”變化成為”“密文”,以此相反,把“密文”通過(guò)一定的處理變成“明文”這一過(guò)程就稱(chēng)為解密。
PLC加密技術(shù),其實(shí)就是開(kāi)發(fā)者的一種思路,只要明白了作者的加密思路,就能對(duì)它很快的解密。其實(shí),在自然界中不管是PLC,還是電梯主板只要有加密的存在就會(huì)有破解它的秘籍,這二者永遠(yuǎn)都是矛和盾的結(jié)合體。
說(shuō)一下plc解密技術(shù)吧,在這里先介紹兩種PLC解密方法:
1,直讀法。
2,暴力破解法。
直讀法,以三菱FX2為例:先打開(kāi)串口監(jiān)控軟件(到網(wǎng)上百度一下就有很多),監(jiān)控串口的進(jìn)出數(shù)據(jù)。然后讓再運(yùn)行FXWIN(PLC編程軟件)和PLC聯(lián)機(jī),選了型號(hào)后點(diǎn)程序讀取這時(shí)候在串口監(jiān)控軟件中可以看見(jiàn)電腦和PLC間互發(fā)了幾串字符,最后一行由PLC發(fā)給電腦的就是密碼,只是它是ASII碼對(duì)照一下表格,把它翻譯成字符就得出密碼了。呵,這是三菱PLC的漏洞,它的編程軟件是先將密碼讀到電腦內(nèi)存在和用戶(hù)輸入的密碼進(jìn)行比較,密碼對(duì)就可以讀出程序。我試驗(yàn)了一下,用串口軟件把倒數(shù)第二行字符發(fā)到PLC,PLC同樣返回了密碼。說(shuō)到這大家知道這個(gè)解密軟件怎么做了吧?整個(gè)解密軟件只要發(fā)一串字符到PLC,再把PLC返回的帶密碼的字符翻譯成密碼就可以了。有些PLC就沒(méi)這樣的漏洞了,像OMRON和FUJINB2,它們都是把用戶(hù)輸入的密碼傳到PLC由PLC判斷密碼是否正確才判定能否讀取程序。
對(duì)付它們就用第二種方法了,暴力破解:同樣運(yùn)行串口監(jiān)控軟件,打開(kāi)編程軟件聯(lián)機(jī),點(diǎn)程序讀取,再輸入密碼1234,如果讀出了程序,那就不用解了。如果顯示密碼錯(cuò)誤,那就看看監(jiān)控軟件里的數(shù)據(jù).查找1234這個(gè)字符串,在含有1234的字符后會(huì)有一行PLC返回的表示密碼錯(cuò)誤的信息,把這行錯(cuò)誤信息記錄下來(lái)。然后打開(kāi)VB,做個(gè)小工程:讓電腦發(fā)那行含有1234的字符串到串口,當(dāng)然,要有個(gè)循環(huán)語(yǔ)句,就是把1234改成從0000到FFFF,讓電腦不停的嘗試。用IF語(yǔ)句把返回的信息和剛才記錄下來(lái)的那條錯(cuò)誤信息比較,如果信息不同則停止嘗試,試到的密碼就是PLC的密碼了。
看到這您是否已經(jīng)感覺(jué)到PLC加密技術(shù)也不過(guò)如此。如果對(duì)PLC解密有什么不懂,也可以找一些專(zhuān)業(yè)的網(wǎng)站學(xué)習(xí);當(dāng)然,如果是有機(jī)器需要進(jìn)行PLC解密,建議還是找專(zhuān)業(yè)解密工程師處理。
加密是出于對(duì)數(shù)據(jù)和程序的保護(hù),在數(shù)據(jù)和信息的傳輸中采用加密技術(shù)對(duì)所需要保護(hù)的數(shù)據(jù)或者信息進(jìn)行適當(dāng)?shù)奶幚,包括一定的?guī)律進(jìn)行計(jì)算。目的是使數(shù)據(jù)和信息不被別人輕易的識(shí)別和盜用。通過(guò)信息處理的這個(gè)過(guò)程就是加密過(guò)程,逆過(guò)程就是解密過(guò)程了。為了方便理解,我們把在信息加密過(guò)程中需要處理的信息稱(chēng)為“明文”。而經(jīng)過(guò)一定的計(jì)算處理后的信息就叫做“密文”。加密的過(guò)程是把“明文”變化成為”“密文”,以此相反,把“密文”通過(guò)一定的處理變成“明文”這一過(guò)程就稱(chēng)為解密。
PLC加密技術(shù),其實(shí)就是開(kāi)發(fā)者的一種思路,只要明白了作者的加密思路,就能對(duì)它很快的解密。其實(shí),在自然界中不管是PLC,還是電梯主板只要有加密的存在就會(huì)有破解它的秘籍,這二者永遠(yuǎn)都是矛和盾的結(jié)合體。
說(shuō)一下plc解密技術(shù)吧,在這里先介紹兩種PLC解密方法:
1,直讀法。
2,暴力破解法。
直讀法,以三菱FX2為例:先打開(kāi)串口監(jiān)控軟件(到網(wǎng)上百度一下就有很多),監(jiān)控串口的進(jìn)出數(shù)據(jù)。然后讓再運(yùn)行FXWIN(PLC編程軟件)和PLC聯(lián)機(jī),選了型號(hào)后點(diǎn)程序讀取這時(shí)候在串口監(jiān)控軟件中可以看見(jiàn)電腦和PLC間互發(fā)了幾串字符,最后一行由PLC發(fā)給電腦的就是密碼,只是它是ASII碼對(duì)照一下表格,把它翻譯成字符就得出密碼了。呵,這是三菱PLC的漏洞,它的編程軟件是先將密碼讀到電腦內(nèi)存在和用戶(hù)輸入的密碼進(jìn)行比較,密碼對(duì)就可以讀出程序。我試驗(yàn)了一下,用串口軟件把倒數(shù)第二行字符發(fā)到PLC,PLC同樣返回了密碼。說(shuō)到這大家知道這個(gè)解密軟件怎么做了吧?整個(gè)解密軟件只要發(fā)一串字符到PLC,再把PLC返回的帶密碼的字符翻譯成密碼就可以了。有些PLC就沒(méi)這樣的漏洞了,像OMRON和FUJINB2,它們都是把用戶(hù)輸入的密碼傳到PLC由PLC判斷密碼是否正確才判定能否讀取程序。
對(duì)付它們就用第二種方法了,暴力破解:同樣運(yùn)行串口監(jiān)控軟件,打開(kāi)編程軟件聯(lián)機(jī),點(diǎn)程序讀取,再輸入密碼1234,如果讀出了程序,那就不用解了。如果顯示密碼錯(cuò)誤,那就看看監(jiān)控軟件里的數(shù)據(jù).查找1234這個(gè)字符串,在含有1234的字符后會(huì)有一行PLC返回的表示密碼錯(cuò)誤的信息,把這行錯(cuò)誤信息記錄下來(lái)。然后打開(kāi)VB,做個(gè)小工程:讓電腦發(fā)那行含有1234的字符串到串口,當(dāng)然,要有個(gè)循環(huán)語(yǔ)句,就是把1234改成從0000到FFFF,讓電腦不停的嘗試。用IF語(yǔ)句把返回的信息和剛才記錄下來(lái)的那條錯(cuò)誤信息比較,如果信息不同則停止嘗試,試到的密碼就是PLC的密碼了。
看到這您是否已經(jīng)感覺(jué)到PLC加密技術(shù)也不過(guò)如此。如果對(duì)PLC解密有什么不懂,也可以找一些專(zhuān)業(yè)的網(wǎng)站學(xué)習(xí);當(dāng)然,如果是有機(jī)器需要進(jìn)行PLC解密,建議還是找專(zhuān)業(yè)解密工程師處理。
相關(guān)產(chǎn)品
網(wǎng)站導(dǎo)航
聯(lián)系我們
![聯(lián)系方式](/skins/CK25/images/contact.jpg)
晉江速捷自動(dòng)化科技有限公司
福建辦事處:
電話(huà):15059791632 【微信】
河南辦事處:
電話(huà):18737151632【微信】
東莞辦事處:
電話(huà):13392719632【微信】
蘇州辦事處:
電話(huà):13236590757【微信】