Skip to content

Instantly share code, notes, and snippets.

View flounderK's full-sized avatar
💭
Screaming in confusion

Clif Wolfe flounderK

💭
Screaming in confusion
  • Good god I’m lost
View GitHub Profile
@flounderK
flounderK / create_ghidra_fidb.sh
Created December 22, 2023 23:52
create ghidra fidb
sudo apt install gcc-aarch64-linux-gnu
sudo apt install crossbuild-essential-arm64
sudo apt install crossbuild-essential-armel
sudo apt install gcc-arm-linux-gnueabi gcc-arm-none-eabi
git clone https://sourceware.org/git/glibc.git
cd glibc
mkdir build
cd build
@flounderK
flounderK / group_by_increment.py
Last active November 21, 2024 18:14
A python function to group sections of an iterable's elements if they are within a specified bounds of the values around them
def group_by_increment(iterable, group_incr, field_access=None, do_sort=True):
"""
Identify series of values that increment/decrement
within a bounds @group_incr, grouping them into lists.
The comparison to determine whether a value belongs in a group is
if (prev_val + group_incr) <= curr_val:
@iterable: iterable. This must be sorted for this function to work correctly.
@group_incr: amount to be added to a value to determine
@field_access: optional function to run on each element of the iterable to get
@flounderK
flounderK / hexdumppy.py
Last active December 27, 2023 19:25
hex dump in python
import string
def batch(it, sz):
for i in range(0, len(it), sz):
yield it[i:i+sz]
def hexdump_str(bytevals, offset=0, bytes_per_line=16, bytegroupsize=2):
# get max address size
# hg update --clean # clean
# hg purge
hg clone https://gmplib.org/repo/gmp
cd gmp
./.bootstrap
mkdir build
cd build
@flounderK
flounderK / build_aarch64_glibc.sh
Created November 5, 2023 16:07
cross compile glibc for aarch64
sudo apt install gcc-aarch64-linux-gnu
sudo apt install crossbuild-essential-arm64
sudo apt install crossbuild-essential-armel
sudo apt install gcc-arm-linux-gnueabi gcc-arm-none-eabi
git clone https://sourceware.org/git/glibc.git
cd glibc
mkdir build
cd build
@flounderK
flounderK / build_static_strace_aarch64.sh
Created November 5, 2023 16:03
cross compile static strace for aarch64
sudo apt install gcc-aarch64-linux-gnu
sudo apt install crossbuild-essential-arm64
sudo apt install crossbuild-essential-armel
sudo apt install gcc-arm-linux-gnueabi gcc-arm-none-eabi
git clone git@github.com:strace/strace.git
cd strace
./bootstrap
@flounderK
flounderK / gdbinit
Last active October 21, 2023 19:51
Print out console output from the linux kernel in qemu before setting up serial or a console correctly using gdb
set height 0
set width 0
set $BINBASE = <YOUR-BINARY-BASE-HERE>
# this works correctly for the linux kernel after printk started using a ringbuffer in he linux kernel
set $PRINTLOC = 0x0
set $BP_record_print_text = $BINBASE + <offset-to-record_print_text>
b *$BP_record_print_text
@flounderK
flounderK / make_slideshare_pdf.py
Created November 12, 2022 21:40
Turn a bunch of images from slideshare into a pdf
#!/usr/bin/env python3
import os
import argparse
import re
import subprocess
def cli():
description = """
Convert a large set of images from jpg to pdf.
@flounderK
flounderK / gist:4b1694e23217deb34414d1854eafe2a1
Created January 3, 2022 17:26
create linux kernel codeqldb from cmdline
#!/bin/bash
CODEQL_DB_DIR="$HOME/Documents/codeql_dbs"
mkdir -p "$CODEQL_DB_DIR"
LINUX_REPO_DIR="$HOME/cloned/linux"
ORIGINAL_DIR=$(pwd)
cd "$LINUX_REPO_DIR"
make defconfig
cd "$ORIGINAL_DIR"
@flounderK
flounderK / clipboard_file_transfer.sh
Created January 2, 2022 17:13
A very sad elf file transfer over a single tcp connection
# on remote target
cat << EOF | base64 -d - | tar -Jxf - -O > exp && chmod +x exp && ./exp
# on your machine (copies the base64 to your clipboard)
xclip -sel c <(tar -cJO exp | base64 - | sed -e '$a\\nEOF\n')
# Literally just paste the entirety of the compressed binary in base64 to the connected terminal