Skip to content

Instantly share code, notes, and snippets.

@dlevi309
dlevi309 / 0strings.md
Last active October 8, 2023 19:23
a version of `strings(1)` that isn’t dependent on a linker

strings

a version of strings(1) that isn’t dependent on a linker. Dumps all strings of any given file.

Based off code provided by toybox

@dlevi309
dlevi309 / reachable_services_get.m
Last active February 7, 2024 17:47 — forked from zhuowei/reachable_services.txt
Reachable Mach services from the app sandbox on iOS 16.1
// cc reachable_services_get.m -o reachable_services_get -framework Foundation
#import <Foundation/Foundation.h>
#import <servers/bootstrap.h>
void enumerateMachServices() {
NSDictionary<NSString*, id>* dict = [NSDictionary dictionaryWithContentsOfFile:@"/System/Library/xpc/launchd.plist"];
NSDictionary<NSString*, id>* launchDaemons = dict[@"LaunchDaemons"];
for (NSString* key in launchDaemons) {
NSDictionary<NSString*, id>* job = launchDaemons[key];
/*
* Copyright (C) 2023 Daniel Levi
*
* Originally based on Apple's header for WebKit. The file within this repo
* named LICENSE_APPLE contains the copyright notice provided by Apple
*
* This header is based on my own disassembly of libMobileGestalt and contains
* 760 keys that should support any iOS version up until iOS 17.
*
*/
@dlevi309
dlevi309 / mach_vm.h
Created August 14, 2023 08:07
Prototypes from mach/mach_vm.h
#include <mach/mach.h>
extern
kern_return_t mach_vm_allocate
(
vm_map_t target,
mach_vm_address_t *address,
mach_vm_size_t size,
int flags
);
@dlevi309
dlevi309 / platform_swap.m
Last active October 9, 2023 08:00 — forked from DerekSelander/platform_swap.m
Exchange Mach-O platform types with min version
//
// main.m
// platform_swap @LOLgrep
//
#import <Foundation/Foundation.h>
#import <mach-o/loader.h>
#define PLATFORM_VISIONOS 11
#define PLATFORM_VISIONOSSIMULATOR 12
@dlevi309
dlevi309 / crashcatch.c
Last active January 1, 2024 09:30
Interpose-able code to catch crashes, print, and exit cleanly. Check near line 106 https://opensource.apple.com/source/libclosure/libclosure-67/objectTests/test.pl
#include <signal.h>
#include <string.h>
#include <unistd.h>
#include <execinfo.h>
#include <stdio.h>
#include <stdlib.h>
// from dyld-interposing.h
#define DYLD_INTERPOSE(_replacement,_replacee) __attribute__((used)) static struct{ const void* replacement; const void* replacee; } _interpose_##_replacee __attribute__ ((section ("__DATA,__interpose"))) = { (const void*)(unsigned long)&_replacement, (const void*)(unsigned long)&_replacee };
@dlevi309
dlevi309 / kMGQ.h
Last active November 11, 2022 13:12
kMGQuestion / Answer key pairs from libMobileGestalt
#define kMGQ3GProximityCapability CFSTR("3GProximityCapability")
#define kMGQ3GVeniceCapability CFSTR("3Gvenice")
#define kMGQ720pPlaybackCapability CFSTR("720p")
#define kMGQAPNCapability CFSTR("apn")
#define kMGQARM64ExecutionCapability CFSTR("arm64")
#define kMGQARM64eExecutionCapability CFSTR("arm64e")
#define kMGQARMV6ExecutionCapability CFSTR("armv6")
#define kMGQARMV7ExecutionCapability CFSTR("armv7")
#define kMGQARMV7SExecutionCapability CFSTR("armv7s")
#define kMGQAWDID CFSTR("AWDID")
@dlevi309
dlevi309 / syscalls.json
Last active December 4, 2022 02:01
iOS 16.0b3 mach and bsd syscalls
{
"mach_syscalls": [
{
"number": 10,
"arguments": [
"mach_port_name_t target",
"mach_vm_address_t *address",
"mach_vm_size_t size",
"int flags"
],
#!/bin/sh
defaults write com.apple.iTunesHelper ignore-devices -bool YES
defaults write com.apple.AMPDeviceDiscoveryAgent ignore-devices 1
defaults write com.apple.AMPDeviceDiscoveryAgent reveal-devices 0
defaults write com.apple.MobileDeviceUpdater Disabled -bool YES
defaults write -g ignore-devices -bool YES
================================== iphone11,2 ===================================================
14.4.1-14.2
key : 5a37b94ad2b79cb789ed930f0dff883ed0487a86151844450e0a197070647369e9691f5091c202ab8699939f31bf6c4a
18B92/14.2
key : aa0684897a2a372e7bcb0f26625a70142bdb671267af4d23a2ec851910c7e8641a738ce63c1fccc558b480baa0b086f2