如何像《速度與激情6》入侵汽車電腦CAN總線,黑掉汽車(上)

2020-12-13 CLauto酷樂汽車

Author / 不會開車的CC

Pic / 來源於網絡

電影《速度與激情》大家都看過,接下來第六部裡面的這個場景大家肯定有印象。

Paul Walker一行人在追捕Shaw時,他們駕駛的寶馬被Shaw等人安裝了一種電子晶片,之後Shaw等人通過電腦一頓操作之後,這些寶馬突然不受駕駛員控制,突然剎車或者直接撞上其他車。

有人會問,這些是真的嘛,怎麼實現的,看完這篇文章你就會有所了解。

速度與激情6(2013)車輛被黑客入侵片段

當然引擎調教這件事絕不是讀幾篇文章看幾個視頻就可以弄懂的。

我個人覺得這絕對是改裝行業裡比較頂尖的技術了,有很多很多人從事這方面的工作,花重金開發相關技術內容,我是非常敬佩他們的,也很想直接從事這方面的工作。

和很多車友一樣,我小時候就痴迷於汽車。

上大學時主修車輛工程專業,在哈工大的四年裡打下了還不錯的基礎。其實那時候就對於發動機調校這塊很感興趣,但也僅限於感興趣,雖然想自己研究,卻沒有找到好的途徑。

那時候每期必看的《改裝與四驅》並沒有太多提及這一塊,說實話,當時很希望有人可以提點一二。即使到了大四,好不容易有了一門叫做「車載網絡」的專業課,但好像和我真正想學的還是差了一點,萬萬沒想到,最後這門課居然成為我大學裡唯一補考的一門。

言歸正傳,刷發動機程序這件事,往最簡單說,有個硬體,有個軟體,連上OBD,單擊Flash,點火,排氣「啪啪啪」,完美,結束。如果有車友,只想了解這個流程,估計需要等一等了。

本著「授人以魚,不如授之以漁」的原則,我打算用比較直白的語言從頭開始說起,這樣既適用於汽車愛好者,DIY車友,也對車輛工程或相關專業的學生有幫助,同時也可以引導一些剛剛從事汽車測試開發的同行們。

以下這些將基於我多年的汽車電子安全系統的開發經驗和自己網上研究到的一些內容,多數都可以從維基百科或者相關資料網頁中查詢到。

這次新冠疫情在美國開始爆發,很多公司裁員,我們還算幸運,只是臨時降薪,減少工作時間,於是就趁著「休假」,整理一些信息分享給大家,希望可以幫助到大家。

車輛在測功機上準備測試

特此申明

1. 所有內容均不涉及核心技術細節,或故意略去。

2. 本文只提供知識分享,所有DIY引擎調校程序均有風險,有可能嚴重損壞發動機或導致ECU報廢,所引發的責任請自行承擔,與本文作者無關。

改裝有風險,須謹慎!

現在的車和幾十年前的車相比,最大的一個區別就是電子系統越來越多,很多人說如今的車機械感降低,都是電子設備,修都不好修的了。

確實是這樣,從最簡單的油門說起,最傳統的設計,就是油門踏板(accelerator pedal)直接連著發動機的節氣門(throttle),你踩多少踏板,就打開多少節氣門,直接控制空氣流量。

而現在我們踩的基本就是一個純踏板,有傳感器測量你踩了多少,再由發動機控制模塊決定打開多少節氣門,而油門踏板的這個信息有可能只有發動機這一個模塊直接知道。

一輛車由幾十個模塊組成,包括發動機,剎車,轉向,懸架等等,而車廠最後負責把所有模塊裝在一起,整合在一起,所以也叫做Orignial Equipment Manufacture (OEM)

所有這些模塊就是車廠(OEM)的零配件供應商,比較大的模塊或直接和OEM打交道的模塊屬於一級供應商,比如ABS/ESP電子剎車系統。

車輛網絡信息示意圖

每家供應商當然都只負責開發自己的產品,但是有些信息是需要共享的。

