ATM机逆向工程bios

逆向工程 拆卸 二元分析 反编译 固件
2021-06-19 01:22:06

我在Offer-up上买了一台Hyosung NH1500,它启动并初始化一些外围设备,然后吐出“COM下载失败”的错误。我在谷歌上搜索了 0 个结果,我一直在搜索和阅读关于 ATM 和逆向工程的所有信息,但没有太多信息。我能够找到 ATM 的更新文件,并且在更新文件中有一个名为的文件boot.bin,当我将其放入 IDA Pro 并将处理器设置为 ARM Little-Endian ARMv4T 时,因为处理器是 S3C2410A,这就是数据表所说的,但我不能找出加载二进制文件的地址以获得任何看起来正确的反汇编代码,但在该文件中是字符串“COM下载失败”。

所以我要问的是,谁能帮我找到bios.bin位于此处的更新文件中的加载地址

1个回答

更新中的文件不是 ARM,而是经典的 16 位 x86 代码。例如,bios.bin在 F000:0000加载并从 F000:FFF0(标准 x86 入口点)开始反汇编会生成很好的代码:

cseg:FFF0                _reset:                            
cseg:FFF0                                                   
cseg:FFF0 FA                             cli
cseg:FFF1 BA A4 FF                       mov     dx, 0FFA4h
cseg:FFF4 B8 02 80                       mov     ax, 8002h
cseg:FFF7 EF                             out     dx, ax
cseg:FFF8 EA 20 00 00 F0                 jmp     far ptr loc_F000_20

该代码显然是特定于硬件的,与通用 PC 的经典 BIOS 不太相似。