Skip to content

Instantly share code, notes, and snippets.

@geekman
geekman / get-password.ps1
Last active April 8, 2021 07:21
minimal PowerShell code to retrieve passwords from Windows Credentials
#
# PowerShell script to read out generic Windows Credentials
# this is kinda like macOS Keychain, but for Windows
#
# darell tan 2021.04.08
#
[String] $CredNativeCode = @"
using System;
@geekman
geekman / decrypt-pdf.cmd
Created January 18, 2021 08:42
permanently decrypts PDFs with qpdf
:: permanently decrypts PDFs and places them into the parent directory
for %f in (C:\dir\encrypted\*.pdf) do ^
qpdf.exe --decrypt --password=secretdoc "%f" "%~dpf..\%~nxf"
@geekman
geekman / normalize-f32le.go
Created November 4, 2020 15:27
Normalizes a float32 LE raw file
//
// Normalizes a float32 little-endian raw file to the first few averaged values.
// The averaged values will be treated as the baseline and all values in the
// file will be relative to that.
//
// 2020.11.04 darell tan
//
package main
@geekman
geekman / qrcode.min.js
Created October 16, 2020 03:37
printable QR WiFi credentials generator (self-contained & offline)
/*! qrcode-svg v1.0.0 | https://github.com/papnkukn/qrcode-svg | MIT license */
function QR8bitByte(t){this.mode=QRMode.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(var e=0,r=this.data.length;e<r;e++){var o=[],n=this.data.charCodeAt(e);n>65536?(o[0]=240|(1835008&n)>>>18,o[1]=128|(258048&n)>>>12,o[2]=128|(4032&n)>>>6,o[3]=128|63&n):n>2048?(o[0]=224|(61440&n)>>>12,o[1]=128|(4032&n)>>>6,o[2]=128|63&n):n>128?(o[0]=192|(1984&n)>>>6,o[1]=128|63&n):o[0]=n,this.parsedData.push(o)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function QRCodeModel(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function QRPolynomial(t,e){if(void 0==t.length)throw new Error(t.length+"/"+e);for(var r=0;r<t.length&&0==t[r];)r++;this.num=new Array(t.length-r+e);for(var o=0;o<t.length-r;o++)this.num[o]=t[o+r]}functi
@geekman
geekman / ax3600_led_show.sh
Created July 29, 2020 16:08
"runway lights" for the Xiaomi AX3600 router
#!/bin/sh
PREV=
while :; do
for a in led_blue net_blue led_ant led_yellow net_yellow led_ant; do
[ -n "$PREV" ] && echo 0 > /sys/class/leds/$PREV/brightness
echo 1 > /sys/class/leds/$a/brightness
PREV=$a
sleep 1
done
@geekman
geekman / fixup-posts.py
Created June 10, 2020 14:43
script to fix up blog post markdown files
#
# rewrite blog posts front matter to fix date format and title
# 2020.05.26 darell tan
#
import re
import os
import sys
import time
/*******************************************************************************
*
* RPM File Dumper
* Adapted to run as a self-contained binary from Holo:
* https://github.com/holocm/holo-build
*
* 2020.05.30 darell tan
*
* Copyright 2015 Stefan Majewsky <majewsky@gmx.net>
*
@geekman
geekman / ida-analysis.py
Last active March 10, 2022 08:31
simple IDAPython script for scripting automated binary analysis
#
# ida-analysis.py
# a simple IDAPython binary analysis script
# 2020.05.24 darell tan
#
# invoke with:
# idat64 -c -A -S"ida-analysis.py $HOME/analysis.txt" <file.bin>
#
import sys
@geekman
geekman / dump_config.sh
Created May 14, 2020 08:33
snippet to look for effective config lines in config files
# look for non-commented, non-empty lines
grep -v '^\s*\(#.*\)\?$' /etc/someconfig
@geekman
geekman / gen-link.sh
Created April 25, 2020 09:37
generate systemd network link files to avoid "s0" prefixes