Skip to content

Instantly share code, notes, and snippets.


Nick Bulischeck nbulischeck

View GitHub Profile
nbulischeck /
Last active Nov 6, 2021
Install glibc debug symbols on Arch Linux for pwndbg heap analysis
# Install Dependencies
sudo pacman -S git svn gd lib32-gcc-libs patch make bison fakeroot
# Checkout glibc source
svn checkout --depth=empty svn://
cd packages
svn update glibc
cd glibc/repos/core-x86_64
import re
import os, shutil, pathlib
from zipfile import ZipFile, BadZipFile
from string import ascii_uppercase, ascii_lowercase
whitespace = ["\r", "\n", "\t", "\f", "\v", " "]
rep_var = ["{i}", "{j}", "{k}"]
def solve_challenge():
# Values from the white paper
EXAMPLE_PHDR = 'L2 F\' B2 U D2 B U D\' F2 L\' F U2 R U\' L\' R\' U\' B F D U\''.split(" ")
EXAMPLE_LHDR = 'B U2 D2 R\' F U2 B R L\' B L\' B L\' D F\' L U\' B2 R F2 L\' F2'.split(" ")
EXAMPLE_MSG = 'F L U2 L2 F\' B D\' B2 L\' B\' U L2 F\' R2 D\' B\' U\' L\' B R D2 L2 R\' B F2 D\' U R B D2 U2 R2 U\' F2 R2 F D F2 B2 D\' R\' D R\' U\' F\' B2 U F2 D R U L F U2 L2 D R B D\' B\' U L U\''.split(" ")
# Values from the challenge
CHALL_PHDR = 'B2 R U F\' R\' L\' B B2 L F D D\' R\' F2 D\' R R D2 B\' L R'.split(" ")
CHALL_LHDR = 'L\' L B F2 R2 F2 R\' L F\' B\' R D\' D\' F U2 B\' U U D\' U2 F\''.split(" ")
CHALL_MSG = 'L F\' F2 R B R R F2 F\' R2 D F\' U L U\' U\' U F D F2 U R U\' F U B2 B U2 D B F2 D2 L2 L2 B\' F\' D\' L2 D U2 U2 D2 U B\' F D R2 U2 R\' B\' F2 D\' D B\' U B\' D B\' F\' U\' R U U\' L\' L\' U2 F2 R R F L2 B2 L2 B B\' D R R\' U L'.split(" ")
nbulischeck / sql-param-bind.c
Created Dec 5, 2018
Function that uses SQL parameter binding in C
View sql-param-bind.c
#include <mysql.h>
int commit_db(MYSQL *con){
MYSQL_BIND bind[2];
my_ulonglong affected_rows;
item_t *curr = items_list;
int count, param_count;
unsigned long str_length;
nbulischeck /
Created Nov 1, 2018
GDB Python Plugin to Generate De Bruijn Sequences
#!/usr/bin/env python
from itertools import islice
from string import ascii_lowercase
def de_bruijn(k, n):
_ = int(k)
alphabet = list(map(str, range(k)))
except (ValueError, TypeError):
nbulischeck / Makefile
Created May 26, 2018
PoC using debugfs to execute files
View Makefile
BACKDOOR := backdoor
obj-m := $(BACKDOOR).o
$(BACKDOOR)-y += poc.o
default: all
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
nbulischeck /
Created Apr 11, 2018
The README file for Nick's CTF.

Nick's CTF

A CTF that challenges you from trivia questions to reverse engineering ELF binaries.

Recommended Tools

  • netcat
    • gnu-netcat
    • nc6
    • openbsd-netcat (discouraged)
nbulischeck / partition.c
Created Feb 26, 2018
Frustrated with strtok? Partition parses strings based on strings instead of characters and doesn't fudge the target string.
View partition.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct view { const char *s; size_t len; };
size_t partition(struct view *result, size_t n,
const char *str, const char *delim){
char *startp = (char *)str, *endp;
size_t l = strlen(delim), i = 0;
nbulischeck / Arch VM Install Script
Last active Apr 18, 2020
Bash script to automate an arch install for virtual machines
View Arch VM Install Script