以電子剎車系統為例,ABS/ESP系統的牽引力控制(Traction Control)功能是負責防止車輪在車輛起步時打滑的,一般以輪速傳感器(Wheel Speed Sensor)信息為主,但需要知道駕駛員踩了多少油門進行另外一些控制。

而之前說過,油門信息只有發動機知道,ABS/ESP系統怎麼知道呢?

這時候CAN總線就起作用了,說白了就是車上各個電子系統互相交流的一個公共橋梁或通道。而CAN總線,或者叫CAN BUS,只是車上的各條橋梁中的一條,成本相對較低,傳輸速度一般。

CAN的全稱是Controller Area Network,控制器區域網。

CAN數據解碼示意圖

這個CAN總線對每個模塊都打開的,只要帶寬允許,每個在CAN總線上的模塊都可以發送或接受信息,但是接受到的信息是什麼,怎麼讀,就有講究了。

雖然不算是加密的,但也不是一眼就能讀懂。

CAN總線基於一種信息傳遞協議,最早是由德國博世公司在1986年發表的,中間有過改版,但一直沿用至今。這個協議定義了在CAN總線上傳播信息的一些最基本的要求,之後會具體說說。

回到油門踏板的話題上,發動機模塊會根據這個協議把帶有油門踏板的信息傳遞到CAN總線上,其他模塊只要知道踏板信息是如何發上來的,就知道該如何讀取了。

這就相當於橋梁上有無數輛小汽車,發動機派出小車A到CAN橋梁上,車上有幾個密碼箱,裡面裝著發動機信息。

DBC文件(後面會提及)就是打開這些密碼箱的鑰匙,任何攔截到這輛車並且有鑰匙的模塊都可以打開這個密碼箱拿到發動機信息。而沒有鑰匙的模塊,就算攔截到了小車A也沒法知道信息是什麼。

而這把「鑰匙」是事先需要溝通定義好的,車廠在車輛開發初期,會給自己和供應商們提供這把「鑰匙」,也就是傳說中的DBC文件,這樣就可以讓各個模塊之間相互交換信息了。

當然在開發過程當中,這個文件也會不斷更新,來達到最終車廠對於性能法規等各個方面的要求。所以說這個文件非常重要,屬於需要保密的信息。

當然,具備一定CAN總線知識的人也是可以破解這把「鑰匙」的,而嘗試製造出這把「鑰匙」的過程就叫做CAN總線逆向。有不少人研究這個,我之後也會說說我是如何逆向豐田86的CAN總線的。

現在大家基本知道CAN是什麼,那麼為什麼要知道這個,和引擎調校有什麼關係,我們繼續往下說。

各種可以通過CAN總線獲得的信息

這個CAN真的是好東西,內容也十分複雜。

我個人是從事ABS/ESP設計開發的,就算我們固定負責一個項目,天天和ABS模塊打交道,從項目開始到SOP(Start of Production,量產),也很難把ABS這一個模塊的CAN相關所有東西了解透徹。

更何況一輛車上有幾十個模塊都共用一個CAN總線,而且每款車的CAN內容也不一樣,所以真正在這方面精通的人少之又少。

不過沒關係,我們只要了解感興趣的,和我們玩車相關的就好。

在我個人看來,最有用的一點是,通過CAN總線,我可以直接看到和記錄與跑賽道相關的數據,這對於提高圈速是很有幫助的。

每個跑賽道的朋友應該都是希望自己越跑越快,不斷提高自己的駕駛水平。稍微硬核一些的玩家,肯定會在車上採集數據,跑完之後再分析(感覺這方面的內容我又可以單獨寫一篇了,如果大家感興趣,歡迎評論裡說)。

這裡的數據主要包括了車速,側向加速度,縱向加速度,橫擺角速度,輪速,方向盤角度等。大部分數據都可以通過第三方硬體來間接獲取,比如Vbox或AiM公司開發的產品。

而所有這些數據都在CAN總線上可以直接讀到,而且更新率也很快。車輛自己的控制算法都是通過這些信息實現的,所以自然是非常靠譜的。

既然可以用,為何不用呢?

