TDA2030功放電路圖 電動車充電器電路圖 電子電路 功放電路 電子制作 集成塊資料 電子報 pcb 變壓器 元器件知識 逆變器電路圖 電路圖 開關(guān)電源電路圖 傳感器技術(shù) led 電磁兼容
電子電路圖
當(dāng)前位置: 首頁 > 電子電路 > 電子基礎(chǔ)

介紹PLC可編程控制器密碼破解程序

時間:2012-07-26 12:26:20來源:原創(chuàng) 作者:admin 點擊:

介紹PLC可編程控制器密碼破解程序   <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正!



朋友拿回來個plc,他們工作上用那控制電器柜里的變頻器,里面要輸程序(通過串口com1),每次找人家都要收費,而且程序是加密地,沒密碼導(dǎo)不出來,我覺定來個破解,找了很久破解工具,都是要匯款才行,自力更生把,看了不久的vb,就來編個程序吧,時間有限,經(jīng)歷有限,一個星期的測試,終于知道了破解方法。先說下思路把::    <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正!




   我是在臺達的plc上測試的,條件有限,沒有測試種類,但方法差不多    <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正!




  通過com1進行串口通訊,當(dāng)輸入密碼后pc向plc發(fā)出加密過的數(shù)據(jù),plc返回數(shù)據(jù)進行比對是否一致,錯誤則跳轉(zhuǎn)到錯誤提示,破解有兩個途徑,密碼比對是在pc端進行的,可以通過匯編把那個通信軟件改了當(dāng)比對時跳轉(zhuǎn)導(dǎo)正確地址,但程序太多的控件,找不到內(nèi)存的跳轉(zhuǎn)地址(還是本人的水平問題),但匯編發(fā)現(xiàn)大概是在0045210E    地址處,這種方法不太可行,也請通過此法研究的朋友和我交流    <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正!




 第二種方法也我試驗成功的,通過對返回數(shù)據(jù)的解密來得到密碼,我測試的工具是串口精靈,通過無數(shù)次的分析本人知道了加密的方式
 例:隨便輸入密碼后收到的數(shù)據(jù)為
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    <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正!




可以看出有的規(guī)律,從紅色的3a即最后一個,后數(shù)12位開始,去兩個數(shù)為一組,取八組即33 31 33 31 33 31 33 31  是在hex下,把這組數(shù)據(jù)按ASCII碼轉(zhuǎn)換為字符,得到31313131,再按hex----ASCII的方式轉(zhuǎn)換一次,得到明文密碼,1111,密碼不同,解不同,
這樣做太麻煩了,寫個程序,用vb完成。我剛看了基本vb的書,還不太熟悉程序還沒做完,只做了通信部分的代碼
我會盡快做完并在博客發(fā)布    <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正。》




先在窗體中加入MSComm控件,在部件中引用,迷你版的vb沒有,可以下載該控件并注冊,
Option Explicit’強制變量聲明
Private Sub Command1_Click()’按鈕單擊事件
MSComm1.PortOpen =ture ’關(guān)閉串口
MSComm1.CommPort = 1 ’設(shè)置串口為com1
MSComm1.Settings = "9600,n,8,1" ’通訊參數(shù) 波特率 奇偶校驗 數(shù)據(jù)位 停止位
MSComm1.InputMode = comInputModeBinary ’二進制接收
MSComm1.InBufferCount = 0 ’清空接收緩沖區(qū)
MSComm1.RThreshold = 1 ’緩沖區(qū)中接收到一個字符,就產(chǎn)生一次OnComm事件
End Sub    <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正!




Private Sub MSComm1_OnComm() ’有數(shù)據(jù)傳送時觸發(fā)
Dim w As Variant’定義變量
Dim a,b,c As Byte’定義字節(jié)數(shù)組
Select Case MSComm1.CommEvent ’’CommEvent屬性:返回最近的通訊事件或錯誤。通過對它具體屬性值的查詢,我們就可以獲得通訊事件和通 訊錯誤的完整信息。當(dāng)其值是comEvReceive時表示接收到數(shù)據(jù)。    <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正!




Case comEvReceive ’有接收事件
w = MSComm1.Input ’接收到的數(shù)據(jù)存放到indata里
a = AscB(indata) ’返回indata的值
MSComm1.InBufferCount = 0’ 清空接收緩沖區(qū)
End Select
End Sub   <<版權(quán)聲明:本文由容源電子網(wǎng)(www.4811775.com)整理提供,部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯到你的權(quán)利請與我們聯(lián)系更正。》


容-源-電-子-網(wǎng)-為你提供技術(shù)支持

本文地址:http://www.4811775.com/dz/21/plc_85.shtml


本文標簽:


.
頂一下
0%
返回首頁
0
0%

------分隔線----------------------------
發(fā)表評論
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
表情:
名稱: E-mail: 驗證碼: 匿名發(fā)表
發(fā)布文章,推廣自己產(chǎn)品。
熱門標簽