<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于CAN總線逆向工程的初步探討

          關(guān)于CAN總線逆向工程的初步探討

          作者: 時(shí)間:2016-12-16 來源:網(wǎng)絡(luò) 收藏
            關(guān)于CAN總線逆向工程的初步探討

            隨著中國汽車業(yè)的發(fā)展,汽車的后端市場也日趨繁榮,但由于各汽車生產(chǎn)廠家的技術(shù)壁壘,后端設(shè)備供應(yīng)商如GPS,車載音響,車載DVD,診斷儀等供應(yīng)商很難得到原汽車廠家各車型的報(bào)文定義,以使自己的產(chǎn)品完全和車載兼容。本文將以美國英特佩斯控制系統(tǒng)有限公司的產(chǎn)品(軟件:Vehicle Spy,硬件:neoVI)為例,探討如何解碼CAN總線報(bào)文。
            Vehicle Spy產(chǎn)品是美國通用汽車的標(biāo)準(zhǔn)測試工具,可以同時(shí)支持HS CAN、MS CAN、ISO9141、J1850VPW、J1850PWM、LIN等多種總線協(xié)議、 實(shí)現(xiàn)車載網(wǎng)絡(luò)診斷、節(jié)點(diǎn)/ECU仿真、數(shù)據(jù)采集、自動(dòng)測試和車載網(wǎng)絡(luò)總線監(jiān)控等功能,相對(duì)于其它的總線工具,該產(chǎn)品注重用戶使用的高效性和便捷性,易于用戶學(xué)習(xí)和使用。
            Vehicle Spy可以通過兩種方式監(jiān)控總線通信:通過車載的ODB接口監(jiān)控汽車總線通信(圖1)和直接監(jiān)控ECU之間的通信(包括診斷儀和被診斷設(shè)備,圖2)

          本文引用地址:http://www.ex-cimer.com/article/201612/331039.htm

            當(dāng)設(shè)備連接正常并設(shè)置好正確的波特率后,打開Vehicle Spy運(yùn)行界面,無論是車載總線通信數(shù)據(jù)或是ECU間的總線通信數(shù)據(jù)都會(huì)被毫無遺漏的實(shí)時(shí)顯示在監(jiān)控界面上,圖3顯示的是監(jiān)控的車載CAN總線數(shù)據(jù),這些數(shù)據(jù)都是未經(jīng)解碼的原始數(shù)據(jù),接下來  我將介紹監(jiān)控界面的各項(xiàng):
           

            1)、圖3中①所在的部分是濾波器,因?yàn)関spy可以同時(shí)監(jiān)控多種網(wǎng)絡(luò)數(shù)據(jù),該濾波器基于網(wǎng)絡(luò)類型濾波,例如,勾選HSCAN,則監(jiān)控界面將只顯示HSCAN類型網(wǎng)絡(luò)數(shù)據(jù)。
            2)、圖3中②所指的欄為濾波欄,在該欄中可以更靈活實(shí)現(xiàn)濾波功能,如根據(jù)報(bào)文名稱,ArbID等濾波,支持“?”“*”等符號(hào),比如現(xiàn)在我們只想監(jiān)控Arb ID為110和120的報(bào)文,則只需要在ArbID欄輸入110,120則可,如圖4所示:
           

            3)、圖3中③所指為進(jìn)制切換按鈕,只需簡單點(diǎn)擊即可將報(bào)文數(shù)據(jù)切換成其它進(jìn)制(默認(rèn)為16進(jìn)制)。
            4)、圖3中數(shù)據(jù)字節(jié)為藍(lán)色背景的部分表示變化較慢的數(shù)據(jù)(④所指)
            5)、圖3中數(shù)據(jù)字節(jié)為黑色背景的部分表示變化較快的數(shù)據(jù)(⑤所指)
            6)、圖3中數(shù)據(jù)字節(jié)無背景顏色的部分表示出現(xiàn)過后在一段時(shí)間沒有再出現(xiàn)的數(shù)據(jù)(該時(shí)間值是可以設(shè)定的)
            7)、整個(gè)監(jiān)控界面實(shí)際上也是一個(gè)緩沖區(qū),該緩沖區(qū)的數(shù)據(jù)可以隨時(shí)保存,保存的數(shù)據(jù)可以用于以后回放以分析數(shù)據(jù),圖3所其實(shí)就是在回放數(shù)據(jù)文件,⑥所指為緩沖區(qū)進(jìn)度條。
            8)、vspy的默認(rèn)屬性欄包含了報(bào)文數(shù)量統(tǒng)計(jì),報(bào)文接收時(shí)間等屬性,還有其他的屬性用戶可以在設(shè)置欄自己定義,這將非常有助于逆向分析。
            通過以上的介紹,相信有經(jīng)驗(yàn)的工程師已經(jīng)看出這款產(chǎn)品在總線數(shù)據(jù)解碼方面的優(yōu)越性。對(duì)于車載CAN總線,由于CAN報(bào)文的優(yōu)先級(jí)取決于ArbID,ID值越小,優(yōu)先級(jí)越高,這為我們揣測報(bào)文是來自于車載上的哪個(gè)ECU提供了依據(jù),由于vspy可以實(shí)時(shí)無遺漏地監(jiān)視總線通信報(bào)文變化并能以各種顏色來區(qū)分?jǐn)?shù)據(jù)變化的快慢,因此我們可以通過反復(fù)動(dòng)作車輛來觀察報(bào)文變化情況,如開關(guān)車門,開和關(guān)會(huì)引起某個(gè)數(shù)據(jù)字節(jié)中的某位產(chǎn)生狀態(tài)變化,由于這種變化是非連續(xù)性的快速變化數(shù)據(jù),在監(jiān)控界面中必然會(huì)以藍(lán)色背景顯示,因此我們可以在開關(guān)車門的時(shí)候在監(jiān)控界面查找有藍(lán)色變化的報(bào)文,并將這些報(bào)文用上述的濾波功能過濾出來以縮小監(jiān)視范圍,然后反復(fù)動(dòng)作車門以確定是哪條報(bào)文的某位隨著車門動(dòng)作在變化,這將很容易辨別,在得出結(jié)論以后,再將該位提取出來并命名然后再動(dòng)作車門以進(jìn)行驗(yàn)證。當(dāng)然,vspy提供解析報(bào)文的功能,比如我們判定圖3中ArbID為510的報(bào)文中第二字節(jié)第二位表示車門開關(guān),則可將該位命名為door control,并將該條報(bào)文設(shè)置為其它顏色,以方便觀察,解析的結(jié)果如圖5所示,對(duì)解析的結(jié)果,vspy還可以將其保存為標(biāo)準(zhǔn)的DBC格式。對(duì)于直接監(jiān)視ECU之間的通信,則過程會(huì)簡單的多。
            

            當(dāng)然,如果要解碼ECU的所有報(bào)文,工作量會(huì)非常大,如果是解碼整個(gè)車輛的報(bào)文,那可能是需要團(tuán)隊(duì)來完成,本文只是對(duì)解碼工作做初步探討,拋磚引玉,希望能與大家交流。



          關(guān)鍵詞: CAN總線逆向工

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();