Skip to content

Instantly share code, notes, and snippets.

// Siguza
// Treat as public domain.
#include <ctype.h> // isspace
#include <stdlib.h> // malloc, free,
#include <string.h> // strlen, strncmp, strstr
// Turn delimiter tokens into null terminators and
// create array of pointers to each new string.
static void destructive_split(char *str, const char *delim, char ***out, size_t *outlen)

Sadly I don't have a dev device on iOS 10, but for anyone playing around with zIVA caring about the kernel task port:

Starting with iOS 10.3 (and macOS 10.12.4), Apple changed convert_port_to_locked_task (and a few other port-to-something conversion functions) to blacklist the kernel task by means of a direct check. As a result, you can still obtain the kernel task port, but almost all APIs will simply treat it like MACH_PORT_NULL, thus rendering it useless. The check is a simple pointer comparison though, so it can be circumvented by just remapping the task struct at an additional virtual address and creating a new port from that with a ROP equivalent of:

vm_map_remap(
    kernel_map,
    &remap_addr,
    sizeof(task_t),
    0,

VM_FLAGS_ANYWHERE | VM_FLAGS_RETURN_DATA_ADDR,

Keybase proof

I hereby claim:

  • I am Siguza on github.
  • I am siguza (https://keybase.io/siguza) on keybase.
  • I have a public key whose fingerprint is 6393 3A9D E301 7C59 ADE5 3EBB 1591 E8CA 0BCA 036F

To claim this, I am signing this object:

Moved here: https://github.com/Siguza/ios-build/blob/master/libimobiledevice/build.sh
@Siguza
Siguza / img3ex.c
Created September 18, 2016 14:07
Img3 extractor
/*
* img3ex.c - Extract Img3 files from any binary blob, e.g. a /dev/disk* dump.
*
* Placed in the Public Domain, do whatever you want with it. No warranty of any kind.
*
* Compile with: cc -o img3ex -std=c11 -Wall -O3 img3ex.c
*/
#include <errno.h> // errno
#include <fcntl.h> // open, O_RDONLY
@Siguza
Siguza / t2048.c
Last active March 8, 2022 08:00
2048 for your calculator! :D
/*
* t2048.c - 2048 for some TI calculators
*
* Copyright (c) 2014 Siguza
*
* Tested on TI-89 Titanium only. According to headers, it should work on TI-92 and Voyage 200 as well, but no promises.
* To be compiled with ti-gcc - as far as I remember, TI's own C compiler can't handle this.
*
* Licensed under MIT, i.e. feel free to use and redistribute at will, but I'd appreciate some credit. :)
*/
// ==UserScript==
// @name Stack Overflow Real Dark
// @namespace http://github.com/TinyGiant/
// @description Real dark styling for Stack Overflow and some Stack Exchange sites
// @author @TinyGiant
// @run-at document-start
// @version 1.0.1.0
// @include /^https?:\/\/.*\.?stack(overflow|exchange).com/.*$/
// ==/UserScript==