而之前提到的第三方硬體大多也會支持CAN總線連接,通過這個「橋梁」直接獲取我們想要的信息。

前面說的是「讀」信息,下面開始說說大家最感興趣的「寫」信息。

回到文章最初提到的《速度與激情》的場景,通過電腦操作就可以讓另外一輛車子自動剎車或轉向,這些是真的嗎,怎麼實現的。

沒錯,理論上就是通過入侵CAN網絡,「寫」入一些信息而達到的。

所以這個CAN總線有利也有弊,但大家也沒必要擔心自己的車子會不會也遇到這樣的問題。我只能說基本上不會,現在各個車廠都在大力研發Cyber Security來防止CAN入侵發生。

這個之後可以再說,與此同時也讓我們DIY玩家越來越難了。我這裡只是舉一個例子,並不是要教大家如何控制別人的車輛(當然,這個我也不會)。

電影《速度與激情》劇照

既然是電子模塊,自然就有電子晶片,所有控制程序都是一行行代碼編譯而成。

對於發動機模塊而言,如果掌握了和發動機模塊交流的「鑰匙」,就可以要求重新寫控制發動機的代碼,當然前提是你要有正確的發動機代碼。所以刷發動機,就是指把自己改寫過的發動機控制代碼重新寫進發動機模塊,從而實現自己想要的發動機性能,比如排氣回火,增加馬力等等。

引擎調校參數示意圖

最後分享我第一次嘗試改寫發動機參數的對比視頻,之後也會放出這個調校的具體教程。

下一篇文章將以實際操作向大家進一步介紹CAN總線和最基本的引擎調校工作,希望大家繼續關注分享。

有任何問題或想法,歡迎評論留言,我會在之後的文章或視頻中討論。

# 未完待續 #

閱讀本文作者其他文章

今日日籤

