Skip to content

Instantly share code, notes, and snippets.

View cmsj's full-sized avatar
🏠
Working from home

Chris Jones cmsj

🏠
Working from home
View GitHub Profile
@cmsj
cmsj / iOS-File-System-Extraction.md
Created July 31, 2017 12:04
Guide to extract the root file system and decompress the kernel cache for iOS.

iOS File System Extraction

For iOS 10 and Up

Starting with iOS 10.0 Apple decrypted the file system and kernel cache. All you have to do is download an IPSW, change the extension to .zip, and unarchive it. The largest size disk image inside the unarchived zip will be the root file system. Simply mount it to see its contents.

Links to download all iOS IPSWs.

For iOS 9 and Below

Originally from /u/RowRocka on Reddit. Gently edited for clarity.

Links to download all iOS OTA ZIPs.

{
"global": {
"check_for_updates_on_startup": true,
"show_in_menu_bar": false,
"show_profile_name_in_menu_bar": false
},
"profiles": [
{
"complex_modifications": {
"rules": [
lastApp = nil
function launchFocusOrSwitchBack(appName)
-- This function will launch appName if it's not running, focus
-- it if it is running, or if it's already focused, switch back
-- to whatever the last focused App was
-- (The Pro version of this would use hs.windowfilter to track
-- window focus events, but for now we'll just assume that this
-- is the only way apps will be switched)
local currentApp = hs.application.frontmostApplication()
@cmsj
cmsj / protect.py
Created January 9, 2017 11:04 — forked from beekhof/protect.py
#!/usr/bin/env python
from datetime import datetime
import subprocess
import getopt
import sys
import os
import re
results={}
" Be iMproved
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle
call vundle#rc()
" Bundles
Bundle 'gmarik/vundle'
Bundle 'ctrlpvim/ctrlp.vim'
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hello world
My name is Chris Jones and I am changing my GPG key.
The original key fingerprint is: 6C99 9021 9B3A EC6D 4A28 7EE7 C574 7646 7313 2D75
@cmsj
cmsj / -
Last active February 21, 2016 20:44
#!/bin/bash
# Put this script in the folder that your Games_WHDLoad directory lives in. Dump update pack directories in the same place and run the script
export SETOPTS="${SETOPTS:--eux}"
set "${SETOPTS}"
export BASEDIR
BASEDIR="$(dirname "$0")"
export GAMESDIR="${BASEDIR}/Games_WHDLoad"
@cmsj
cmsj / -
Created December 22, 2015 10:04
diff --git a/extensions/eventtap/event.m b/extensions/eventtap/event.m
index 8fe09e6..358eeb4 100644
--- a/extensions/eventtap/event.m
+++ b/extensions/eventtap/event.m
@@ -406,6 +406,7 @@ static int eventtap_event_newKeyEvent(lua_State* L) {
eventSource = CGEventSourceCreate(kCGEventSourceStatePrivate);
}
+ NSLog(@"Creating key event. Modifiers: %llu, keyCode: %d, isDown: %@", flags, keycode, isdown ? @"YES" : @"NO");
CGEventRef keyevent = CGEventCreateKeyboardEvent(eventSource, keycode, isdown);
@cmsj
cmsj / -
Created November 23, 2015 21:05
" Be iMproved
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle
call vundle#rc()
" Bundles
Bundle 'gmarik/vundle'
Bundle 'kien/ctrlp.vim'
@cmsj
cmsj / -
Last active November 18, 2015 12:52
diff --git a/extensions/audiodevice/internal.m b/extensions/audiodevice/internal.m
index 5584112..0066093 100644
--- a/extensions/audiodevice/internal.m
+++ b/extensions/audiodevice/internal.m
@@ -48,6 +48,9 @@ static int audiodevice_watcherStop(lua_State *L);
#pragma mark - CoreAudio helper functions
OSStatus audiodevice_callback(AudioDeviceID deviceID, UInt32 numAddresses, const AudioObjectPropertyAddress addressList[], void *clientData) {
+ for (UInt32 j = 0; j < numAddresses; j++) {
+ NSLog(@"audiodevice_callback received event %d/%d: %@", j, numAddresses, (__bridge_transfer NSString *)UTCreateStringForOSType(addressList[j].mSelector));