Skip to content

Instantly share code, notes, and snippets.

View bmwalters's full-sized avatar

Bradley Walters bmwalters

  • Affirm
  • United States
View GitHub Profile
@bmwalters
bmwalters / README.md
Created November 11, 2024 23:25
4-digit passcode bruteforce for A5 on iOS 9

tl;dr

The iphone-dataprotection project (GiHub mirror) includes a tool to determine an iOS device's 4-digit passcode using a brute force technique. That project only claims support for devices <= iOS 8 and < A5. It turns out the code also supports A5 devices on iOS 9.

However the brute force utility also requires a companion kernel patch to enable access to keys such as 0x835 in calls to the AES accelerator from userland. This doc confirms the value of said patches for 32-bit iOS 9.

This writeup also describes the various st

@bmwalters
bmwalters / skip_list.py
Created October 9, 2021 22:45
First attempt at a skip list
from typing import List, Optional
import random
class Node:
value: str
timestamp: int
next: Optional['Node']
lower: Optional['Node']
@bmwalters
bmwalters / arch-linux-32-bit-chroot.md
Last active December 11, 2023 07:19
Creating a 32-bit Arch Linux chroot

on the host system

  1. Download an iso
  2. mkdir mounted-iso mounted-root root live
  3. sudo mount -o loop archlinux-2020.06.01-i686.iso mounted-iso/
  4. sudo mount -t squashfs mounted-iso/arch/i686/airootfs.sfs mounted-root/
  5. sudo cp -av mounted-root/. root/
  6. sudo umount mounted-root
  7. sudo umount mounted-iso
  8. sudo mount -o bind root live/
  9. sudo arch-chroot live bash
@bmwalters
bmwalters / _Solarized.terminal
Created September 26, 2019 17:35
my Terminal.app configuration
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ANSIBlackColor</key>
<data>
YnBsaXN0MDDUAQIDBAUGIiNYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
AAGGoKYHCBMXGB9VJG51bGzVCQoLDA0ODxARElxOU0NvbXBvbmVudHNVTlNSR0JcTlND
b2xvclNwYWNlXxASTlNDdXN0b21Db2xvclNwYWNlViRjbGFzc08QJzAuMjMxMzcyNTQ5
IDAuMjU4ODIzNTI5NCAwLjMxNzY0NzA1ODggMU8QJzAuMTc1MzU2OTg0MSAwLjE5NTk5
@bmwalters
bmwalters / PKGBUILD
Last active November 20, 2018 22:09
Arch PKGBUILD for Vittorio Romeo's OpenHexagon / SSVOpenHexagon
# Maintainer: Bradley Walters <[email protected]>
pkgname=openhexagon-git
pkgver=r1733.4791b23
pkgrel=1
pkgdesc='C++14 FOSS clone of "Super Hexagon"'
arch=('i686' 'x86_64' 'armv6h') # TODO: check these
url="https://vittorioromeo.info/projects.html"
license=('custom:AFL-3.0')
depends=('sfml' 'lua')
#!/usr/bin/env python3
import os
import xml.etree.ElementTree as ElementTree
tree = ElementTree.parse("Resources.resx")
datas = sorted(map(lambda x: (x, len(x.find("value").text)), tree.getroot().findall("data")), key=lambda x: x[1])
if not os.path.isdir("Split_out/"):
@bmwalters
bmwalters / vimeofixer.user.js
Last active December 31, 2017 05:47
Re-enable the context menu on videos in the Vimeo embedded player
// ==UserScript==
// @name Vimeo Embed Playback Rate Control
// @namespace zerf
// @match *://player.vimeo.com/*
// @grant none
// @run-at document-end
// ==/UserScript==
const log = (...args) => console.log("[ZERFVIMEO]", ...args)
@bmwalters
bmwalters / README.md
Last active December 14, 2017 22:00
comp.lua

comp.lua

@bmwalters
bmwalters / README.md
Last active October 26, 2018 16:33
Hopper solus package

Hopper Disassembler package for Solus

This is a package for eopkg for the Hopper Disassembler.

Installation

sudo eopkg bi https://gist.githubusercontent.com/bmwalters/d453feb913492c23df06d78820fee4d7/raw/pspec.xml
sudo eopkg it hopper-disassembler-*.eopkg;sudo rm hopper-disassembler-*.eopkg
@bmwalters
bmwalters / hoax.lua
Last active February 14, 2017 14:29
ES2015 Promises implemented in Lua 5.3
local function check_callable(o)
return type(o) == "function" or type(getmetatable(o).__call) == "function"
end
local PromiseState = {
pending = "pending",
fulfilled = "fulfilled",
rejected = "rejected"
}