Commit Graph
66 Commits
Author SHA1 Message Date
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 e3dee5a361 chore(info): remove unused embedded firmware key databases 2026-04-05 17:25:47 -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 f64f267ff0 feat(extract): add 'ident' flag for selecting specific RestoreRamDisk and update DMG extraction options 2025-12-22 16:25:55 -07:00
blacktop 04f7fe7627 feat(symbolicate): enhance kernelcache extraction for specific devices and improve logging 2025-12-05 14:58:58 -07:00
blacktop 6e31eb5d0b feat: add support for 'rdisk' to ipsw mount cmd 🇬🇧 2025-09-23 11:12:38 -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 4e59708601 fix: handle older device-trees that don't have a time-stamp #772 2025-06-19 10:45:12 -06:00
blacktop d1f5ac85a1 feat: add ipsw img3 cmd to parse/decrypt img3 files 2025-06-18 23:09:34 -06:00
blacktop 399d296d02 feat: add support for extracting SimulatorRuntime encrypted .aar files downloaded via ipsw dl ota #700 2025-06-04 23:37:34 -06:00
blacktop 5da7c6f384 Update info.go 2025-04-07 17:22:37 -06:00
blacktop dfff4270b4 fix: add support for older iOS 2.0 IPSWs to ipsw mount cmd 2025-04-07 17:17:42 -06:00
blacktop 35366ddf5f feat: add new 'hidden' ipsw dinfo cmd 2024-08-04 14:43:43 -06:00
blacktop 61ff9dbd86 chore: add ability to get OTA Info from AEA OTAs 2024-08-02 14:35:02 -06:00
blacktop 3cdb8028d9 chore: detect macOS IPSWs when running ipsw diff 2024-07-18 17:35:15 -06:00
blacktop 2d2d2b447b fix: ipsw extract --kernel for macOS IPSWs file naming 🐛 2024-06-27 11:43:58 -06:00
blacktop ec3f22890b feat: add support for 🆕 ExclaveOS DMG 2024-05-28 18:36:50 -06:00
blacktop d3f1097f98 fix: more edge cases where no BuildManifest.plist would cause crash 2024-04-04 10:59:24 -06:00
Mischan Toosarani-HausbergerandGitHub e674b06615 fix: prevent panic in Info.GetFolder() (#428) 2024-04-04 10:39:35 -06:00
blacktop 58445e7978 chore: ipsw extract on macOS IPSW made annoyingly long folder names (no more 😉) 2024-03-30 13:55:36 -06:00
blacktop b656255005 fix: ipsw extract --dyld for visionOS 2024-01-31 12:40:36 -07:00
blacktop 980f67b245 fix: add error if detected encrypted device-tree #389 2024-01-21 16:32:56 -07:00
blacktop 66fb8588b5 fix: info caching in extract cmds 2024-01-06 23:18:29 -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 f2b334a3f0 fix: finding FS dmg in Watch IPSW 2024-01-05 14:16:49 -07:00
blacktop 5a59345ec2 fix: ipsw info and ipsw ota info commands for RSRs 2023-11-16 17:11:08 -07:00
blacktop 577f24930b feat: add ability to mount personalized DDIs w/ ipsw idev img mount command 2023-08-20 18:52:07 -06:00
blacktop 172025f25f fix: ipsw extract --kernel --json output to include devices 🥝 2023-08-03 17:54:19 +12:00
blacktop 08107fc63c fix: mount failure error messages 2023-06-26 21:50:41 -06:00
blacktop dce0896bf6 chore: rm keys from ipsw info cmd #188 2023-03-27 22:32:56 -06:00
blacktop 3f00cbb52d feat: add RestoreRamDisk output to the ipsw info cmd 2023-01-28 12:48:32 -07:00
blacktop 614f7099f1 fix: sort device name lists to standardize name generation 2023-01-06 19:00:31 -07:00
blacktop 39fa5d4180 fix: issue where cmds like ipsw extract --pattern on pre-cryptex IPSWs would double scan the FS dmg 2023-01-04 19:40:08 -07:00
blacktop a0113a58a9 feat: reorg ota cmd into ota ls, info, patch and extract 2022-11-16 23:09:04 -07:00
blacktop 91e7602a71 fix: search ALL the cryptex DMGs as well as FS in ipsw extract --files cmd 2022-07-07 17:54:54 +10:00
blacktop 5c1c4093b3 feat: add ability to append to existing wiki DB in ipsw download wiki cmd 2022-07-06 15:47:46 +10:00
blacktop 65084dfaec fix: handle IPSWs/OTAs where I can't parse the device tree properly 2022-07-05 21:17:36 +10:00
blacktop cd33eeca6b feat: add --json to ipsw download wiki cmd to enrich the URLs with metadata and write to JSON DB 2022-07-05 19:38:42 +10:00
blacktop 838d7bcec7 feat: decrease size of ipsw binary by gzipping embedded JSON files 2022-06-20 12:49:29 +10:00
blacktop 7f297c0ce5 feat: add 🆕 M1 keys from nyan 2022-06-20 11:45:12 +10:00
blacktop e30f248666 fix: ability to extract the DSC of the 🆕 iOS16/macOS13 IPSWs 2022-06-06 17:34:00 -06:00
blacktop 2751f45125 fix: timezone 🐛 #89 2022-03-14 02:03:58 -06:00
blacktop 27b5236e7b feat: add Verbose mode output to info cmd 2022-03-05 20:29:32 -07:00
blacktop 9d7d39fcb1 chore: more cleanup and refactoring 2022-03-05 17:44:54 -07:00
blacktop 45f98ab6ca chore: working on ipsw device database 2022-03-03 19:08:49 -07:00
blacktop 3f99864dd8 chore: more work on OTAs 2022-03-03 15:33:40 -07:00
blacktop ae82125f73 feat: dyld symaddr cmd can now take a JSON sym lookup file as input 2022-01-16 00:05:07 -07:00
blacktopandGitHub d31ceae43d feat: add macOS12/iOS15 support (#36) 2021-09-17 01:31:16 -06:00
blacktop 6e24858039 feat: add NEW devices 2021-09-14 13:47:50 -06:00
blacktop 2c50f5b3af feat: add NyanSatan's A14 keys 2021-08-18 09:14:07 -06:00