生活中的每个行业里往往都有一些所谓的潜规则,二手车行业当然不例外,对于想买二手车的人呢,最怕就是两点,一个是事故泡水车,一个就是怕被调过里程表,这两点往往也是车行老板最喜欢用的增收手段,两辆相同年份的二手车,在外观差别不大的情况下,里程数的差别就是价钱的差别,越是好车,差价越大,调表可谓是成本低,见效快。
某人说过:只要有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査保养记录一下就查出来了,或查变速箱里程,但问题二手车商让不让查还是个问题。