Skip to content

Instantly share code, notes, and snippets.

@Lekensteyn
Lekensteyn / inject-tls-secrets.py
Last active March 13, 2024 15:31
Extracts a subset of TLS secrets and injects them in an existing capture file (requires Wireshark 3.0).
#!/usr/bin/env python3
# Extracts a subset of TLS secrets and injects them in an existing capture file.
#
# Author: Peter Wu <peter@lekensteyn.nl>
import argparse
import os
import shlex
import subprocess
import sys
@Lekensteyn
Lekensteyn / push-go-crypto.sh
Created September 5, 2017 11:54
Extracts commits from the src/crypto/tls/ directory (from Go upstream) in a reproducible way, preserving all metadata (including committer info).
#!/bin/bash
# Extracts commits from the src/crypto/tls/ directory (from Go upstream) in a
# reproducible way, preserving all metadata (including committer info).
#
# Strategy:
# 0. Create a new temporary working repo.
# 1. Fetch go branch/commit that should be pulled from.
# 2. Rewrite history of go branch, extracting just the src/crypto/tls/ commits.
# 3. Push the updated branch back to tls-tris.
@Lekensteyn
Lekensteyn / nvml-debugdump.c
Last active April 15, 2024 18:00
Make libnvidia-ml.so (nvidia-smi) write plaintext debug logs (mirror of https://lekensteyn.nl/files/nvml-debugdump.c)
/**
* Make libnvidia-ml.so (nvidia-smi) write plaintext debug logs.
*
* Usage:
*
* gcc -shared -fPIC -ldl nvml-debugdump.c -o nvml-debugdump.so
* LD_PRELOAD=./nvml-debugdump.so nvidia-smi --debug=debug.log -q
*
* For other NVML applications, set env var __NVML_DBG_FILE=debug.log
*
@Lekensteyn
Lekensteyn / wireshark-postdissector.lua
Created October 25, 2016 14:05
Wireshark post-dissector example (tested with Wireshark 2.0.6 and git master (2.3.x))
-- Wireshark post-dissector written in Lua
--
-- "Turns out #wireshark allows adding any field value as a column.
-- How about a column with a function of a value like strlen(x)+5 or log(x)?😁"
-- https://twitter.com/Wirefloss/status/790677617955344384
--
-- You were asking for what? Ok, here you go! An example of a Lua
-- post-dissector which adds a field to the Wireshark protocol tree which can
-- then be displayed as custom column. Have fun! ~ @Lekensteyn
--
@Lekensteyn
Lekensteyn / 0001-Enable-more-optional-dependencies.patch
Last active March 29, 2016 09:35
gammaray 2.4.1-2 packaging patch and build log
From 71fb48669d8508c4571bd9ca4b603ba83d0aa6a8 Mon Sep 17 00:00:00 2001
From: Peter Wu <peter@lekensteyn.nl>
Date: Tue, 29 Mar 2016 10:41:39 +0200
Subject: [PATCH] Enable more optional dependencies
Also add cmake as makedepends and perl for building manual pages.
Explicitly use CMAKE_BUILD_TYPE=Release to avoid building in debug mode.
Set ECM_MKSPECS_INSTALL_DIR as suggested on
http://api.kde.org/ecm/module/ECMGeneratePriFile.html to avoid
@Lekensteyn
Lekensteyn / libev-4.22-cmake.patch
Created March 18, 2016 00:23
hacky cmake patch for libev-4.22 (for use with MSVC 2013 https://github.com/tatsuhiro-t/nghttp2/pull/544)
diff -Nur libev-4.22.orig/cmakeconfig.h.in libev-4.22/cmakeconfig.h.in
--- libev-4.22.orig/cmakeconfig.h.in 1970-01-01 01:00:00.000000000 +0100
+++ libev-4.22/cmakeconfig.h.in 2016-03-18 01:18:55.167666371 +0100
@@ -0,0 +1 @@
+/* Dummy file */
diff -Nur libev-4.22.orig/CMakeLists.txt libev-4.22/CMakeLists.txt
--- libev-4.22.orig/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100
+++ libev-4.22/CMakeLists.txt 2016-03-18 01:17:27.359666381 +0100
@@ -0,0 +1,17 @@
+cmake_minimum_required(VERSION 3.0)
@Lekensteyn
Lekensteyn / aboot-parse.py
Created December 29, 2015 22:22
Quick and dirty script to parse aboot images
#!/usr/bin/env python
# From target/msm8974/tools/mkheader.c (size renamed to size)
"""
magic[0] = 0x00000005; /* appsbl */
magic[1] = 0x00000003; //Flash_partition_version /* nand */
magic[2] = 0x00000000; //image source pointer
magic[3] = base; //image destination pointer
magic[4] = code_size + cert_chain_size + signature_size; //image size
@Lekensteyn
Lekensteyn / parse_pbzx.py
Last active August 7, 2022 19:49 — forked from pudquick/parse_pbzx.py
Pure python reimplementation of .cpio.xz content extraction from pbzx file payload for OS X packages
#!/usr/bin/env python
# Extract .cpio file from a pbzx Payload file.
#
# Based on https://gist.github.com/pudquick/ac29c8c19432f2d200d4,
# this version adds a command-line interface, improves efficiency (1 MiB chunks
# instead of a full copy in memory), adds Python 3 compatibility and
# automatically decompresses stuff (some blocks may not be compressed).
#
# Example usage (from Python):
#
@Lekensteyn
Lekensteyn / patch-rtc.py
Created August 16, 2015 22:07
Script to patch an Android recovery.img file, changing the qcom,qpnp-rtc-write Device Tree property (tested with an Android 5.1 image based on kernel 3.4 for a Nexus 5 (rev_11)).
#!/usr/bin/env python
"""
Patch a recovery image to enable RTC writing
Unfortunately it has not the intended effect (tested from recovery):
~ # /system/xbin/hwclock -w
hwclock: RTC_SET_TIME: Operation not permitted
<3>[ 25.821247] spmi_pmic_arb fc4cf000.qcom,spmi: pmic_arb_wait_for_done: transaction denied (0x5)
<3>[ 25.821338] qcom,qpnp-rtc qpnp-rtc-ee162000: SPMI write failed
@Lekensteyn
Lekensteyn / dependencies.txt
Last active August 29, 2015 14:25
Library dependencies based on the contents of the factory images for hammerhead 5.1.1 (LMY48B) https://github.com/Lekensteyn/make-gapps-zip/issues/2
system/vendor/lib/libwvm.so
libQSEEComAPI.so
libWVStreamControlAPI_L1.so
libdrmframework.so
libstagefright.so
libstlport.so
libz.so
system/vendor/lib/libwvdrm_L1.so
libWVStreamControlAPI_L1.so
libstlport.so