Skip to content

Instantly share code, notes, and snippets.

View bazad's full-sized avatar

Brandon Azad bazad

View GitHub Profile
@bazad
bazad / build-xnu-4570.1.46.sh
Created October 6, 2017 21:24
A script to build XNU version 4570.1.46 (macOS High Sierra 10.13).
#! /bin/bash
#
# build-xnu-4570.1.46.sh
# Brandon Azad
#
# A script showing how to build XNU version 4570.1.46 on MacOS High Sierra
# 10.13 with Xcode 9.
#
# Note: This process will OVERWRITE files in Xcode's MacOSX10.13.sdk. Make a
# backup of this directory first!
@bazad
bazad / git-xnu.sh
Last active October 4, 2023 06:32
A script to create a git repository for Apple's XNU kernel source.
#! /bin/bash
#
# git-xnu.sh
# Brandon Azad
#
# A script to download Apple's XNU kernel source code and create a git
# repository.
#
XNU_DIR="xnu"
@bazad
bazad / build-xnu-4570.41.2.sh
Created June 12, 2018 20:30
A script to build XNU version 4570.41.2 (macOS High Sierra 10.13.3) on macOS 10.13.5 with Xcode 9.4.
#! /bin/bash
#
# build-xnu-4570.41.2.sh
# Brandon Azad
#
# A script showing how to build XNU version 4570.41.2 on macOS High Sierra
# 10.13.5 with Xcode 9.4.
#
# Note: This process will OVERWRITE files in Xcode's MacOSX10.13.sdk. Make a
# backup of this directory first!
@bazad
bazad / ios-12-kernelcache-tagged-pointers.py
Created June 20, 2018 19:37
Working with the new iOS 12 kernelcache's tagged pointers in IDA.
#
# ios-12-kernelcache-tagged-pointers.py
# Brandon Azad
#
# An idapython script that shows how to work with the new tagged pointers in the iOS 12
# kernelcache.
#
import idc
import idaapi
@bazad
bazad / build-xnu-4570.71.2.sh
Created November 8, 2018 19:07
A script to build XNU version 4570.71.2 (macOS High Sierra 10.13.6) on macOS 10.13.6 with Xcode 9.4.1.
#! /bin/bash
#
# build-xnu-4570.71.2.sh
# Brandon Azad
#
# A script showing how to build XNU version 4570.71.2 (which corresponds to
# macOS 10.13.6) on macOS High Sierra 10.13.6 with Xcode 9.4.1.
#
# Note: This process will OVERWRITE files in Xcode's MacOSX10.13.sdk. Make a
# backup of this directory first!
@bazad
bazad / build-xnu-4570.61.1.sh
Created November 13, 2018 21:30
A script to build XNU version 4570.61.1 (macOS High Sierra 10.13.5) on macOS 10.13.5 with Xcode 9.4.
#! /bin/bash
#
# build-xnu-4570.61.1.sh
# Brandon Azad
#
# A script showing how to build XNU version 4570.61.1 (which corresponds to
# macOS 10.13.5) on macOS High Sierra 10.13.5 with Xcode 9.4.
#
# Note: This process will OVERWRITE files in Xcode's MacOSX10.13.sdk. Make a
# backup of this directory first!
@bazad
bazad / build-xnu-4903.221.2.sh
Created January 28, 2019 19:18
A script to build XNU version 4903.221.2 (macOS High Sierra 10.14.1) on macOS 10.14.1 with Xcode 9.4.1.
#! /bin/bash
#
# build-xnu-4903.221.2.sh
# Brandon Azad
#
# A script showing how to build XNU version 4903.221.2 (which corresponds to
# macOS 10.14.1) on macOS High Sierra 10.14.1 with Xcode 9.4.1.
#
# Note: This process will OVERWRITE files in Xcode's MacOSX10.13.sdk. Make a
# backup of this directory first!
@bazad
bazad / A12-page-table-walk.c
Created May 17, 2019 05:22
A C implementation of a simple page table walk on A12 devices (iOS 12.1.2).
uint64_t
aarch64_page_table_lookup(uint64_t ttbr, uint64_t vaddr,
uint64_t *l1_tte_, uint64_t *l2_tte_, uint64_t *l3_tte_) {
const uint64_t pg_bits = 14;
const uint64_t l1_size = 3;
const uint64_t l2_size = 11;
const uint64_t l3_size = 11;
const uint64_t tte_physaddr_mask = ((1uLL << 40) - 1) & ~((1 << pg_bits) - 1);
uint64_t l1_index = (vaddr >> (l2_size + l3_size + pg_bits)) & ((1 << l1_size) - 1);
uint64_t l2_index = (vaddr >> (l3_size + pg_bits)) & ((1 << l2_size) - 1);
@bazad
bazad / if_value.h
Created September 11, 2019 22:44
A C preprocessor macro to test whether a macro parameter has a value.
//
// if_value.h
// Brandon Azad
//
// Public domain
//
#ifndef IF_VALUE
/*
@bazad
bazad / build-xnu-4903.241.1.sh
Created September 13, 2019 21:11
A script to build XNU version 4903.241.1 (macOS High Sierra 10.14.3) on macOS 10.14.6 with Xcode 9.4.1.
#! /bin/bash
#
# build-xnu-4903.241.1.sh
# Brandon Azad
#
# A script showing how to build XNU version 4903.241.1 (which corresponds to
# macOS 10.14.3) on macOS High Sierra 10.14.6 with Xcode 9.4.1.
#
# Note: This process will OVERWRITE files in Xcode's MacOSX10.13.sdk. Make a
# backup of this directory first!