Electronics > Microcontrollers

Need help disassembling this binary

(1/2) > >>

VooDust:
I am analyzing the firmware for my heat pump.

The main controller software binary is a standard ELF file, I was able to successfully load it into IDA Disassembler as ARM little-endian (thumb), patch some constant to change the heat pump's behavior, and retrieve the master password which was hardcoded into the binary. The firmware for the controller runs on a MCU that I could identify as ATSAMD21G18.

However, there is another file from the complete firmware package, and that is simply a generic .LIN file. I believe this file to contain code that runs on another controller board that communicates with the main controller software. However I was not yet able to identify what MCU it runs on.

Here is the .LIN file, I was hoping some expert here could jumpstart a noob like me and tell me what kind of binary / CPU architecture that is. I can only see garbage trying to disassemble it as ARM bytecode.

bingo600:
If looking at the "Strings in the binary"



They seem to match here (google search)

Ie: FreeRun forbidden in sleep mode   (Line 880)
https://android.googlesource.com/platform/external/arduino-ide/+/refs/heads/master/hardware/arduino/sam/system/libsam/source/adc.c

That might indicate it's for another sam processor

/Bingo

abyrvalg:
The .LIN file is for Cortex-M MCU too, it is a raw binary with load address 0x401800.
A quick look shows ADC address 0x40038000, UART address 0x40024000 - this arrangement matches ATSAM4S.

VooDust:
Thank you, I'll try to disassemble it again.

AVI-crak:
Ghidra can break any arm code. It's my favorite tool.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod