Skip to content

How to override flow (return from function)? #2977

Answered by lwerdna
saruman9 asked this question in Q&A
Discussion options

You must be logged in to vote

Analysis doesn't end the function because blx lr is considered a call, despite lr being used as the destination operand. The instruction bx lr is considered a return, and you can test it by assembling this instruction at 0x458 or patching in bytes "\x1e\xff\x2f\xe1".

Replies: 5 comments 9 replies

Comment options

You must be logged in to vote
1 reply
@saruman9
Comment options

Comment options

You must be logged in to vote
2 replies
@saruman9
Comment options

@lwerdna
Comment options

Comment options

You must be logged in to vote
4 replies
@saruman9
Comment options

@lwerdna
Comment options

@saruman9
Comment options

@lwerdna
Comment options

Answer selected by saruman9
Comment options

You must be logged in to vote
2 replies
@saruman9
Comment options

@saruman9
Comment options

Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants