我正在寻求有关如何识别意外输入并锁定汽车 ECU 使其无用的 PIN 的建议。问题可以通过将计算机送回制造商并重置为默认值来解决,用户无法做到这一点,制造商收取大约 200 澳元的服务费,包括邮费。
有问题的 ECU 是 Microtech MTX-8。它使用 HC11 微控制器。用户界面通过带有 6 个按钮和 4 行字符显示器的听筒实现。现在我没有锁这台电脑,一个朋友有一辆完美运行的汽车,出于好奇加载了一个保存的配置,不幸的是分配了一个 PIN。该单位是二手的。它现在是一个纸重。如今,计算机已成为古老的历史,因此我们没有兴趣通过将其寄回而花钱购买。出于恢复计算机功能的原因以及作为学术练习,我正在继续研究这一点。
我在 HC11 方面有一些背景,但反转别人的复杂代码与我无关。到目前为止我能够解决的是:
- 我已经从 mtx-8 计算机中取出了处理器,并将其放入我在大学时代就一直闲逛的电路中。我可以从芯片上取下固件没问题。
- 我可以用 IDAPro 反编译 s19 文件并获得 ASM。
- 我可以阅读各种文本字符串,根据设备的用途,这些文本字符串都是有意义的,比如气温、水温,基本上是手机上显示的所有文本字段。
- 我有第二个未锁定的 mtx-8,我可以锁定它,转储固件,将其与来自同一设备的解锁代码进行比较。
我在我的第二个解锁 mtx-8 上对设置进行了数十次调整,并与 Notepad++ 进行了比较,但运气不佳。PIN 码是六位数,因此处理 999999 种组合并不那么吸引人。它似乎位于处理器的 EEPROM 以外的其他地方,并且鉴于我认为有某种类型的外部串行 EEPROM 正在使用中,因此 PIN 或其哈希值可能存在于那里。
查看代码使用的内存,我认为处理器是HC11 MC68HC11E20。不幸的是,设备电路板上的芯片编号被擦掉了。E20 有 20k 的 ROM 程序空间,从 $D000 到 $FFFF,从 $9000 到 $AFFF。我知道电路板有某种类型的外部存储器,其中存储了额外的调谐配置 - memcals - 有四个用于保存配置的插槽,用户手册说这些存储在手机上。手持控制器中有一个 8 针 IC,但数字被擦掉了。主计算机板上还有许多 8 针 IC,它们可能是也可能不是外部 EEPROM。设备配置寄存器似乎表明处理器处于单芯片模式,我认为如果涉及外部串行 EEPROM,这仍然有意义。
我刚刚开始研究 HC11 模拟器,THRSim11 似乎最有前途,尽管我真的不想为了找到 PIN 而开始分析代码。我对隐藏在 PIN 后面的引擎调不感兴趣,我只想识别这个 PIN。
所以我想我想知道是否有人有任何建议,或者可能对看看 ASM/S19 感到好奇?
抱歉,帖子太长了!谢谢