生活中的每個行業里往往都有一些所謂的潛規則,二手車行業當然不例外,對于想買二手車的人呢,最怕就是兩點,一個是事故泡水車,一個就是怕被調過里程表,這兩點往往也是車行老板最喜歡用的增收手段,兩輛相同年份的二手車,在外觀差別不大的情況下,里程數的差別就是價錢的差別,越是好車,差價越大,調表可謂是成本低,見效快。
某人說過:只要有10%的利潤,他們就會蠢蠢欲動;有50%的利潤,他們就敢鋌而走險;有100%的利潤,它們就敢于踐踏人間一切法律;有300%的利潤,他們敢于冒絞刑的危險,一輛調表后的豪車,有時候可以輕松獲取大于300%的利潤,所以,對于打算買二手車的朋友,你可要多一個心眼了。
下面演示一下如何給一臺寶馬X7的全液晶儀表進行里程修改。

科普一下調表的簡單知識,一般汽車行駛過程中轉速傳感器會將車輪轉了多少圈通知給行車電腦和儀表板,行車電腦和儀表板通過車輪半徑算出車速和行駛里程,行駛里程會存在行車電腦和儀表板內的存儲芯片內,存儲芯片有多種。
有些用24Cxx系列EEPROM,有些用95XXX系列EEPROM,有些直接存在儀表自身MCU自帶的EEPROM中,有些就存在一些定制的專用EEROM內,不管存在哪里,調表最終就是要找到這個里程在EEPROM內的存儲位置,然后將該位置的數據寫入根據儀表的特定算法生成的新里程數據即可。
有些車很好調,只需要使用一些特殊設備,接入汽車OBD接口,一番簡單操作即可,幾乎0成本,有些車就麻煩點,需要拆車把儀表取下,然后將EEPROM焊下來,放到專用的編程器里面調整好再焊回車上。
對于寶馬這個品牌的汽車來說,不敢說全部,大部分車型的儀表盤都是使用ST公司的一個特殊芯片進行里程存儲的,這個芯片就是ST的35XXX系列,常見的有35080,35160,35128等等。
為什么說這個EEPROM特殊呢,因為這個EEPROM的前32字節地址的數據是只能增大,不能減小的,也就是說這個區域的數據不能擦除,每次寫入數據必須比原有的數據要大才能寫入,原廠想要通過這種手段來禁止非法修改里程數據。
有些聰明的朋友就想到了,換一片新的芯片不就行了嗎?確實,對于早期的某些BMW車型來說,換芯片確實能完美解決問題,不過對于比較新的車型呢,就沒那么完美了,原因是新車型使用了一個防換芯片的措施,儀表出廠的時候讀取35xx芯片的芯片唯一ID編碼,并保存在儀表MCU內部,每次啟動都會檢查儀表外部35xx芯片的ID碼,如果發現ID改變了就知道你換了芯片的,此時就會在儀表面板顯示一個故障提示,行內稱為小紅點;雖說能調,但是有故障提示就等于告訴別人自己對儀表動了手腳。

正所謂哪里有需求,哪里就有市場,雖說調表不是什么光彩行為,但是調表因為利潤大,所以還是有很多人有需求的,因此國內不少汽車防盜編程破解行業相關的公司也推出了不少解決方案,對于寶馬調表來說,目前有硬破解方案,硬破解就是用專用設備對35xx芯片進行攻擊。
在不損壞芯片的前提下利用芯片自身漏洞缺陷來清零芯片的前32字節里程數據,成功清零后就可以重新改寫為任意里程,不過這種攻擊只能用于早期的35080,35160等芯片,對于一些的35160,和35128等是無效的(ST修復了芯片漏洞),對于不能攻擊破解的芯片。
現在有了芯片模擬器,就是完全模擬一片35xxx芯片,將原車35xxx的數據和ID編號用編程器讀出,然后將數據和ID寫入模擬芯片內并修改里程為任意想要的數值,最后將模擬芯片焊接回儀表內,由于是完全模擬,儀表讀取到的數據和ID號都是和原車芯片一致,所以愚蠢的儀表就被輕易的欺騙了。
下面就是所謂的模擬芯片,如下圖,一個小玩意,左邊是常規芯片,右邊是模擬芯片,大小差不多,但是模擬芯片長度大一些,不過多出來的長度是沒用的,只是為了方便手拿而已,在模擬芯片焊到車上之前要用鉗沿著CUT箭頭指示的位置剪斷多余的部分,剪完后大小就跟常規SOP-8芯片差不多了,可以直接焊接到原車芯片位置。

其實就是一個單片機(本身寫有程序) 模擬IIC通訊
模擬芯片的讀寫需要用一個專用配套的編程器,如下圖,usb直插直用,免驅動,插入電腦后會顯示一個U盤盤符,內部自帶編程軟件和說明書,配套一個8腳夾子,可以直接夾住模擬芯片進行讀寫,這個很重要,畢竟模擬芯片是半孔工藝制作的焊盤,如果要先焊接模擬芯片到編程器,寫好數據,然后拆卸模擬芯片,最后焊接到儀表的話,會發現,半孔工藝焊上容易,但是要拆下的話操作會很困難,并且也容易造成焊盤脫落導致芯片報廢,所以先用夾子進行數據寫入,最后直接焊上車上,這樣就不用先焊到編程器再拆下了,方便不少。

