1

this question is a follow-up from this previous post: Flash dump binwalk blank, low entropy

I need to reverse engineer a firmware from a very secure device. I was able to reverse engineer the PCB and create a JTAG connector, which I used to read the EPROM memory. I tried to binwalk and all other software techniques but they all failed to provide any lead to what is in the firmware.

I then tried to open the file in IDA, and I could translate all memory blocks into Assembly instructions. Is it possible that the firmware does not reside in any operating system, but instead is only a set of Assembly instructions?

If indeed is just a set of instructions, would binwalk point anything confirming that?

File has 256Kb.

This is the processor: STM32L 152CCT6

1
  • How could I view that previous post which now has a 404?
    – the_endian
    Commented Jan 27, 2020 at 19:28

3 Answers 3

1

Yep it could be just "bare metal" code without any OS or standard data structures which binwalk can carve.

1

Sounds Like the device you are messing does not have a traditional operating system you are used to dealing with. Since its a STM32 it will be in ARM architecture and I am guessing you are using IDA freeware. Try Ghidra it supports ARM I don't think the free version of IDA does. You still aren't going to find a file system though if that's what you are looking for. More details on the device could be helpful.

1

STM32 is a family of Cortex-M based microcontrollers with pretty limited resources, so they rarely use a rich OS like Linux but usually either a monolithic single-binary firmware based on a classic processing loop, or a compact RTOS (Real-time Operating System) such as FreeRTOS, ThreadX or many other options. You might find some basic file system or individual resources but it might as well be just all code with maybe some string constants or data tables.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.