blacktop
69c8858f7c
feat(img4): add Cryptex1 FourCC and IM4P payload constants
2026-05-21 13:03:40 -06:00
blacktop
4f23763438
feat(extract): auto-decrypt remote kernelcaches via wiki keys
...
`ipsw download ipsw --kernel` now fetches firmware keys from
theapplewiki and decrypts encrypted kernelcaches inline. Unencrypted
members in the same IPSW pass through unchanged.
- pkg/img4: DecryptPayload reuses Payload.GetData for decompression,
removing the duplicate LZSS/LZFSE branches.
- pkg/kernelcache: ParseImg4Data switches to img4.ParsePayload and
exports ErrEncryptedKernelCache so callers can detect the missing-key
case via errors.Is.
- internal/commands/extract: new keyed remote path with all-or-nothing
preflight; the encryption-status peek lets unencrypted variants
succeed even when the wiki has no entry for them.
closes #1193
2026-04-27 15:57:23 -06:00
blacktop
05c76b2d7e
feat(img4): parse IM4C and Apple cert constraint OID in im4m info
...
Adds parsing for two cert-chain shapes that were previously opaque:
- X.509 extension 1.2.840.113635.100.6.1.15 (Apple IMG4 manifest cert
spec): the MANP/OBJP constraint groups that bound which manifest
properties a signing cert is permitted to vouch for. Constraints are
pinned values, [0] required-any, or [1] optional-any.
- IM4C (Image4 Certificate): the non-X.509 cert format used by
peripheral firmware tickets (Yonkers/Savage). Decodes version, raw
EC public key, ECDSA signature, and the same CRTP constraint groups.
Also:
- analyzeSignature now identifies DER-encoded ECDSA curves by parsing
SEQUENCE{r,s} and inferring P-256/384/521 from integer width
- isPrintableString rejects invalid UTF-8 — RuneError is IsPrint()==true
so binary nonces (e.g. ynon=0xAA*16) were rendering as garbage glyphs
Closes #1170
2026-04-09 15:42:29 -06:00
blacktop
8e6f2c554b
chore: modernize to 1.26
...
Refactor string concatenation to use strings.Builder for improved performance in multiple files
2026-02-12 10:02:01 -07:00
blacktop
57d36998e3
chore: add viper config to all commands
2025-07-15 17:19:37 -06:00
blacktop
07e21ebce7
fix: re-type IM4P duing ipsw img4 create cmd
2025-07-03 11:57:37 -06:00
blacktop
c2cdf2656f
fix: ipsw download tss cmd, now correctly checking signed status and downloading SHSH blobs
2025-07-03 11:17:20 -06:00
blacktop
6d70c32899
Update manifest.go
2025-06-29 23:24:59 -06:00
blacktop
899a23df1d
chore: cleanup ipsw img4 im4m extract cmd
2025-06-29 23:22:21 -06:00
blacktop
22d065f7ae
Update manifest.go
2025-06-29 20:19:56 -06:00
blacktop
6a3286dd5e
chore: greatly improve UX of ipsw img4 im4m verify command
2025-06-29 20:05:58 -06:00
blacktop
b608695911
chore: hide ipsw img4 person and ipsw img4 im4m verify for now
2025-06-29 14:11:28 -06:00
blacktop
ef97109890
fix: update ipsw img4 to use NEW comp pkg
2025-06-29 13:40:50 -06:00
blacktop
9bded99574
fix: ipsw img4 create --extra format
2025-06-29 11:20:00 -06:00
blacktop
2d3285588b
Update payload.go
2025-06-29 11:01:46 -06:00
blacktop
8a5ea3f0c3
Update manifest.go
2025-06-29 11:01:40 -06:00
blacktop
192c41fd76
Update payload.go
2025-06-29 08:48:23 -06:00
blacktop
d410a83726
Update payload.go
2025-06-29 08:10:19 -06:00
blacktop
77b7d88063
fix: a few more minor fixes to img4 code
2025-06-28 19:19:12 -06:00
blacktop
2dce5604a3
fix: minor fixes to img4 code
2025-06-28 18:13:26 -06:00
blacktop
0a7cc83986
Update recovery.go
2025-06-28 17:35:22 -06:00
blacktop
46d127973b
fix: ipsw img4 create --compress 'none' using lzss instead
2025-06-28 15:58:37 -06:00
blacktop
ee1afb36ec
fix: few more ipsw img4 related fixes
2025-06-28 15:44:51 -06:00
blacktop
ad8a441200
Update img4_test.go
2025-06-28 15:10:07 -06:00
blacktop
f6a62195b3
fix: few more fixes to ipsw img4 cmd #777
2025-06-28 15:05:41 -06:00
blacktop
9b7b53d8a3
Update img4.go
2025-06-28 12:35:01 -06:00
blacktop
5914534b7d
fix: ipsw img4 im4m parsing bug #777
2025-06-28 10:45:17 -06:00
blacktop and GitHub
3cded00f59
feat: revamp ipsw img4 commands to bring inline with tools like img4lib ( #784 )
2025-06-28 01:54:40 -06:00
blacktop
c3333a2ae2
chore: improve ipsw img4 info
2025-06-22 23:34:30 -06:00
blacktop
9a2e06279e
fix: ipsw img4 create cmd #777
2025-06-22 22:46:27 -06:00
blacktop
ad2d95c0cd
fix: ipsw img4 extraction
2025-06-22 22:14:51 -06:00
blacktop
3fca9879e3
chore: more ipsw img4 cmd fixes
2025-06-22 15:41:27 -06:00
blacktop
cc26b75e48
chore: improve ipsw img4 im4r command
2025-06-22 10:57:46 -06:00
blacktop
6a07e83e3b
chore: some ipsw img4 sub-cmd reorg
2025-06-21 16:48:05 -06:00
blacktop
d32f3e35f2
chore: add ability to print/extract im4p extra data #777
2025-06-21 11:58:41 -06:00
blacktop
39c7bf0383
Update img4.go
2025-06-20 19:36:21 -06:00
blacktop
07af0fe169
Update img4.go
2025-06-20 19:17:54 -06:00
blacktop
185387d5e1
chore: img4 pkg refactor/cleanup
2025-06-20 19:12:07 -06:00
blacktop
28b7a135f4
chore: add ipsw img4 validate and ipsw im4m personalize and verify + lzss Compress support
2025-06-20 18:54:37 -06:00
blacktop
1776766aaa
chore: add ipsw img4 create cmds
2025-06-20 15:50:23 -06:00
blacktop
a51fd931f7
feat: support mounting on linux for OLD HFS+ DMGs
2025-06-20 13:05:24 -06:00
blacktop
d1f5ac85a1
feat: add ipsw img3 cmd to parse/decrypt img3 files
2025-06-18 23:09:34 -06:00
blacktop
6cca9a980d
refactor: replace interface{} with any and simplify loop constructs
2025-03-26 22:53:29 -06:00
blacktop
190024704e
feat: add --json flag to ipsw fw tc cmd + fix macOS img4 support
2024-10-05 13:30:31 -06:00
blacktop
10321063bf
chore: working on fw cmds
2024-06-29 11:32:18 -06:00
blacktop
74a7cd6f32
feat: 🆕 ipsw pongo command
2023-01-26 20:24:38 -07:00
blacktop
ba86cb6a5d
feat: add support for macOS 13.x KernelManagement kernelcaches via ipsw kernel dec --km flag
2022-12-03 18:06:18 -07:00
blacktop
c1eafc7f57
feat: allow --pattern flag to also filter --kbag in extract cmd
2022-07-04 15:33:44 +10:00
blacktop
952e432c18
feat: add 🆕 ipsw img4 kbag cmd to extract kbags from im4p files
2022-07-01 23:23:02 +10:00
blacktop
fe4de6276b
feat: 🆕 img4 dec cmd
2020-03-30 17:59:37 -04:00