BMW X7 全液晶儀表

背面,沒啥特別的,就一個CAN通訊接口,包含了電源輸入,CAN通訊輸入等信號線

看一下標簽,只知道是BOSCH給BMW生產的,其它不懂啥意思

這個表直接接電源是不會亮的,必須要配合車身控制器一起使用才能點亮,車身控制器(Body Domain Controller)俗稱BDC,也就是車身電腦板,負責控制車身各個系統車門車鎖,車窗,儀表盤等等許多功能,下圖看一下BDC長啥樣,一大塊長方形板子,上面一堆插頭,也說不清干啥用,反正有配套好的線束,插上就是了

看下標簽,一堆信息,看不懂

再看看線束,包含兩個大接頭,已經插上了,還有一個鑰匙線圈,用于感應車鑰匙,BDC要檢測到鑰匙和自身是配套的才能啟動,還有一個小按鈕,用來模擬車上的電門開關,也就是一鍵啟動按鈕,最后有一個電源輸入接口,需要外接12V直流電。

看一下鑰匙是怎么放

將藍色的接頭接到儀表盤背后的接口上,最后看看一整套裝好是這樣子的

最后接上12V電源,啟動一下,看看效果很酷,由于這個圖是后排的,已經調過了,所以當前顯示46KM,說一下,BMW的里程是有一個算法的,寫入的值最終顯示到儀表是有一點點誤差的,比如這個46KM實際調表調的是50KM,不過差個幾公里無所謂!

為了演示調表過程,把儀表又給拆了一遍,擰掉后背9顆螺絲,沒有難度,外殼有一圈特殊扣子,直接鉗子

大大的散熱片,還有一個精致的小風扇,一顆ATMEL的芯片,還有些電源芯片MOS電容等等,這些看看就好,分析某個芯片是干啥的,那就長篇大論了




拆掉固定主板的幾顆螺絲,取下排線,把主板翻個面,看看背面

一個大芯片SPANSION S6J334EJEE,不懂啥芯片,懂了也沒用,車芯片反正是用不起

左上角有一片應該是EMMC吧

右邊還有幾顆小的看看就好

眼尖一些的人應該看到有異常的位置了,就在紅箭頭位置,這個位置原本就是35128芯片的位置,由于已經被調過了,所以現在看到的是焊上了模擬芯片了,手工爛焊得太丑,如果細心點的話可以以假亂真,小白都很難看出儀表被動過手腳。

演示一下如何調表,首先把原車芯片35128從儀表上拆卸下來,焊接到一塊編程器轉接板上,如下圖

然后把編程器插入電腦,等待幾秒鐘,電腦里面會出現 35XX編程器 的盤符

打開盤符,看到里面有幾個文件,有專業版的軟件,也有標準版的軟件,兩個軟件的功能是一樣的,就是界面操作不太一樣,具體就不做分析了。

打開軟件之后等待幾秒鐘,等到軟件底部顯示編程器已連接的字樣就可以操作了,
第一步選擇芯片,選35128
第二步點讀取數據,等待讀取完成
第三步,點保存數據到文件,這個時候就把原車芯片的數據保存下來了
第四步,點讀取ID,等待讀取完成第五步,點擊保存ID文件,這個時候就把原車芯片的ID序列號保存下來了

然后,模擬芯片上場,夾子夾好模擬芯片,如圖,區分引腳序號反了可能會燒壞

然后繼續在軟件上操作
第一步,點打開數據文件,打開剛才讀取的數據,此時軟件底部會顯示當前數據對應的公里數
第二步,點調整里程,在對話框內輸入要調整的公里數,可以選擇公里還是英里,對應國內車型和國外車型單位
第三步,點擊寫入數據,等待寫入完成,大概半分鐘
第四步,點擊打開ID文件,打開剛才備份好的原車ID文件
第五步,點擊寫入ID,將ID寫入模擬芯片內,完成后,模擬芯片就可以以假亂真了

最后把模擬芯片多余部分剪掉,焊接到儀表板上即可

調整為10KM,實際顯示6KM


調整為16KM,實際顯示12KM,實際顯示比調整數值少4KM

結語
BMW在BDC上還保存了一份里程數據,正常情況下BDC和儀表盤顯示的公里數是一致的,要是發現不一致的話值小的一方就會被值大的一方改寫進行同步,也就是說改完了之后直接接上BDC正常來說應該是會被BDC重新改寫為原來的值,然而,目前還沒有辦法或者還不知道有什么辦法可以修改BDC內保存的里程數。
這是科普帖并不是教改表,改表是需要一定技術含量,并不是看看文章就會了的,買二手車時要知道真實里程到4S査保養記錄一下就查出來了,或查變速箱里程,但問題二手車商讓不讓查還是個問題。