西門子S7-200CN與02版解密研究
    發布者:jiemiPLC  發布時間:2021-01-11 11:29:46  訪問次數:420

    今天給大家分享的是:西門子02版與CN版PLC解密,老版的S7-200 PLC都被網友解密出來了,新出來02版和CN版的都用軟件讀不到密碼,我們也嘗試了很多種方法,對PPI協儀也進行了深入了解,下面把我監控的PPI協儀給大家分享。

    讀命令分析:一次讀一條數據

    SD LE LER SD DA SA FC DASP SSAP DU FCS ED

    SD:(Start Delimiter)開始定界符(68H)

    LE:(Length)報文數據長度

    LER:(Repeated Length)重復數據長度

    SD: (Start Delimiter)開始定界符(68H)

    SA:(Source Address)目標地址,指該地址的指針,為地址值乘以8

    DA:(Destination Address)本地地址,指該地址的指針,為地址值乘以8

    FC:(Function Code)功能碼

    DSAP:(Destination Service Access Point)目的服務存取點

    SSAP:(Source Service Access Point)源服務存取點

    DU:(Data Unit)數據單元

    FCS:(Frame Check Sequence)校驗碼

    ED:(End Delimiter)結束分界符(16H)

    報文數據長度和重復數據長度為自DA至DU的數據長度,校驗碼為DA至DU數據的和校驗,只取其中的末字節值關于這個校驗碼的計算方法同上面說明。

    在讀寫PLC的變量數據中,讀數據的功能碼為 6CH,寫數據的功能碼為 7CH。

    對于一次讀取一個數據,讀命令都是33個字節。前面的0—21字節是相同的,為 :

    西門子解密

    s7-200解密

    因為是PC上發的讀PLC數據的命令,SA=00,DA=02,如果有b多個站,DA要改成相應的站號。讀命令中從DA到DU的長度為1B即27個字節。從22字節開始根據讀取數據的類型、位置不同而不同。表一是讀不同存儲器命令的Byte22—32。

    西門子02版與CN版S7-200解密

    表一讀命令的Byte22-32從表中我們可以得出以下結果:

    Byte 22 讀取數據的長度

    01:1 Bit 02:1 Byte

    04:1 Word 06:Double Word

    Byte 24數據個數,這里是01 ,一次讀多個數據時見下面的說明。

    Byte 26 存儲器類型,01:V存儲器 00:其它

    Byte 27 存儲器類型

    04:S 05:SM 06:AI 07:AQ 1E: C

    81:I 82:Q 83:M 84:V 1F: T

    Byte 28,29,30存儲器偏移量指針(存儲器地址*8),如:VB100,存儲器地址為100,偏移量指針為800,轉換成16進制就是320H,則Byte 28—29這三個字節就是:00 03 20。

    Byte 31 校驗和,前面已說到這是從(DA+SA+DSAP+SSAP+DU) Mod 256 。

    一次讀多條數據

    對于一次讀多個數據的情況,前21Byte與上面相似只是長度LD,LDr及Byte 14不同:

    Byte 14 數據塊占位字節,它指明數據塊占用的字節數。與數據塊數量有關,長度=4+數據塊數*10,如:一條數據時為4+10=0E(H);同時讀M,V,Q三個不同的數據塊時為4+3*10=22(H)。

    Byte 22 總是02 即以Byte為單位。

    Byte 24 以字節為單位,連續讀取的字節數。如讀2個VD則Byte24=8

    Byte 19---30 按上述一次讀一個數據的格式依次列出,

    Byte 31---42 另一類型的數據,也是按上述格式給出。

    以此類推,一次最多讀取222個字節的數據。

    寫命令分析:一次寫一個Double Word類型的數據,寫命令是40個字節,其余為38個字節。寫一個Double Word類型的數據,前面的0—21字節為 :

    68 23 23 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10

    寫一個其它類型的數據,前面的0—21字節為 :(與上面比較,只是長度字節發生變化)

    68 21 21 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10

    從22字節開始根據寫入數據的值和位置不同而變化。表二是幾個寫命令的Byte22—40。表二 寫命令的Byte22—40

    經分析我們可以得出以下結果:

    Byte 22-- Byte 30 寫入數據的長度、存儲器類型、存儲器偏移量與讀命令相同。T,C等不能用寫命令寫入。

    Byte 32 如果寫入的是位數據這一字節為03,其它則為04

    Byte 34 寫入數據的位數

    01: 1 Bit 08: 1 Byte 10H: 1 Word 20H: 1 Double Word

    Byte 35--40值、校驗碼、結束符

    如果寫入的是位、字節數據,Byte35就是寫入的值,Byte36=00,Byte37=檢驗碼,Byte38=16H,結束。如果寫個的是字數據(雙字節),Byte35,Byte36就是寫入的值, Byte37=檢驗碼,Byte38=16H,結束。如果寫個的是雙字數據(四字節),Byte35—38就是寫入的值, Byte39=檢驗碼,Byte40=16H,結束。

    看完上面的指令分析我們現在就舉例幾個常用的PPI協議來分析一下:

    PC尋呼:10 02 00 49 4B 16

    PLC返回:10 00 02 02 04 16

    PC發送:10 02 00 5C 5E 16

    PLC返回: E5

    我們先來看看西門子S7-200PLC的讀取密碼指令:

    請用串口軟件以16進制發送,端口設置9600;e;8;1

    發送:68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05 E0 D2 16 意思:要求傳送系統存儲區05E0位開始的8個字符(這就是8個密碼數值)。

    如果通訊無誤,PLC會返回 E5,意思:已經收到

    那么這時上位機再次發送指令 10 02 00 5C 5E 16 意思:請執行命令。(說到這里打住一下,PLC返回E5指令后上位機PC要在很短的時間內發送確認指令,晚了剛才的指令就無效了具體多長時間我也沒測準,反正1 2秒時間是沒有問題的。)

    那么這時PLC就真的執行命令了返回如下字符:68 1D 1D 68 00 02 08 32 03 00 00 00 00 00 02 00 0C 00 00 04 01 FF 04 00 40 9B 98 02 06 9D 9A 00 76 7D 16

    好了,說到這里就此停止,大家看看密碼是多少!你如果真正明白了PPI協議就不難看出密碼了,你多做實驗一定能得出結果的。

    下面再看一個讀取PLC版本號的指令:

    我們在解密中首先要確定的是PLC的版本號。就是要看看是老版本還是02版的,也好做出加解密方案。他的通訊源碼是這樣的:

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

    68 1B 1B 68 02 00 7C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 14 00 00 03 00 00 00 09 16

    發送完上面數據PLC返回E5.

    再次發送確認指令:10 02 00 5C 5E 16

    這時plc的版本號就返回來了。看下面:

    68 29 29 68 00 02 08 32 03 00 00 00 00 00 02 00 18 00 00 04 01 FF 04 00 A0 43 50 55 20 32 32 36 20 43 4E

    20 20 20 20 20 20 30 32 30 31 D7 16

    你看這一段:43 50 55 20 32 32 36 20 43 4E 20 20 20 20 20 20 30 32 30 31 就是plc版本號的ASCII碼。用ASC方式顯示就會看的更明白上面數據是:C P U SP 2 2 6 SP C N 0 2 0 1 (sp就是空格)

    再一個就是讀TD200密碼指令:

    68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 02 00 01 84 00 00 50 B9 16

    (VW10)

    通過對上面協儀分析,成功找到西門子S7-200CN解密方法,好了,今天的西門子02版與CN版PLC解密經驗分享就到這里了,希望大家多支持,我們將繼續突破更多更復雜的PLC解密技術。

    免責聲明:線纜網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯系電話:0571-87774297。
