Day | Title | link |
---|---|---|
1 | Apple Source code | https://www.youtube.com/watch?v=WxOZgr0Ld9o |
2 | Mach-O Binaries | https://www.youtube.com/watch?v=G_bDl5hv8kY |
3 | PAC (Pointer Authentication Codes) | https://www.youtube.com/watch?v=9neXmcwtCF8 |
4 | dyld_shared_cache | https://www.youtube.com/watch?v=I1ZkONfyHG4 |
5 | Userspace Memory Layout | https://www.youtube.com/watch?v=MUr7qg7iqKE |
6 | SIP | https://www.youtube.com/watch?v=HeOVKe0xpW0 |
7 | Kernel Boot Arguments | https://www.youtube.com/watch?v=gjOKlBpJWoc |
8 | XNU Source Code Overview | https://www.youtube.c |
// | |
// ViewController.m | |
// JBDetectTest | |
// | |
// Created by seo on 3/27/25. | |
// | |
#import "ViewController.h" | |
#import <dlfcn.h> |
0x206140008: | |
rsvd_63 | |
cfgerren Enable error register locking and asynch reporting when CfgErrESV is set | |
chksnphit Deprecated | |
chkdatecc If set check data ECC, enable single bit error correction, log status. If clear | |
do not check data ECC, don't correct errors, don't log status. | |
injdatratedbe Rate at which double random ECC errors are injected. The rate is approximately | |
(2^(2*InjDatRateDbe)) accesses |
0x206140108: | |
b[63]: ready RAM available for use | |
b[62:30]: rsvd_62_30 | |
b[29:24]: regionbase Base region within LLC (starting way). Base address does not change. | |
(EnableSize+RegionBase) must be less than or equal to (RegionNum+1) and EnableSize must be less than or equal to RegionNum. | |
b[23:22]: rsvd_23_22 | |
b[21:16]: regionnum Number of supported regions | |
b[15:14]: rsvd_15_14 | |
b[13:8]: regionsize Size of each region 2^N (000000:No L2 - feature not supported; ... ; 001110:16KB; 001111: 32KB; 010000:64KB; ...) | |
b[7:6]: rsvd_7_6 |
// | |
// pplrw.m | |
// kfd | |
// | |
// Created by Lars Fröder on 29.12.23. | |
// | |
#import <Foundation/Foundation.h> | |
#import <dlfcn.h> | |
#import <mach-o/dyld.h> |
#!/bin/zsh | |
# WARNING! The script is meant to show how and what can be disabled. Don’t use it as it is, adapt it to your needs. | |
# Credit: Original idea and script disable.sh by pwnsdx https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 | |
# Disabling unwanted services on macOS Big Sur (11), macOS Monterey (12), macOS Ventura (13) and macOS Sonoma (14) | |
# Disabling SIP is required ("csrutil disable" from Terminal in Recovery) | |
# Modifications are written in /private/var/db/com.apple.xpc.launchd/ disabled.plist, disabled.501.plist | |
# To revert, delete /private/var/db/com.apple.xpc.launchd/ disabled.plist and disabled.501.plist and reboot; sudo rm -r /private/var/db/com.apple.xpc.launchd/* | |
# user |
ARM defines ACTLR_EL[321]
as implementation defined.
Apple adds an IMPDEF ACTLR_EL12
as s3_6_c15_c14_6
and effectively implements VHE semantics. This does not seem to violate the architecture, since the register contents are IMPDEF anyway so nothing says they can't alias ACTLR_EL1 and ACTLR_EL2 together in EL2.
ACTLR_EL1 is trapped by HCR_EL2.TACR
. It is also trapped by HACR_EL2<0>
(which has all the controls for fine-grained Apple IMPDEF stuff).
In addition, AIDR_EL1
contains feature bits for Apple IMPDEF functionality. It is identical in EL1 and EL2 and is trapped by HCR_EL2.TID1
and HACR_EL2<4>
.
As of macOS 12 (Monterey), Apple's Virtualization framework has nice support for macOS guest virtual machines, but with severe limitations: For example you can't install a macOS guest on Intel Macs, install guests with newer versions of macOS than the host, copy and paste between the host and the guest, or install third party kernel extensions in the guest. As usual for Apple, the functionality they do support is nicely implemented, but they've left out so much that the result is only marginally useful -- at least compared to
#!/usr/bin/env bash | |
# virtualapple-utm-link | |
# Karen/あけみ (akemin_dayo) | |
# https://gist.github.com/akemin-dayo/8337d8274deddfefae5d1543420ca0b1.git | |
# This is a cleaned up version of an internal script that I've been using while working on TotalFinder to create VirtualApple virtual machine instances that are hardlinked to a UTM virtual machine instance. | |
# It's particularly useful for entering One True recoveryOS (1TR) as well as using the other features found only in VirtualApple. | |
# UTM does not support entering 1TR for macOS 12 hosts (yet?), though it is now possible on macOS 13 hosts (utmapp/UTM/issues/3526). |
#!/bin/zsh | |
# Credit: Original idea and script disable.sh by pwnsdx https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3 | |
# Disabling unwanted services on macOS Big Sur (11), macOS Monterey (12) and macOS Ventura (13) | |
# Disabling SIP is required ("csrutil disable" from Terminal in Recovery) | |
# Modifications are written in /private/var/db/com.apple.xpc.launchd/ disabled.plist, disabled.501.plist | |
# To revert, delete /private/var/db/com.apple.xpc.launchd/ disabled.plist and disabled.501.plist and reboot; sudo rm -r /private/var/db/com.apple.xpc.launchd/* | |
# user |