Skip to content

Instantly share code, notes, and snippets.

View tbodt's full-sized avatar

tbodt tbodt

View GitHub Profile
@tbodt
tbodt / ma.txt
Last active May 18, 2024 16:21
ma
AAIAAAABAEAAAgEwAAMAAQACAAcAAwACAAIABgADADAABAABAAMABwAEAAIAAwAGAAQAEgAFAAEABAAHAAUAAQAEABUAAAABAAQABwAAAAIABAAGAAEAQAACAQUAAwADAAIABQADAAMAAgAFAAMAAwACAAQAAwAEAAIABAADAAQAAgADAAMABQACAAIAAwAGAAIAAQADAAwABAADAAMABQAEAAMAAwAFAAQAAwADAAQABAAEAAMABAAEAAQAAwADAAQABQADAAIABAAGAAMAAQAEAAwAAAADAAQABQAAAAMABAAFAAAAAwAEAAQAAAAEAAQABAAAAAQABAADAAAABQAEAAIAAAAGAAQAAQAAAAcAAQBAAAIBAAADAAIAAgAGAAMAAgACAAYAAwADAAIABQADAAMAAgAFAAMAAwACAAUAAwAEAAIABAADAAUAAgADAAMABgACAAIABAACAAMABgAEAAIAAwAGAAQAAwADAAUABAADAAMABQAEAAMAAwAFAAQABAADAAQABAAFAAMAAwAEAAYAAwACAAAAAgAEAAYAAAACAAQABgAAAAMABAAFAAAAAwAEAAUAAAADAAQABQAAAAQABAAEAAAABQAEAAMAAAAGAAQAAgABAEAAAgFgAAMAAQACAAcAAwABAAIABwADAAIAAgAGAAMAAwACAAUAAwAGAAIAAQADABkABAABAAMABwAEAAEAAwAHAAQAAgADAAYABAADAAMABQABAEAAAgEvAAMAAQACABUAAwADAAIABAADAAQAAgAEAAMABAACAAMAAwAFAAIAAwADAAQABgABAAIAAwADAAQABgABAAIAAgADAAYAAgACAAMACgAEAAQAAwAEAAQABAADAAQABAAEAAMAAwAEAAUAAwADAAQABQADAAMABAAEAAAAAQADAAIABAAGAAMAAgAEAAYAAQBAAAIBAwADAAUAAgABAAMABwACAAEAAwAwAAYABwADAAEABgAHAAMAAQAGAC8ABAABAAAABwAEAAEAAAAH
@tbodt
tbodt / Makefile
Created December 28, 2022 02:59
static site generator
*.html: %.php
php $< > $@
all: $(shell find . -name '*.php')
======================================================================================
======================================================================================
== Tweedle D & Tweedle dum! ==========================================================
======================================================================================
======================================================================================
Sun, 25 Oct 2020 4:44PM PST.... ======================================================
Author: NOBODY (et-al) ===============================================================
======================================================================================
= OR 'hello world of TMM & PKA' ======================================================
#!/usr/sbin/dtrace -Cs
#pragma D option quiet
dtrace:::BEGIN {
printf("top outstanding allocation backtrace:\n");
printf("%d bytes in %d sampled allocations (sampling 1 in %d)\n", `top_ztrace->zt_size, `top_ztrace->zt_hit_count, `zleak_sample_factor);
printf("estimate: %d bytes in %d total allocations, %d bytes/allocation\n", `top_ztrace->zt_size * `zleak_sample_factor, `top_ztrace->zt_hit_count * `zleak_sample_factor, `top_ztrace->zt_size / `top_ztrace->zt_hit_count);
#define A(i) \
if (`top_ztrace->zt_depth > i) { \
sym((user_addr_t)`top_ztrace->zt_stack[i]); \
@tbodt
tbodt / 75QP1iSxzMfJGmoUJ9ZJgg.png
Last active April 10, 2020 02:28
DTrace at Home
75QP1iSxzMfJGmoUJ9ZJgg.png
#include <pthread.h>
#define ATOMIC 1
int flags;
void *thread(void *asdf) {
(void) asdf;
for (;;) {
#if ATOMIC
__atomic_fetch_or(&flags, 1 << 3, __ATOMIC_SEQ_CST);
SEQUENCE OF EVENTS
==================
- /file has inode 1.
- Thread A opens /file and creates the in-memory inode 1.
- Thread A closes its file handle and enters the code path to destroy the in-memory inode 1, but is preempted after releasing inode_lock and before calling inode_orphaned.
- Thread B opens /file and re-creates the in-memory inode 1.
- Thread B renames /file2, which has inode 2, to /file. This removes the last reference to inode 1 in the database.
- Thread A wakes up and goes to finish the destruction of inode 1, which removes it from the database since it has no more references.
- Thread B calls fstat on its open handle to inode 1. This fails because it's gone from the database.
//
// AppDelegate.m
// ptrace test
//
// Created by Theodore Dubois on 2/1/19.
// Copyright © 2019 Theodore Dubois. All rights reserved.
//
#import "AppDelegate.h"
#include <sys/mman.h>
#include <iostream>
#include <math.h>
using namespace std;
int main() {
}
#!/bin/bash
using System;
using System.Collections.Generic;
using System.Linq;
@tbodt
tbodt / patch.m
Created July 3, 2018 01:08
dylib that patches out PT_DENY_ATTACH on hopper disassembler 4.3.25 demo
static void *decrypt_start = (void *) 0x1000bafd5;
static void patch(void *addr, char value) {
*(char *) addr = value ^ (addr - decrypt_start) & 0xff;
}
static void __attribute__((constructor)) init() {
patch((void *) 0x1000bb00b, 0); // boobs
}