Skip to content

Instantly share code, notes, and snippets.

@C0deH4cker
C0deH4cker / macho_extractor.c
Last active November 2, 2023 14:47
Program that will extract a segment from a mach-o file. Should even work on Linux/BSD/UNIX?
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
/* For supporting Linux and other systems that don't have mach-o headers */
@C0deH4cker
C0deH4cker / with.h
Created June 10, 2015 08:34
Python's with statement, implemented in C++ via macros
// Just like C#'s using statement and Python's with statement.
// This allows use of a resource within a code block, after which
// the declared object's destructor will clean up.
// There's nothing about `with` that doesn't work in C, but it is
// pointless in standard C as there are no destructors.
// Multiple with statements can be nested as well, so it works as
// you'd expect. If for some bizarre reason you need to put multiple
// using statements on the same line, I've added another version,
// defined below as with_inline.
//
@C0deH4cker
C0deH4cker / syms.c
Created March 20, 2016 03:21
Prints out the name, type, and value of every symbol in a Mach-O file, similar to nm.
//
// main.c
// macho-syms
//
// Created by C0deH4cker on 3/19/16.
// Copyright © 2016 C0deH4cker. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
@C0deH4cker
C0deH4cker / patternhooker.c
Last active January 19, 2022 02:04
Example of hooking a function from a Substrate tweak by searching for a byte pattern in the app's code segments. UNTESTED CODE
//
// patternhooker.c
// PatternHooker
//
// Finds a function by searching for a byte pattern and hooks it with CydiaSubstrate.
//
// Created by C0deH4cker on 7/26/15.
// Copyright (c) 2015 C0deH4cker. All rights reserved.
//
@C0deH4cker
C0deH4cker / hungman.py
Created July 31, 2019 02:23
Exploit for [PWN 300] Hungman from CSAW CTF Quals 2016
#!/usr/bin/env python
from pwn import *
import sys
debug_server = False
use_system_libc = True
r = remote("pwn.chal.csaw.io", 8003); use_system_libc = False
# r = process("./hungman")
# r = process("./linux_serverx64"); debug_server = True
@C0deH4cker
C0deH4cker / hacky.c
Created September 19, 2013 08:00
Hackiest preprocessor macros I may have ever written, yet they surprisingly work for every test case I've thrown at them. Enjoy ;)
/*
hacky.c
Written on 9/19/13 by @C0deH4cker for reasons unknown.
Inspired by http://carolina.mff.cuni.cz/~trmac/blog/2005/the-ugliest-c-feature-tgmathh/
DISCLAIMER:
No preprocessors were harmed in the creation of this code.
*/
/*
@C0deH4cker
C0deH4cker / this_is_bad.c
Created February 2, 2018 05:18
This is bad
/* THIS IS VERY BAD */
#define CONCAT(a, b) CONCAT_(a, b)
#define CONCAT_(a, b) a##b
#define THIS_IS_BAD(test, first, rest, cond, body...) THIS_IS_BAD_2(__COUNTER__, test, first, rest, cond, ##body)
#define THIS_IS_BAD_2(uniq, test, first, rest, cond, body...) THIS_IS_BAD_3(CONCAT(this_is_bad_, uniq), test, first, rest, cond, ##body)
#define THIS_IS_BAD_3(label, test, first, rest, cond, body...) do { \
if(test) { \
first(); \
@C0deH4cker
C0deH4cker / keybase.md
Last active March 2, 2017 12:12
Keybase.io GitHub Verification

Keybase proof

I hereby claim:

  • I am c0deh4cker on github.
  • I am c0deh4cker (https://keybase.io/c0deh4cker) on keybase.
  • I have a public key ASDAYDYtqJGjVHyfmEJDXA3gw4geCBLvgpynNHx7M2t1Wgo

To claim this, I am signing this object:

@C0deH4cker
C0deH4cker / crash.swift
Created February 5, 2017 08:45
Crash the swift interpreter by entering the first part, followed by entering the second part. Must be separate copy/pastes!
// Part 1
extension UInt {
public init(bytes: Bytes) {
self = 0
for byte in bytes {
self <<= 8
self |= UInt(byte)
}
}
}
@C0deH4cker
C0deH4cker / Property.h
Created February 2, 2014 11:31
C# style properties in C++
//
// Property.h
//
// Created by C0deH4cker on 2/2/14.
// Copyright (c) 2014 C0deH4cker. All rights reserved.
//
#ifndef _PROPERTY_H_
#define _PROPERTY_H_