首頁 > 汽車行業動態 > 俊翔訪談:從未公開過的汽車鑰匙匹配儀算法
201507月2

俊翔訪談:從未公開過的汽車鑰匙匹配儀算法

請不要認為自己技術很牛逼,我們只是工具的使用者,也就你手中的匹配設備決定了80%的成功率。今天帶大家專訪深圳一家汽車電腦匹配儀廠家,廠家會分享從未公開過的鑰匙匹配儀算法,專業性很強。不管你是行業大師、小白、又或是一竅不通的門外漢,看完以下專訪或許會給你多少啟發。以下是正文內容:

俊翔:你好吳總,首先請你們自己介紹一下……

吳總:你好!在2010年時候。金總、楊總、還有我三個人一起注冊成立朗仁科技有限公司。金總以前在元征做銷售,我和楊總之前也是開公司做軟件開發的。那么后來一起成立公司,第一項目就是PS2柴油車診斷儀。三個月就做好了,然后在國內銷售,在推出市場3個月后我們基本已經收支平衡了,那時候我們有十幾個工程師。后來我們又繼續開發國內其他診斷設備。

在2011年的時候,我們其實更看重是移動互聯網的發展,那個時候iphone手機已經開始普及,我們就開始做MDI,手機通過藍牙跟汽車做診斷。最早推廣并不是在國內,而是在海外銷售,國內也銷售,但銷售量不大。一直到后來做了汽車電腦匹配儀直到現在,由原來十幾名工程師發展到現在兩百多人。

汽車匹配儀廠家爆料新款匹配算法

(左:俊翔 右:副總經理 吳凱)

俊翔:嗯,作為專業汽車電腦匹配設備的生產廠家,你們可以分享一下技術嗎?這是大家都比較感興趣的。

吳總:可以的,我用福特 馬自達 沃爾沃最新安全校驗算法作為例子。這算法可以用到目前很多車型的高級功能上,如鑰匙匹配、保養歸零等。

就拿匹配鑰匙來說。在做鑰匙匹配時候,首先要進入一個安全算法(看下面數據演示),匹配設備通過發出指令10 03進入特殊功能高級模式,而再發指令27 03,車輛會返回一個隨機種子,通過這個隨機種子我們可以算出隨機安全碼。再發一個27 04和安全碼過去。也是就你這個安全碼發對了,才能進行下一步的操作,例如下一步發匹配鑰匙指令。如果不經過安全校驗,直接發鑰匙匹配的指令,車輛是不會有響應的,不會進行任何操作。

//通過原廠采集數據

  • req=08 07 E0 02 10 03 00 00 00 00 00 (匹配儀發出指令10 03請求進入高級模式)
  • res=08 07 E8 06 50 03 00 32 01 F4 00

 

  • req=08 07 E0 02 27 03 00 00 00 00 00(匹配儀發出指令27 03請求校驗)
  • res=08 07 E8 05 67 03 30 47 8D 00 00 (車輛應答允許67 03并返回隨機種子dwSeed = 0x30478D;給匹配儀)

 

  • req=08 07 E0 05 27 04 CA 6C 5F 00 00 (匹配儀發出指令27 04并通過函數公式算出隨機安全碼 dwKey = 0xCA6C5F給車輛)
  • res=08 07 E8 02 67 04 00 00 00 00 00 (車輛應答允許67 04表示通過安全碼校驗)

 

上面req=08 07 E0 02 27 03 00 00 00 00 00這個27 03就是兩個字節,意思是讀取安全校驗碼,res=08 07 E8 05 67 03 30 47 8D 00 00里面的67 03后面跟著就是隨機種子30 47 8D ,得到隨機種子后就要通過算法去算(算法下面介紹),最后得出安全碼CA 6C 5F發給車輛。如果你不是發這個,而是發別的,甚至不發,車輛就會否定操作。

也是就是說,匹配儀發出請求指令后,車輛會發一個種子給匹配儀,匹配儀通過算法算出安全碼再發給車子,我們才有權限進行以后的操作。返回67 0? 一般都是允許、正常響應。如果返回7F,是否定回答,也就可能你算得安全碼有問題。