相關焦點

  • 基於CAN總線的汽車開關電器盒設計
    0 引 言本文引用地址:http://www.eepw.com.cn/article/174981.htm隨著現代汽車工業技術的不斷發展進步,車上安裝的電子設備在不斷增加,從而使汽車綜合控制系統中,有大量控制信號需要進行實時交換.CAN 總線作為一種可靠的汽車計算機網絡總線,已經被廣泛地推廣到汽車控制系統的各個應用領域.將CAN 總線技術應用到汽車開關電器盒中,可使得各汽車計算機控制單元能夠通過
  • 國內選擇第三方公司逆向汽車CAN總線數據七個理由
    對於車載ECU來說,一級零部件供應商研發可以分為系統、硬體、電子、軟體、機械結構等,CAN總線涉及最多是溝通的工作,主要是CAN總線的邏輯、信號需求、通信矩陣釋放、樣件提交、測試結果反饋等等。通信矩陣不能釋放的開發項目,看是否通過速銳得適配完成數據的採集與交互。
  • 軟體定義汽車始於面向服務的總線變革 車載乙太網迎來黃金時代
    要致富,先修路,對於汽車行業來說,已經到了道路升級的重要關口。汽車總線將如何演進?本篇文章將和您一起探討這個問題。01 功能需求決定著汽車總線的多元化發展早期汽車採用點對點的單一通信方式,相互之間少有聯繫。
  • 如何實現電源和信號隔離以確保 CAN 總線可靠運行
    然後文中介紹了來自 Texas Instruments、RECOM Power、NXP Semiconductors 和 Analog Devices 等供應商的解決方案(設計人員可使用這些解決方案保護 CAN 設備),以及如何有效實施這些解決方案(包括使用評估板)的指導。所提供的解決方案包括分立實施方案(即基於單個 CAN 收發器)以及基於單晶片和雙晶片隔離 CAN 總線設計的集成解決方案。
  • CAN總線的特點、幀類型以及應用中的注意事項
    1980年,Bosch的工程師開始研究汽車上高速串行通信的問題,並在1986年發布了CAN(Controller Area Network)總線。CAN以其多主,高速(最高1Mbps),抗幹擾的特性被廣泛應用汽車及各種工業環境。在此我們主要介紹一下CAN總線的特點,幀類型,以及應用中的注意事項。
  • 深圳市宏美瑞科技-CAN總線
    USB-CAN分析儀雙通道CAN總線分析儀單通道CAN總線分析儀可攜式CAN分析儀8通道CAN總線分析儀CAN FD分析儀CAN核心模塊CAN總線網關/轉換器多功能串口-CAN總線轉換模塊串口轉CAN模塊乙太網轉CAN模塊CAN光纖中繼器Modbus RTU-CAN網關ModBus TCP-CAN網關PLC及總線IO
  • 高速CAN、容錯CAN、LIN總線的區別是什麼
    在這裡你可能要問「不都有CAN總線了嗎?這個LIN總線又是從哪裡來的?」其實理由很簡單,就是CAN總線太貴啦!處處都用CAN總線的話,那整車的總線架構成本將會變得很高!在一些比如車身電子配件的地方(如車窗、後視鏡、大燈、車鎖等),我們不需要報文像CAN總線上傳輸的那樣「高速」!各大廠商一拍腦門就研究了這個LIN總線!
  • 《速度與激情》中走出的中國新能源汽車公司 全面研判艾康尼克
    在電影《速度與激情7》中,主角範·迪塞爾駕駛一輛超級跑車飛躍了阿布達比摩天大樓,這一幕讓很多人記憶深刻,不僅是刺激的電影畫面,更多的是那輛來自W Motors公司的超級跑車。而相信很多人不知道,這家製造超跑的W Motors的姊妹公司是來自中國的艾康尼克新能源汽車公司,這無疑讓筆者對其產生了濃厚的興趣,本文筆者將通過幾大提問,全面研判艾康尼克。
  • 因速度慢 谷歌無人駕駛汽車被交警攔他和它如何互動?
    因速度慢 谷歌無人駕駛汽車被交警攔他和它如何互動?當那輛神車在鏡頭前飛馳而過時,就像看《速度與激情》一樣讓人腎上腺素飆升,警察未必能追不上。可是現實中的無人駕駛汽車不是因為速度過快被交警追趕,卻是因為過慢。
  • 中國汽車場地越野錦標賽收官 上演久違的「速度與激情」
    中新網浙江玉環12月13日電 2020賽季中國汽車場地越野錦標賽(COC)的收官之戰在12日浙江玉環完賽,在70多名參賽選手中決出了各個項目組冠軍。值得一提的是,在有力的防疫措施保護下,中國汽車場地越野錦標賽是率先複賽的國家級汽車賽事,在特殊時期為國內車手提供了寶貴的參賽平臺,國內越野車手積攢許久的「速度與激情」,在玉環得到釋放。
  • 焦點酷改|那些年,我們的速度與激情 汽車改裝的過去與現在(上):臺灣地區改裝篇
    目前在中國大陸消費者眼中,被視為汽車改裝市場發展比較專業、成熟的臺灣地區,其實在上個世紀80年代的萌芽時期也一片空白,有條件、有想法玩轉汽車改裝的人,最初從貼車身拉花、改輪圈輪胎開始「摸著石頭過河」,而那時最被汽車改裝愛好者青睞的平民改裝車,包括有Daihatsu Charade(臺灣叫「大發祥瑞」,也就是由一汽生產的最早一代夏利)、Ford Laser(臺灣叫「福特全壘打」)、Honda Civic
  • 汽車網關(gateway)系統的作用原理及部分車型網關位置
    近期,很多車聯網朋友反饋汽車遠程數據終端無法直接通過OBD接口採集汽車CAN數據,其實這個原理上說的是簡單,但是實際操作起來就比較複雜,那今天我給大家梳理下,共同再熟悉了解下網關,繞過網關來採集數據,或者直接在網關上採集數據。一、網關是何方神聖?
  • 網際網路+汽車丨智能網聯汽車車載終端面臨的安全問題
    隨著人工智慧、5G等新技術的應用及推廣,車聯網(智能網聯汽車)的市場發展潛力得到進一步激發,成為新一輪科技革命和產業變革的重要組成部分。同時,伴隨著智能網聯汽車與外界的交互手段不斷豐富,車聯網信息安全問題日益凸顯。
  • 《速度與激情:特別行動》內地正式上映
    □大河報·大河客戶端記者王峰8月23日,《速度與激情》系列的衍生電影《速度與激情:特別行動》(以下簡稱《特別行動》)在內地正式上映,這是《速度與激情9》上映之前的番外篇,不但故事跟「速激」系列沒任何關係,靈魂人物範迪塞爾也缺席了該片
  • 《狂野飛車》熱拍 上演「環塔」《速度與激情》
    該片主演均為來自世界各地的頂尖車手,這樣一支多國部隊,在塔克拉瑪幹沙漠上演了一部中國版的「速度與激情」。該片主演均為來自世界各地的頂尖車手,這樣一支多國部隊,在塔克拉瑪幹沙漠上演了一部中國版的「速度與激情」。冠軍車手擔任主演 呈現環塔比賽場面《狂野飛車》的故事來源於汽車越野拉力賽中賽車手的真實經歷,由來自中國、美國、法國、義大利和烏克蘭的演員聯合主演,是一部十分國際化的電影,片子的一大亮點就是片中的車手由真正的冠軍車手出演。電影將會全方位展現越野汽車拉力賽的魅力。
  • 《速度與激情》7主題曲《See You Again》
    《速度與激情》從第1部看到第7部,除了記得演員保羅.沃克,那些俊男美女,都沒記住,倒是對電影上的倩車和風景有印象。我以為,《速度與激情》就是一個汽車廣告片。什麼故事都可以裝進去。動作片都這樣,只要有一個希樞柯卡的懸念就可以了。
  • 為什麼有的人,能在不換發動機的情況下,提高汽車最高速度?
    對於一輛車來說,理論上能夠達到的最高速度受到的影響很多,但是主要還是與發動機有關,所以如果比較兩輛不同級別的車,就會發現它們所能達到的最高時速是不同的,而且即使超速行駛,大多數時候,也並不能超過最高時速,原因就是汽車行駛時會受到阻力的影響,速度越高阻力越大,除非是把汽車吊起來,讓發動機空轉,那麼它的速度可能就能無限接近最高時速。
  • ...LIN總線分類-LIN總線的應用-什麼是LIN總線-測控百科-CK365測控網
    1概況LIN(Local Interconnect Network)是一種低成本的串行通訊網絡,用於實現汽車中的分布式電子系統控制。LIN 的目標是為現有汽車網絡(例如CAN 總線)提供輔助功能,因此LIN總線是一種輔助的總線網絡。
  • 電腦越來越卡怎麼辦 如何提高電腦運行速度【詳細介紹】
    電腦越來越卡怎麼辦?   我們都知道新電腦用起來的速度很快,那種暢快的感覺讓人很舒服。但是使用時間一長,電腦就漸漸不行了,開機時間也由秒到分。下面,本文就教你加快開關機速度。  2、電腦垃圾文件沒有被清理,久而久之積累過多的垃圾文件。  3、電腦硬體需要升級,由於當今軟體功能越來越高級,許多老式的電腦硬體達不到要求都會出現電腦的情況。  4、電腦硬體灰塵太多,影響撒熱風扇散熱,導致硬體局部溫度驟升,這樣也會影響硬體的運行速度。
  • 《怪獸大學》強勢登頂 《速度激情6》表現不俗
    12速度與激情6東寶東和4.464.467月6日1而另一部洋畫《速度與激情6》也表現不俗,4.46億的開局好於前作首周末的票房成績,也為接下來的暑期檔打下了良好的基礎。超人氣漫畫《銀魂》的第二部作品同樣開局出色,而其他暑期檔新片《麵包超人:飛吧,希望的手絹》,《忍者亂太郎:暑假作業大作戰》也紛紛登上票房榜單。整個電影市場一下子火了過來。  前作《怪獸公司》的94億票房已經證明了《怪獸大學》在日本擁有著眾多的粉絲。