0571-87774297  
主站蜘蛛池模板: 神马重口味456| 欧美丰满白嫩bbwbbw| 成年午夜性视频| 国产思思99re99在线观看| 777国产偷窥盗摄精品品在线| 好吊色青青青国产在线观看| 中文字幕日本精品一区二区三区| 日韩激情无码免费毛片| 免费看黄色一级| 美女高清特黄a大片| 国产偷窥熟女精品视频| 国产精品亚洲综合五月天| 国产精品免费久久久久电影网| 中文字幕免费在线观看动作大片| 日韩国产有码在线观看视频| 亚洲专区一路线二| 欧美成人看片黄a免费看| 亚洲精品中文字幕无码AV| 理论片在线观看韩影库| 六月婷婷综合激情| 经典三级四虎在线观看| 国产2021中文天码字幕| 艾粟粟小青年宾馆3p上下| 国产区精品一区二区不卡中文 | 又大又湿又紧又大爽a视频| 四虎永久在线观看视频精品| 国产精品日韩欧美在线| 91成人免费版| 巨r精灵催眠动漫无删减| 久久久久久久久蜜桃| 欧美在线第一二三四区| 亚洲欧美激情精品一区二区| 海角社区hjb09| 亚洲黄色片一级| 玉蒲团之偷情宝典| 免费**毛片在线播放直播| 精品一区二区三区在线视频| 初尝人妻少妇中文字幕| 精品国产综合区久久久久久| 吃奶呻吟打开双腿做受动态图| 成年人网站免费视频|