| Model | BoardConfig | Processor | Chipset | Module | Fillmore[^1] |
|---|---|---|---|---|---|
| Mac Pro (2023) | J180dAP | M2 Ultra | 4388 | sumatra | no |
| Mac mini (M1, 2020) | J274AP | M1 | 4378 | atlantisb | no |
| MacBook Pro (13-inch, M1, 2020) | J293AP | M1 | 4378 | honshu | no |
| MacBook Air (M1, 2020) | J313AP | M1 | 4378 | shikoku | no |
| MacBook Pro (14-inch, 2021) | J314cAP | M1 Max | 4387 | maldives | no |
| MacBook Pro (14-inch, 2021) | J314sAP | M1 Pro | 4387 | maldives | no |
| MacBook Pro (16-inch, 2021) | J316cAP | M1 Max | 4387 | madagascar | no |
| MacBook Pro (16-inch, 2021) | J316sAP | M1 Pro | 4387 | madagascar | no |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """ | |
| Ford ECU SecurityAccess seed-key algorithms, reversed from libfnvfsa.so on the ECG2 GWM | |
| Algorithm 0: legacy 24-bit Galois LFSR cipher (3-byte seed, 5-byte/40-bit secret) | |
| Described in https://flaviodgarcia.com/publications/BtB.pdf | |
| Algorithms 1/2: modern HMAC-SHA1 (16-byte seed, 12-byte fixedBytes) | |
| TODO: Test against a real vehicle | |
| """ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Dumps the 8 SYNCP AES-128 keys + ESN from the DPS partition on SYNC 3 | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <string.h> | |
| #include <fcntl.h> | |
| #include <unistd.h> | |
| #include <errno.h> | |
| #define EMMC_DEVICE "/dev/hd0" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Implements very basic test of the iAP2 protocol over "com.apple.carkit.service", the lockdownd service used by CarPlay Simulator | |
| import asyncio | |
| from pymobiledevice3.lockdown import create_using_usbmux | |
| def checksum(data): | |
| return (0x100 - sum(data)) & 0xFF | |
| def build_packet(control, seq, ack, session_id=0, payload=b''): | |
| length = 9 + (len(payload) + 1 if payload else 0) | |
| header = bytes([0xFF, 0x5A, length >> 8, length & 0xFF, control, seq, ack, session_id]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- Wireshark Lua dissector for Lutron Clear Connect - Type X (CCX) | |
| -- UDP/9190 over a Thread/802.15.4 mesh | |
| local cbor = require("simple_cbor") | |
| local ccx_proto = Proto("clearconnectx", "Lutron Clear Connect - Type X") | |
| local f_msg_id = ProtoField.uint32("clearconnectx.msg_id", "Message ID", base.DEC) | |
| local f_note = ProtoField.string("clearconnectx.note", "Note") | |
| ccx_proto.fields = { f_msg_id, f_note } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| device-tree: | |
| AAPL,phandle: 1 | |
| config-number: "syscfg/CFG#/0x40,zeroes/0x40" | |
| target-type: "J700" | |
| region-info: "syscfg/Regn/0x20,zeroes/0x20" | |
| time-stamp: "Mon Jun 1 21:23:12 PDT 2026" | |
| chosen: | |
| dram-vendor: 0 | |
| marketing-software-behavior: "syscfg/MkBS" | |
| display-scale: 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- iAP2 (iPod Accessory Protocol 2) | |
| -- | |
| -- Layers: | |
| -- 1. iAP2 Link — packet framing, control flags, checksums | |
| -- 2. iAP2 Session — payload interpretation based on session type | |
| -- a. Control Session messages with parameters | |
| -- b. File Transfer Session datagrams | |
| -- c. External Accessory Session datagrams | |
| -- ============================================================ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // This script implements SSL keylogging for libssl.35.dylib, which is an old version of LibreSSL. | |
| // Primarily intended to be used when debugging MobileDevice.framework, which uses it for some reason. | |
| var mod = Process.getModuleByName("libssl.35.dylib"); | |
| var gen_master = mod.findExportByName("tls1_generate_master_secret"); | |
| var keylogPath = '/tmp/keylog.txt'; | |
| var keylog = new File(keylogPath, "a"); | |
| var toHex = function(arr) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local proto_usbmuxd = Proto("usbmuxd", "Usbmuxd Protocol") | |
| proto_usbmuxd.fields.protocol = ProtoField.uint32("usbmuxd.protocol", "Message Kind", base.DEC) | |
| proto_usbmuxd.fields.length = ProtoField.uint32("usbmuxd.length", "Length", base.DEC) | |
| proto_usbmuxd.fields.magic = ProtoField.uint32("usbmuxd.magic", "Magic", base.HEX) | |
| proto_usbmuxd.fields.tx_seq = ProtoField.uint16("usbmuxd.tx_seq", "Transmit sequence", base.DEC) | |
| proto_usbmuxd.fields.rx_seq = ProtoField.uint16("usbmuxd.rx_seq", "Receive sequence", base.DEC) | |
| proto_usbmuxd.fields.version_major = ProtoField.uint32("usbmuxd.version_major", "Major version", base.DEC) | |
| proto_usbmuxd.fields.version_minor = ProtoField.uint32("usbmuxd.version_minor", "Minor version", base.DEC) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """ | |
| jjgRISC assembler | |
| Assembles fmlRISC assembly (.s) to Altera .mif format. | |
| Based on dxp_asm, which is written in C, aimed to be implemented in a cleaner way. | |
| I added support for .equ and .word directives, .word doesn't happen to be very useful for SMIOP due to the fact that you can't load PM into registers. | |
| Also, I fixed the jump implementation. Needs a second pass to calculate the label address to jump to first. | |
| I implemented support for all memnotics for all IDNs, so hopefully it should be usable for everyone. |
NewerOlder