54 Commits

Author SHA1 Message Date
blacktop fc41188d93 feat(diff): add sandbox profile diffing behind sandbox build tag 2026-05-03 12:44:18 -06:00
blacktop 652abdd7af feat: add OTA input mode support to ipsw diff
Introduces direct OTA file diffing without requiring pre-extraction.
Users can now pass `.ota`/`.aea` files directly to `ipsw diff` alongside
existing IPSW and directory input modes.

Key additions:
- `internal/diff/ota_inputs.go`: OTA-specific input handling including
  cryptex mounting, kernelcache extraction, firmware parsing, iBoot
  parsing, and feature flag collection from mounted volumes
- `inputModeOTA` enum variant in `directory_inputs.go`
- `--key-db`, `--key-val`, and `--insecure` flags on `diff` command for
  AEA-encrypted OTA decryption
- AEA key database lookup mirroring the `ota` command's key resolution
- Magic-byte-aware error handling: AEA/AA files propagate decryption
  errors while ambiguous ZIPs fail silently (not-an-OTA)
- Validation rejects partial/delta and RSR OTAs with actionable messages
- Comprehensive unit tests covering all new helpers
2026-04-13 20:32:10 -06:00
blacktop edd24ded16 fix: sanitize diff Title->filename and update tests 2026-03-26 16:30:14 -06:00
blacktop d09ca85093 feat(diff): support diffing patched OTA DMG directories and update documentation 2026-03-17 19:13:23 -06:00
Thatchapon Unprasert 70434eecaa feat: Reduce ipsw diff memory usage (#986) 2026-02-18 18:38:38 -07:00
Sam Collinson d35f0ebdff fix: add proxy support for downloading FCS keys 🥝 (#914) 2025-11-09 11:38:09 -07:00
blacktop 141045a500 fix: ipsw diff cleanup original file .aea files properly 2025-10-01 19:16:05 -06:00
blacktop cac6764c3d fix: prevent NEW launch constraints from breaking ent DB 2025-10-01 14:00:17 -06:00
blacktop e1ad160d0d feat: added --mount-point|-m flag to ipsw mount cmd to let you pick the mount location + docs update 2025-08-12 15:55:42 -06:00
blacktop 478a569c74 fix: add partial --insecure support to fcs key pem download in AEA commands 2025-07-29 15:11:53 -06:00
blacktop 3cded00f59 feat: revamp ipsw img4 commands to bring inline with tools like img4lib (#784) 2025-06-28 01:54:40 -06:00
blacktop 045f3f08c2 chore: move ipsw diff entitlement's scanning behind a --ent flag + move Version checking behind --verbose flag + add UUID to diff heuristics 2025-05-19 14:08:09 -06:00
blacktop 0a1f622241 feat: add --starts and --signatures to ipsw diff to add high level func diffing + kernel symbolication 2025-05-18 23:48:43 -06:00
blacktop 042739e067 fix: handle more types of IPSWs with ipsw diff command 2025-04-07 19:26:30 -06:00
blacktop 68a006b7a8 Update diff.go 2025-04-04 12:04:17 -06:00
blacktop abcccda111 feat: add iBoot to ipsw diff command 2025-04-04 11:59:37 -06:00
blacktop 708b4a27b3 Update diff.go 2025-04-02 15:17:46 -06:00
blacktop 0a1806c622 Update diff.go 2025-04-02 11:39:52 -06:00
blacktop a653c240ac feat: add 🆕 --files flag to ipsw diff cmd to include ALL added/removed files to diff output 2025-04-02 10:50:59 -06:00
blacktop 1e868c49cf feat: add exclave_core fw to ipsw diff cmd + list sorting in .md 2024-09-17 17:49:26 -06:00
blacktop db4efa3940 fix: in ipsw diff --feat show content of NEW feature plists 2024-09-09 22:15:45 -06:00
blacktop a1e10bfaab chore: make --force the default when hdiutil detach-ing 🇬🇧 2024-09-03 15:03:10 -06:00
blacktop 0bb4036618 feat: replace --filter with --allow-list and --block-list in ipsw diff cmd 2024-08-08 17:17:36 -06:00
blacktop ca20cb85fb chore: add support for aea.DecryptConfig and B64SymKey arg 2024-07-26 14:01:37 -06:00
blacktop 3cdb8028d9 chore: detect macOS IPSWs when running ipsw diff 2024-07-18 17:35:15 -06:00
blacktop 1c91ff0c12 feat: add ability to diff symbol names and cstrings in ipsw diff cmd 2024-07-10 10:35:38 -06:00
blacktop b71f77f7ae feat: add support for --pem-db everywhere it's needed to allow for external AEA pem key JSON databases to be used 2024-07-08 22:14:10 -06:00
blacktop 7f91c09a1f feat: add --feat flag to ipsw diff to diff Feature Flags 2024-07-07 12:16:10 -06:00
blacktop 8229d8e5d9 fix: many fixes to symbolication and the symbol server 2024-07-04 00:26:55 -06:00
blacktop 5e3aacf675 feat: ipsw diff can now handle LARGE diff markdown via splitting it up into many smaller files 2024-06-25 00:23:54 -06:00
blacktop 3c5e3b02a5 feat: add ability to partial-partialzip AEA1 private-key .pem files from remote/local IPSWs 2024-06-11 12:42:44 -06:00
blacktop b92ac6c82f feat: thread the 🆕 AEA1 decryption transparently through all relevant ipsw cmds 2024-06-11 02:25:18 -06:00
blacktop 1130c32b1e fix: make it easier to use ipsw diff --kdk flags 2024-04-02 16:52:32 -06:00
blacktop a8e2f7502e feat: add im4p firmware MachOs to ipsw diff cmd via --fw flag 2024-02-27 17:13:30 -07:00
blacktop f0d6ca7981 feat: ipsw diff add ability to filter MachO sections that are compared 🟦🫙 2024-02-08 15:05:23 -07:00
blacktop 338b203d32 fix: DSC extraction from systemOS cryptex on older IPSWs that only have an OS dmg #393 2024-02-08 14:09:29 -07:00
blacktop 8048ca8920 feat: add --json flag to ipsw diff command #372 2024-01-18 19:06:39 -07:00
blacktop 1673ee487a feat: add ability to filter the extracted kernelcaches to a single device 2024-01-06 23:07:58 -07:00
blacktop 7fa6d09ad4 feat: add kernel KEXTs to more detailed macho diffs 2023-12-18 22:40:12 -07:00
blacktop 266a213a29 feat: DSC dylib diff generation and formatting 2023-12-18 15:38:15 -07:00
blacktop 7545afc2f2 feat: add IPSW macho diffs to ipsw diff command #371 2023-12-17 15:19:12 -07:00
blacktop 79a7da9ac6 chore: working on adding macho diffing to ipsw diff cmd #371 2023-12-17 00:56:06 -07:00
blacktop c19d85180c fix: add support for fat machos to ipsw ent and ipsw diff cmds 2023-12-12 17:47:27 -07:00
blacktop 3140765ed2 feat: add ability to diff entitlements of folders in addition to IPSWs via ipsw ent command 2023-11-27 22:15:54 -07:00
blacktop 1cd9e953a2 feat: add ability to extract DriverKit DSCs via ipsw extract --dyld --driverkit 2023-05-31 19:40:31 -06:00
blacktop e28b090acd chore: rename MountFS to MountDMG 2023-05-30 11:49:08 -06:00
blacktop 5a47bfddf8 feat: add NEW /ipsw/fs/launchd route to ipswd 2023-04-13 21:01:39 -06:00
blacktop f85daa1ac3 feat: ipsw daemon (API) (#219) 2023-04-12 20:00:05 -06:00
blacktop 753a14a88e fix: ipsw diff cmd if user tries to compare 2 IPSWs for 2 different device types 2023-04-12 19:07:02 -06:00
blacktop 8a1365fc16 feat: add launchd config to ipsw diff 2023-04-09 23:15:55 -06:00