Skip to content

Instantly share code, notes, and snippets.

View jakiki6's full-sized avatar
🐱

Laura Kirsch jakiki6

🐱
View GitHub Profile
@jakiki6
jakiki6 / epstein.xml
Created July 11, 2025 20:13
Metadata as-is from the Epstein video1.mp4
<?xml version="1.0"?>
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 9.0-c001 79.c0204b2, 2023/02/09-06:26:14 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:creatorAtom="http://ns.adobe.com/creatorAtom/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" rdf:about="" xmp:CreateDate="2025-05-23T19:53:22-04:00" xmp:ModifyDate="2025-05-23T20:16:48-04:00" xmp:MetadataDate="2025-05-23T20:16:48-04:00" xmp:CreatorTool="Adobe Adobe Media Encoder 2024.0 (Windows)" xmpDM:videoFrameRate="29.970030" xmpDM:videoFieldOrder="Progressive" xmpDM:vi
@jakiki6
jakiki6 / compressed_kyber.py
Created June 29, 2025 20:42
Way to compress Kyber/ML-KEM public keys. Each coefficient is less than 3329 while being encoded with 12 bits (2^12 = 4096). This wastes a bit of space that can be reduced by encoding all coefficients as an integer and storing that integer. This should reduce the public key size by 2.5% (log2(3329) = 11.7 < 12)
def compress_pub(pub):
match len(pub):
case 800:
# 512
count = 512
size = 749
case 1184:
# 768
count = 768
size = 1124
@jakiki6
jakiki6 / certs.pem
Last active April 7, 2025 16:45
Complete certificate chain for the latest xbl_sec.mbn on the Google Pixel 3a
-----BEGIN CERTIFICATE-----
MIIFtjCCBG6gAwIBAgIUZKuE8SomZjJdTj4nAAABcg0yueAwPQYJKoZIhvcNAQEK
MDCgDTALBglghkgBZQMEAgGhGjAYBgkqhkiG9w0BAQgwCwYJYIZIAWUDBAIBogMC
ASAwfTEkMCIGA1UECgwbUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJbmMuMSowKAYD
VQQLDCFRdWFsY29tbSBDcnlwdG9ncmFwaGljIE9wZXJhdGlvbnMxKTAnBgNVBAMM
IFhCTCBTZWMgQXR0ZXN0YXRpb24gUm9vdCBTdWJDQSAxMB4XDTIwMDUxMzA4NDIw
N1oXDTIyMDUxMzA4NDIwN1owggH2MQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex
EjAQBgNVBAcTCVNhbiBEaWVnbzEjMCEGA1UECwwaMTUgMDAwMSBPRU1fSURfSU5E
RVBFTkRFTlQxLTArBgNVBAsMJDE0IDAwMDAgVVNFX1NFUklBTF9OVU1CRVJfSU5f
U0lHTklORzEmMCQGA1UECwwdMTMgMDAwMSBJTl9VU0VfU09DX0hXX1ZFUlNJT04x
@jakiki6
jakiki6 / cof-patch.sh
Last active October 8, 2024 20:04
Script to patch Cry of Fear so the light works on Linux
#!/bin/sh
if [ ! -f opengl32.dll ]; then
echo "Cannot find opengl32.dll"
exit 1;
fi
echo H4sICLVq+10AA2NvZi1vcGVuZ2wzMi50YXIA7Zh9TFV1GMcfkEKdTWq+3IrqWtDIwMHlgvYiYYFR3ZJQy1wmBBcvdYXrvbcCh5WLGaG9uN6L7Fas0WYJckFk1ZjCsrJGRRs5bcjUSBnZRs5Vi77Pc/FXnl//tFzW/H3n55zr8cPzPedwdsBfcUVpSoXPXb7Cm+6Y5SsKFnvolCcVycxM5X3a7IyT9ogjw+lwUFp6xuzMTKfDmZpBqWlpjnQn2VNP/anoeSAQLPLb7f9G1X8xaY7iNMfEa+1EnvHNFLf+nJGOqLjbR6fG+CjurbhtUXGPzeUtPRCb3vn9jxOgTWFtKmsFY9qG7azxNqJ9wpod2hts5Y9Z+WLlK6uBrWSts1K0SqWtYW2O1mkXza60O1jLsXaGxAopK5WtfK0zSbQkpU1g7W6t09dK0Hgb0QbGQ/NaOyvFqlTW+2xVa52FohUq7XnWNmid1e18aryNaOWshaydJTKsRA3LY6tJ62yQYQ1q2AzWurTORW2s8Tai/RwLrdfaGRQrqKxetg5onT1yb3vUvX2XtRGtc7dou5W2jrWYrZbOQekcVJ2FbMVttXZmi5attKtYi99q7Twg2gGlncdakrXTJZZLWUNnw3Jqnb2i9Sqtm7VsrTNZtGSlbWLNZe1sF6tdWZVsLdE6qYM13ka021kr0Tr7ZVq/mjaTNZ+1M0GsBGXFsFWtdfaJ1qe0fWdBq9U6naI5ldbG2nPWzpBYIWU9w1ZI68yR68xR11nG2mats0mmNalp17PWbu0ckSdtRD1p8Wx1aZ2NMqxRDfspBlqP1pktp5atTu1z1vZaOxtkWIMa1sjWoNaZJ8Py1LC1rI1onfUyrV5NW8oatVg6k2VYshrmZGtSi7XTJu94m3rHn8OarcXaWSPTatS0Q+OgJVg7u
@jakiki6
jakiki6 / skeleton.scm
Created September 23, 2024 22:08
minimal guix operating system configuration
(use-modules (gnu bootloader))
(use-modules (gnu bootloader grub))
(use-modules (gnu system file-systems))
(operating-system
(bootloader
(bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/sda"))))
(host-name "")
from fuse import FUSE, Operations, LoggingMixIn
import os
import stat
import obcb
class CHECKBOXESWOOHOOOO(LoggingMixIn, Operations):
def __init__(self, offset=0):
self.offset = offset
self.obcb = obcb.OBCB()
@jakiki6
jakiki6 / minisign.patch
Last active May 25, 2024 23:05
minisign seed
diff --color --recursive --text --unified a/src/minisign.c b/src/minisign.c
--- a/src/minisign.c 2024-05-26 01:03:18.372022776 +0200
+++ b/src/minisign.c 2024-05-26 01:03:45.448649920 +0200
@@ -676,10 +676,14 @@
PubkeyStruct *pubkey_struct = xsodium_malloc(sizeof(PubkeyStruct));
FILE *fp;
+ char *phrase = "test";
+ char *seed = xsodium_malloc(40);
+ crypto_generichash(seed, 40, phrase, strlen(phrase), NULL, 0);
#define FOR(i, n) for (i = 0; i < n; ++i)
#define ROL(a, o) ((((u64)a) << o) ^ (((u64)a) >> (64 - o)))
#define rL(x, y) load64((u8*)s + 8 * (x + 5 * y))
#define wL(x, y, l) store64((u8*)s + 8 * (x + 5 * y), l)
#define XL(x, y, l) xor64((u8*)s + 8 * (x + 5 * y), l)
typedef unsigned char u8;
typedef unsigned long long int u64;
typedef unsigned int ui;
#include <stdio.h>
#include <gmp.h>
void binary_split(mpz_t a, mpz_t b, mpz_t Pab, mpz_t Qab, mpz_t Rab) {
mpz_t c;
mpz_init(c);
mpz_add_ui(c, a, 1);
if (mpz_cmp(b, c) == 0) {
mpz_mul_ui(Pab, a, 6);
import math
def _pair(x, y):
return (((x + y) * (x + y + 1)) >> 1) + y
def decode(s):
states = []
for state in s.split("_"):
e0 = [int(state[0]), state[1].lower(), ord(state[2].lower()) - 97]
if e0[2] == 25: