Skip to main content
3 votes

Determine Endianess of some ARM binary image?

Cortex M is always little endian. In my experience, big endian ARM is exceedingly rare, I think it was used mostly in some network processors (e.g. the old Intel IXP series).
Igor Skochinsky's user avatar
  • 36.8k
1 vote

Understanding pointer indirection for accessing static variables in Cortex M0 firmware

Right click PTR_DAT_00003d24 and retype it to be a pointer** and it should show up correctly
Jake Ashmore's user avatar
1 vote

Reverse engineering AES128 Key Derrivation from MAC Address

ELF 32-bit LSB executable, ARM aarch64, version 1 (SYSV) I guess you meant 64-bit ELF, but it's not important. n = 12; // Not sure where 12 comes from, perhaps 2 * number of bytes in a MAC address? /...
wisk's user avatar
  • 1,164
1 vote
Accepted

Objective-C stub functions on AARCH64

This is an example of optimizing a tail call - a call to another function which is done as the last statement of the current function. Because the LR (link register) has not been modified, the ret/blr ...
Igor Skochinsky's user avatar
  • 36.8k
1 vote

Why I can't decompile this ARM function?

It's because of the segment name of your firmwares. In the first firmware the segment name is ROM, which means the segment is read only, but in your second firmware the name is ALICE, which makes no ...
E.A's user avatar
  • 171
1 vote

Determine Endianess of some ARM binary image?

MCU usually have vector table starting at address 0 (STM32 certainly does, I am not 100% for others). This should help you a lot when combined with memory map to check if addresses in vector table are ...
Rok Tavčar's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible