Test a jumpout that does not depend on padding being a function - #68
Open
zardus wants to merge 1 commit into
Open
Test a jumpout that does not depend on padding being a function#68zardus wants to merge 1 commit into
zardus wants to merge 1 commit into
Conversation
test_jumpouts_and_indirectcalls expected function 0x08050140 of KPRCA_00034 to have a jumpout site at 0x0805014f. That jump goes to 0x08050060, which belongs to the jumping function unless something splits it off, and what split it off was the ten bytes of "66 90" padding at 0x08050056: CFGFast recovered the padding as a function of its own, that function fell through into 0x08050060, and the jump therefore landed in another function. CFGFast is learning to record that padding as data instead (angr/angr#6827), which leaves 155 of the 157 functions this binary had with jumpout sites - all of them alignment - without one. Expect the jumpout of 0x0804e1c0 instead, a one-instruction "jmp 0x8052340" thunk whose only block leaves the function. It holds on angr master as well as on that branch.
Member
Author
|
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS The angr side is angr/angr#6827; its CI resolves this pull request, so the two run together. |
Member
|
Corpus decompilation diffs can be found at angr/dec-snapshots@master...angr/patcherex_68 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS
test_jumpouts_and_indirectcallsexpected function0x08050140ofKPRCA_00034to have a jumpout site at0x0805014f. That jump goes to0x08050060, which belongs to the jumping function unless something splits it off, and what split it off was the ten bytes of66 90padding at0x08050056:CFGFastrecovered the padding as a function of its own, that function fell through into0x08050060, and the jump therefore landed in another function.angr/angr#6827 teaches
CFGFastto record that padding as data instead, which leaves all but two of this binary's functions with jumpout sites without one — every one of them alignment. The test now expects the jumpout of0x0804e1c0, a one-instructionjmp 0x8052340thunk whose only block leaves the function, which holds on angr master and on that branch alike.