我前幾年做設備用的是三菱fx2n,對fx2n的研究已經很長時間了,已經非常熟悉。雖然用了很多方法來做程序保護,包括:
設置密碼;
設定通訊格式;
設置記憶性的作為密碼;
程序分二部分,先運行一次預先程序,再輸入真正的軟件運行;
讀取的plc程序(程序+內存數據)寫入新的plc,但一運行就報告出錯;
程序大到6000-7000步,程序里面大部分是數字處理,使破解者難以讀懂程序等等。
因為見到網上有人(福建的)寫出幫人破解plc的過程里面提到的保護措施幾乎跟我所采用的一致,最后也不得不硬著頭皮分析了6000多步的程序,最終也破解了。所以我相信我做的設備可能已經被人破解了。
三菱fx3u標榜安全的加密方法,可以設置2級密碼及防止上傳等,所以本人比較感興趣。去年從國內回來前,向好朋友阿干要了一個fx3u 16m
帶過來研究,因為。我想試試究竟會不會被破解。
花了一個月左右的時間研究,當然每個星期最多只有2天的休息時間來玩,已經對fx3u的物理影像地址、監控x,y,m,t,c,s位狀態地址、fx3u強制位地址、c0-c255當前值、特殊數據d8000-d8511的地址、密碼處理過程、通訊口波特率設置,gppw軟件的通訊命令比較清楚,并用vb編寫了“fx3u系列plc專用測試程序2.1.0”方便進行設備接線是否正確調試,也包含了保護狀態讀取和一級密碼處理,如圖2。
對于密碼的研究結果:三菱的編程軟件gppw對輸入的2級密碼進行了加密運算后再傳送到plc,所以就算用串口監控軟件讀取的是加密后的數據,加密算法不得而知。
對于通訊波特率的研究結果:plc 在上電時產生一個隨機數四個字節十六進制樹存放在物理地址00ee8h上,gppw在通訊開始時先在9600波特率下讀取了plc的地址00ee8h起四個8位字節的內容,經過了專用的算法計算(現在未知算法),把計算結果發送到plc地址00eech起的四個8位字節中,plc確認數值正確激活為:波特率可變模式,gppw再發送命令更改波特率。然而地址00ee8h的內容每次啟動都是變化的,要想激活,這就需要知道計算的算法了。
我自己認為無法破解上述兩個問題,去年5月份的時候就停止了研究了。阿干去年也跟我說過,拆機做些處理是可以破解的。
一年后的今天,有人在網上說出了破解方法,要做硬件處理,還不用拆機也可以,今天我就試一試看看是否真的可以破解。
運行三菱gppw軟件先對fx3u plc進行2級密碼+禁止所有在線操作,如圖3,圖4我設置的密碼分別是:11111111, 22222222
然后運行我的軟件進行查看,如圖5、圖6
然后plc斷電,按別人說的進行plc硬件處理,過程不便在這里公開,再運行我的軟件檢查,如圖7 。
保護狀態變為了:第二關健字未設置,可以讀取密碼,這時的密碼跟原始的密碼是不同的。
然后再運行三菱編程gppw軟件進行讀取plc,要求輸入密碼時僅輸入第一級密碼(上面的),真的可以將參數設置、程序、軟元件全部讀取。
fx3u plc真的被破解了。

