隨機種子可以通過下面函數公式GetEncryptResultService算出得到隨機安全碼。我們可以取一個初始值取模擬算,得到安全碼的初值。有初始值后,我們就可以通過公式確定每一個隨機種子和安全碼的一對一關系,也就是不管每次隨機種子如何變化,我們都可以得到正確的安全碼。

通過模擬程序將隨機種子分別設置為 0×000001, 0×000002, 0×000003;……

可以得到隨機安全碼為0x15727D, 0xD3F301, 0x5EE1AC;……

初始值dwInitData = 0x15727D^0xD3F301^0x5EE1AC;……

算法函數公式:

DWORD GetEncryptResultService(DWORD dwSeed, DWORD dwInitData)
{
DWORD dwKey;
DWORD dwMask[24]=
{
0x416E4D, 0x87EF9B, 0x0AFD36, 0x11C87C, 0x27A3F8, 0x4F47E1, 0x9F8EC2, 0x3A3E94,
0x3F354E, 0x7E6B8C, 0xF8E519, 0xF0DB23, 0xE59456, 0xCA38AD, 0x90535B, 0x20B7A6,
0xC97A52, 0x97D6B5, 0x2FBC6B, 0x5B4BD6, 0xB2A4BD, 0x65596B, 0xCF81D7, 0x9F12AF,
};
dwKey = dwInitData;
for(BYTE i=0; i<24; i++ )
{
if(dwSeed & (1<<i))
dwKey ^= dwMask[i];
}

return dwKey;
}

這個算法已經用到很多車型上面。我剛才說了,用到福特、馬自達、沃爾沃中需要安全校驗證的大部分都是這個算法,這個是最新2014車型都在使用這個算法。

俊翔:雖然我也做技術的,但聽你們以上技術分享后,感覺受益不少。那么以后你們公司是什么發展方向?

吳總:現在我們希望通過另外的發展,就是跟騰訊公司的車聯網發展合作。路寶盒子車聯網發展,在去年三月份的時候騰訊公司選擇了我們為他做定向開發,就開發了路寶盒子一代,比較簡單,就是藍牙和手機相通,得到車速、駕駛行為、油耗、包括車輛的自診斷。就把這一塊捆綁到騰訊地圖上,只要打開地圖就可以看到這些東西。我的車輛怎么樣、車速、可以自體檢。駕駛行為習慣,例如急加速是不是太多,對油耗影響,給油耗打分,車速是不是太快,可以給你提醒。現在我正在做第二、三代路寶盒子。

我們公司主要是做三大塊業務:一個傳統診斷儀業務。二、匹配儀業務,未來的匹配儀的發展方向,我們會逐步淘汰這種手持式的匹配儀,整合成平板。第三塊是車聯網業務。物聯網和移動互聯網真正落腳點是車聯網,因為現在車真正夠多了。把車輛的數據提供到一個平臺上,可以為客戶做更多的增值服務。就拿駕駛行為數據來分析,駕駛行為分析目前是比較熱的一塊,就是用車跟行為有直接關系,例如以后保險費用,保險公司可以通過數據分析,駕駛行為良好的保費可以少一點,有不良駕駛習慣的車輛保險費會高一些。這是車聯網的概念。

俊翔:好,感謝你們的技術分享……。

————(完)

寫在最后:盡管近期匹配儀廠家之間商業競爭比較火熱。但我認為不管在任何行業領域,同行競爭或許會推動行業進步,商家才會更重視用戶需求到底是什么,繼而做更好的產品和服務。

guangzgao

One Response to “俊翔訪談:從未公開過的汽車鑰匙匹配儀算法”

  1. #1 齊德龍東墻 回復 | 引用 Post:2015-08-13 15:19

    郎仁做防盜匹配功能這塊還是挺厲害的

發表評論

*

奔驰宝马12键打法 街机竞技捕鱼游戏下载安装 股市配资有什么风险 516棋牌游戏新手卡 财神到捕鱼机捕鱼技巧 血流麻将教程 幸运赛车是不是官方办的 足球联赛 配资渠道规范佳永配资 25选5是什么彩票 大庆52麻将下载 网上赚钱的app哪 上海新汇通推荐的股票靠谱吗 微乐吉林麻将官网下载安装 海王捕鱼手机版 股票涨停价怎么计算 天天棋牌安卓手机版?