LLIL lifted to MLIL strangely for an architecture plugin #1994
-
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
Also seems like BN doesn't create functions at call destinations for such calls. It correctly creates functions for direct calls. |
Beta Was this translation helpful? Give feedback.
-
Could you perhaps share the code you're using to lift these call instructions? Also it would be helpful if we saw how you wrote your GetInstructionInfo function. |
Beta Was this translation helpful? Give feedback.
-
Generally speaking solved-for call destinations would result in functions being created at the destination, barring circumstances like mismatches in section/segment permissions at the destination vs. the call site. For one example, if we had a call from a rx segment in a Other possible factors could include what the BranchInfo for the call site is, which might result in not taking the desired function call translation path despite seeing constants propagating as expected during MLIL generation. Seeing |
Beta Was this translation helpful? Give feedback.
Generally speaking solved-for call destinations would result in functions being created at the destination, barring circumstances like mismatches in section/segment permissions at the destination vs. the call site. For one example, if we had a call from a rx segment in a
ReadOnlyCodeSectionSemantics
section, a call to a solved for destination in an rwx segment lacking section information would prohibit function creation — this is by no means exhaustive.Other possible factors could include what the BranchInfo for the call site is, which might result in not taking the desired function call translation path despite seeing constants propagating as expected during MLIL generation.
Seeing
MLIL…