From cf55800063ab6e15eac222d03df3c5ee08e9df2b Mon Sep 17 00:00:00 2001 From: Tom E Date: Fri, 18 Aug 2023 07:30:05 -0400 Subject: [PATCH] fix apfs_patch_mount on 17 beta 4 --- checkra1n/kpf/main.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/checkra1n/kpf/main.c b/checkra1n/kpf/main.c index a9fc73be..e3362401 100644 --- a/checkra1n/kpf/main.c +++ b/checkra1n/kpf/main.c @@ -947,18 +947,16 @@ void kpf_apfs_patches(xnu_pf_patchset_t* patchset, bool have_union) { // 0xfffffff00692e6a8 080140f9 ldr x8, [x8] // 0xfffffff00692e6ac 1f0008eb cmp x0, x8 <- cmp (patches to cmp x0, x0) // r2 cmd: - // /x 0000003908011b3200000039000000b9:000000ffffffffff000000ff000000ff + // /x 08011b3200000039000000b9:1ffcffff0000c0bf000000bf uint64_t matches[] = { - 0x39400000, // ldr{b|h} w*, [x*] - 0x321b0108, // orr w8, w8, 0x20 + 0x321b0008, // orr w8, w*, 0x20 0x39000000, // str{b|h} w*, [x*] - 0xb9000000 // str w*, [x*] + 0xb9000000 // str/ldr w*, [x*] }; uint64_t masks[] = { + 0xfffffc1f, 0xbfc00000, - 0xffffffff, - 0xbfc00000, - 0xff000000, + 0xbf000000, }; xnu_pf_maskmatch(patchset, "apfs_patch_mount", matches, masks, sizeof(matches)/sizeof(uint64_t), true, (void*)kpf_apfs_patches_mount); if(have_union)