固件逆向工程

逆向工程 手臂
2021-06-11 11:27:50

这个问题是上一篇文章的后续:Flash dump binwalk blank, low entropy

我需要从非常安全的设备对固件进行逆向工程。我能够对 PCB 进行逆向工程并创建一个 JTAG 连接器,我用它来读取 EPROM 存储器。我尝试使用 binwalk 和所有其他软件技术,但它们都未能提供有关固件中内容的任何线索。

然后我尝试在 IDA 中打开该文件,我可以将所有内存块转换为汇编指令。有没有可能固件不存在于任何操作系统中,而只是一组汇编指令?

如果确实只是一组指令,binwalk 会指出任何确认这一点的内容吗?

文件有 256Kb。

这是处理器:STM32L 152CCT6

3个回答

是的,它可能只是“裸机”代码,没有 binwalk 可以雕刻的任何操作系统或标准数据结构。

听起来像您正在使用的设备没有您习惯使用的传统操作系统。由于它是 STM32,它将采用 ARM 架构,我猜您正在使用 IDA 免费软件。试试 Ghidra 它支持 ARM 我认为 IDA 的免费版本不支持。你仍然不会找到一个文件系统,但如果那是你正在寻找的。有关该设备的更多详细信息可能会有所帮助。

STM32 是一系列基于 Cortex-M 的微控制器,资源非常有限,因此它们很少使用像 Linux 这样的丰富操作系统,但通常是基于经典处理循环的单片单二进制固件,或紧凑型 RTOS(实时操作系统) ),例如 FreeRTOS、ThreadX 或许多其他选项。可能会找到一些基本的文件系统或单个资源,但也可能只是带有一些字符串常量或数据表的所有代码。