国产三级伦理在线,久久久久黄久久免费漫画,成人国产精品日本在线,欧美美最猛性xxxxxx

    西門子S7-200CN與02版解密研究
    發布者:晉江速捷自動化科技有限公司  發布時間: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  
主站蜘蛛池模板: 阳泉市| 双城市| 黑河市| 涞源县| 吉林省| 比如县| 基隆市| 罗源县| 永顺县| 博罗县| 都昌县| 黔南| 邵阳县| 安溪县| 双鸭山市| 五原县| 海晏县| 承德市| 德化县| 揭西县| 望江县| 临潭县| 深水埗区| 翼城县| 凤山市| 霍州市| 泸州市| 津市市| 呼图壁县| 常山县| 来安县| 夹江县| 隆昌县| 金寨县| 九龙城区| 福建省| 海林市| 都江堰市| 安陆市| 南充市| 枣阳市|