Skip to content

Instantly share code, notes, and snippets.

ELF -> H[0,128]
for i = 0 to H.e_shnum in (SH[H.e_shoff+i*H.e_shentsize, H.e_shoff+(i+1)*H.e_shentsize])
for i = 1 to H.e_shnum in (Sec[SH(i).sh_offset, SH(i).sh_offset+SH(i).sh_size])
where Sec ->
switch(SH(i).sh_type = 6 -> DynSec[SH(i).sh_offset, SH(i).sh_offset+SH(i).sh_size]
/ SH(i).sh_type = 3 -> StrSec[SH(i).sh_offset, SH(i).sh_offset+SH(i).sh_size]
/ (SH(i).sh_type = 11) || (SH(i).sh_type = 2) -> DynSymSec[SH(i).sh_offset, SH(i).sh_offset+SH(i).sh_size]
/ SH(i).sh_type = 7 -> NoteSec[SH(i).sh_offset, SH(i).sh_offset+SH(i).sh_size]
/ SH(i).sh_type = 9 -> RelSec[SH(i).sh_offset, SH(i).sh_offset+SH(i).sh_size]
/ SH(i).sh_type = 4 -> RelAddEndSec[SH(i).sh_offset, SH(i).sh_offset+SH(i).sh_size]
@mdaniel
mdaniel / logging_mdc.py
Created January 10, 2014 05:47
Just like the docstring says: Demonstrates how a [Mapped Diagnostic Context](http://logback.qos.ch/manual/mdc.html) of log4j MDC fame (and also provided in slf4j) could be implemented in Python
# coding=utf-8
"""
Demonstrates how a [Mapped Diagnostic Context](http://logback.qos.ch/manual/mdc.html)
of log4j MDC fame (and also provided in slf4j) could be implemented in Python
"""
import json
import logging
import sys
import threading
@mdaniel
mdaniel / awslocal
Created August 18, 2023 21:48
awslocal upgraded to understand various static credential types plus the endpoint override mechanisms
#!/usr/bin/env bash
set -euo pipefail
# we never want it to contact IMDS since that's just log noise
export AWS_EC2_METADATA_DISABLED=true
if [[ -z "${AWS_CONFIG_FILE:-}" ]]; then
AWS_CONFIG_FILE=$HOME/.aws/config_awslocal
if [[ ! -e "$AWS_CONFIG_FILE" ]]; then
unset AWS_CONFIG_FILE
else
export AWS_CONFIG_FILE
@mdaniel
mdaniel / op-pinentry
Created December 19, 2022 20:52
Implement the pinentry Assuan protocol backed by the 1Password op binary
#!/usr/bin/env bash
__log=$HOME/op-pinentry.$$.txt
# { set; printenv; echo "ARGV=$*"; } &>"$__log"
# exec 2>>"$__log"
# set -x
# if we are not running under gpg-agent, that is fatal
if [[ -z "$_assuan_pipe_connect_pid" ]]; then
exit 143
fi
@mdaniel
mdaniel / git-svn-revmap.awk
Created March 1, 2012 21:40
regenerate git-svn .rev_map file
#! /usr/bin/env gawk -f
# git --no-pager log | gawk -f this-script > revmap.txt
# xxd -c 24 -r revmap.txt \
# .git/svn/refs/remotes/trunk/.rev_map.cfe28804-0f27-0410-a406-dd0f0b0b656f
# 0000000: 0000 0001 cce6 285e 48e1 e3cc 0d7d 0617 beb0 4e88 a126 8634
# 0000018: 0000 0006 6e4f ada4 bed4 6660 c987 dc74 1243 8973 16cc c810
BEGIN {
FS=" "
# this number comes from ``git --no-pager log | grep ^commit | wc -l``
# and is ZERO-indexed because the last xxd will begin with 0000
@mdaniel
mdaniel / Vagrantfile
Last active February 21, 2021 10:30
Provision a virtual machine for building ChromeOS using Vagrant <http://www.vagrantup.com>. Just download this into a directory, name it ``Vagrantfile`` (if it isn't already), run ``vagrant up`` followed by ``vagrant ssh`` and you'll see two shell scripts there, ready to sync up the ChromeOS source code.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "ubuntu1204_64"
@mdaniel
mdaniel / CMakeLists.txt
Created January 1, 2018 14:22
CMake descriptor for PuTTY so CLion can work with it; It's not perfect, but it builds working executables, so there's that
CMAKE_MINIMUM_REQUIRED(VERSION 3.9.0)
CMAKE_POLICY(VERSION 3.9)
SET(PUTTY_VERSION "0.70.20180101")
PROJECT(putty VERSION ${PUTTY_VERSION} LANGUAGES C)
FIND_PROGRAM(PERL_EXE
NAMES perl perl.exe
DOC "location of an executable Perl used to generate files within the project")
OPTION(NO_IPV6 [=[
set -ex
hostname -f > /etc/hostname
hostname -F /etc/hostname
depmod -a || true
modprobe -v ip6_tables
for i in ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh; do
modprobe -v $i
done
if ! type docker >/dev/null 2>&1; then
@mdaniel
mdaniel / .ci__script__cd.sh
Created September 18, 2018 07:06
Atomwise
#! /usr/bin/env bash
image_name="get the ECR image name through tomfoolery"
export JOB_Q='arn:our-ci-cd-queue'
python -u queue_worker.py &
worker_pid=$!
trap "kill -INT $worker_pid" EXIT
export TASK_ARN='arn:a-ci-cd-specific-task'
python -u queue_submit.py -<<DOIT