Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix amfi_ret jump offset computing #6

Open
wants to merge 77 commits into
base: iOS15
Choose a base branch
from

Conversation

PatriceBlin
Copy link

Running PongoOS on an other iOS device through emulation I ran into some issues regarding amfi_ret unconditional jump.
While I'm not completely sure of my reasoning I think the computation of the delta between amfi_ret and the sandbox b amfi_execve_hook address is wrong.

The offset between both addresses should be shifted to remove the last 2 unused bits as described by "Arm A64 Instruction Set Architecture"

bits(64) offset = SignExtend(imm26:'00', 64);

Also considering the shellcode area address could precede amfi_ret the delta could be negative and thus should be signed.

Others patches using the shellcode do takes this into consideration (example: kpf_dyld_emit)

Note: I only tested this through emulation, but I could check it on an iPhone X

asdfugil and others added 30 commits July 8, 2023 02:32
paleinfo is palera1n's version kerninfo, with support
for additional things such as rootful with fakefs.
unlike checkra1n, this patch is always required on palera1n
Co-authored-by: =?UTF-8?q?=E3=81=AD=E3=82=80=E3=81=84?=
 <[email protected]>
this is needed to fix the IDSBlastDoorService crash loop since 16.2
but we are  not have rootful for ios 17, so there is no point in updating this patch.
DolphiniOS do not like it if it is not set
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.

7 participants