I am a little bit confused with this strange issue with ARM firmware. My original firmware file has no symbols, so I need to find them by myself trough the internet. But here I have a certain function of which I am sure. I have some reliable xrefs to it. But sometimes, some function call the loc_'s following its start. Look here:

enter image description here

So, it should start from the STMFD as usual, but here is not the case. Why?

1 Answer 1


Whenever you see nonsensical ARM instructions with conditional suffixes it's likely data being disassembled. Double-check your firmware load address and inspect the calling code; I think the call may have been bogus code too, which caused IDA to start disassembling at a wrong place.

  • Yes, thank you! Now I see that this firmware contains some separate modules that cause this conflict.
    – sobakaliza
    Commented Jan 17, 2018 at 6:21

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.