Skip to content

Test a jumpout that does not depend on padding being a function - #68

Open
zardus wants to merge 1 commit into
masterfrom
fix/jumpout-expectation-without-padding-function
Open

Test a jumpout that does not depend on padding being a function#68
zardus wants to merge 1 commit into
masterfrom
fix/jumpout-expectation-without-padding-function

Conversation

@zardus

@zardus zardus commented Aug 12, 2026

Copy link
Copy Markdown
Member

THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS

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.

angr/angr#6827 teaches CFGFast to 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 of 0x0804e1c0, a one-instruction jmp 0x8052340 thunk whose only block leaves the function, which holds on angr master and on that branch alike.

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.
@zardus

zardus commented Aug 12, 2026

Copy link
Copy Markdown
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.

@angr-bot

Copy link
Copy Markdown
Member

Corpus decompilation diffs can be found at angr/dec-snapshots@master...angr/patcherex_68

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants