Skip to content

Instantly share code, notes, and snippets.

View hasher.c
josh@ubuntu:~/hasher$ dd if=/dev/zero bs=65536 count=16384 | ./xxHash/xxh128sum
16384+0 records in
16384+0 records out
16024760318c6298efd1151033ad2e9f stdin
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.23966 s, 4.5 GB/s
josh@ubuntu:~/hasher$ dd if=/dev/zero bs=65536 count=16384 | ./a.out
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.210685 s, 5.1 GB/s
16024760318c6298efd1151033ad2e9f
@hashbrowncipher
hashbrowncipher / antisnoopy.md
Last active Oct 18, 2020
antisnoopy: defeating LD_PRELOAD tracking of execve
View antisnoopy.md

There's some software floating around that uses LD_PRELOAD to track the commands executed on a Linux system. It does this by intercepting calls to the execve(3) library function and emitting a log entry for each such call. This can make sense from a "let's keep some kind of record of what my well-intentioned friends are doing on the system" perspective, but is pretty useless as a "defend against someone who is aiming to attack me" perspective.

View mp_upload_async.py
from aiohttp.client_exceptions import ClientError
import asyncio
from asyncio import Queue
from aiohttp.resolver import AsyncResolver
import json
import os
import random
from blake3 import blake3
from hashlib import md5
from socket import socketpair
@hashbrowncipher
hashbrowncipher / assumerole.py
Created Dec 15, 2019
subclass of botocore.session.Session that assumes roles and refreshes credentials
View assumerole.py
from botocore.session import Session
credentials_cache = dict()
class Session(Session):
def __init__(self, role_arn, *args, **kwargs):
super().__init__(*args, **kwargs)
self._config = dict(
profiles=dict(
default=dict(
View coredump_uploader.sh
#!/bin/bash
# Depends on zstd (>1.3.6) and aws-cli
set -o errexit
set -o nounset
set -o pipefail
# Set kernel.core_pattern = | coredump_uploader.sh %P %s %E
PID=$1
shift
SIGNAL=$1
View jvmquake jstat
$ sudo -u cassandra jstat -gcutil $(pgrep -f Cassandra) 100ms
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 100.00 100.00 100.00 97.96 95.10 21 8.678 11 140.498 149.176
0.00 100.00 100.00 100.00 97.96 95.10 21 8.678 11 140.498 149.176
0.00 100.00 100.00 100.00 97.96 95.10 21 8.678 11 140.498 149.176
View benchmarker.c
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <time.h>
#include <unistd.h>
#include <sys/resource.h>
@hashbrowncipher
hashbrowncipher / linux_tempfile.py
Created Sep 20, 2019
Atomically creates a file in Linux
View linux_tempfile.py
@contextmanager
def atomic_temporary_file(destination, *, mode="w+b", flags=0, **kwargs):
fd = os.open(destination.parent, os.O_TMPFILE | os.O_RDWR | flags)
with io.open(fd, mode, **kwargs) as fh:
yield fh
os.link("/proc/self/fd/{}".format(fd), str(destination), src_dir_fd=0)
@hashbrowncipher
hashbrowncipher / tokens.py
Created Sep 4, 2019
Cassandra tokens calculator
View tokens.py
from fractions import Fraction as f
def factors_of_two(n):
return n & ~(n - 1)
def _tokens_slice(count, zones):
# We cannot have zones be a multiple of two and also have tokens with
# equal spacing from each other.
@hashbrowncipher
hashbrowncipher / docker2squash.sh
Created May 5, 2019
generates a squashfs from a docker image
View docker2squash.sh
#!/usr/bin/fakeroot /bin/bash
set -o errexit
set -o nounset
set -o pipefail
OUTFILE=$2.squashfs
TMPDIR=$(mktemp -d -p .)
cleanup() {
rm -fr $TMPDIR
}