介紹PLC可編程控制器密碼破解程序 <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
朋友拿回來個plc,他們工作上用那控制電器柜里的變頻器,里面要輸程序(通過串口com1),每次找人家都要收費,而且程序是加密地,沒密碼導不出來,
我覺定來個破解,找了很久破解工具,都是要匯款才行,自力更生把,看了不久的vb,就來編個程序吧,
時間有限,經歷有限,一個星期的測試,終于知道了破解方法。先說下思路把:: <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
我是在臺達的plc上測試的,條件有限,沒有測試
種類,但方法差不多 <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
通過com1進行串口通訊,當輸入密碼后pc向plc發(fā)出加密過的數據,plc返回數據進行比對是否一致,錯誤則跳轉到錯誤提示,破解有兩個途徑,密碼比對是在pc端進行的,
可以通過匯編把那個通信軟件改了當比對時跳轉導正確地址,但
程序太多的控件,找不到內存的跳轉地址(還是本人的水平問題),但匯編發(fā)現大概是在0045210E 地址處,
這種方法不太可行,也請通過此法研究的朋友和我交流 <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
第二種方法也我試驗成功的,通過對返回數據的解密來得到密碼,我測試的工具是串口精靈,通過無數次的分析本人知道了加密的方式
例:隨便輸入密碼后收到的數據為
3A 30 31 30 33 30 32 34 34 35 35 36 31 0D 0A 3A 30 31 30 31 30 31 32
44 44 30 0D 0A 3A 30 31 30 33 30 34 33 31 33 31 33 31 33 31 33 34 0D 0A <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
可以看出有的規(guī)律,從紅色的3a即最后一個,后數12位開始,去兩個數為一組,取八組即33 31 33 31 33 31 33 31
是在hex
下,把這組數據按ASCII碼轉換為字符,得到31313131,再按hex----ASCII的方式轉換一次,得到明文密碼,1111,密碼不同,解不同,
這樣做太麻煩了,寫個程序,用vb完成。我剛看了基本vb的書,還不太熟悉程序還沒做完,只做了通信部分的代碼
我會盡快做完并在博客發(fā)布 <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
先在窗體中加入MSComm控件,在部件中引用,迷你版的vb
沒有,可以下載該控件并注冊,
Option Explicit’強制變量聲明
Private Sub Command1_Click()’按鈕單擊事件
MSComm1.PortOpen =ture ’關閉串口
MSComm1.CommPort = 1 ’設置串口為com1
MSComm1.Settings = "9600,n,8,1" ’通訊參數 波特率 奇偶校驗 數據位 停止位
MSComm1.InputMode = comInputModeBinary ’二進制接收
MSComm1.InBufferCount = 0 ’清空接收緩沖區(qū)
MSComm1.RThreshold = 1 ’緩沖區(qū)中接收到一個字符,就產生一次OnComm事件
End Sub <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
Private Sub MSComm1_OnComm() ’有數據傳送時觸發(fā)
Dim w As Variant’定義變量
Dim a,b,c As Byte’定義字節(jié)數組
Select Case MSComm1.CommEvent ’’CommEvent屬性:返回最近的通訊事件或錯誤。通過對它具體屬性值的查詢,我們就可以獲得通訊事件和通 訊錯誤的完整信息。當其值是comEvReceive時表示接收到數據。 <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
Case comEvReceive ’有接收事件
w = MSComm1.Input ’接收到的數據存放到indata里
a = AscB(indata) ’返回indata的值
MSComm1.InBufferCount = 0’ 清空接收緩沖區(qū)
End Select
End Sub <<版權聲明:本文由容源電子網(m.jssjbk.com)整理提供,部分內容來源于網絡,如有侵犯到你的權利請與我們聯系更正。》
本文地址:http://m.jssjbk.com/dz/21/plc_85.shtml
本文標簽:
猜你感興趣:
無