Commit Graph

5384 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 327cf0e302 fix: restore DmgInfo type declaration and fix alignment in search.go
Co-authored-by: blacktop <6118188+blacktop@users.noreply.github.com>
Agent-Logs-Url: https://github.com/blacktop/ipsw/sessions/44cb516b-6503-478d-bcf6-9f275d78419c
2026-03-24 19:35:26 +00:00
copilot-swe-agent[bot] 9d84aa4993 perf: eliminate regexp recompilation and bufio.NewReader allocations in hot paths
- pkg/disass/colors.go: move 3 regexps compiled on every ColorOperands() call to package-level vars
- pkg/emu/disass.go: move 2 regexps compiled on every colorOperands() call to package-level vars
- pkg/ota/aa.go: move 6 regexps compiled per file per Info() loop iteration to package-level vars
- pkg/plist/plist.go: replace in-loop regexp with strings.HasSuffix; drop regexp import
- pkg/devicetree/devicetree.go: replace 6 in-loop regexp.MustCompile calls with strings.Contains/HasSuffix; drop regexp import
- pkg/img4/payload.go: compile regexp once before the loop instead of per-iteration
- pkg/dyld/utils.go: add readCStringAt helper to read null-terminated strings via io.ReaderAt (avoids allocating bufio.Reader)
- pkg/dyld/file.go: replace 6 bufio.NewReader allocations in tight inner loops with readCStringAt; drop bufio import
- pkg/dyld/objc.go: replace 2 bufio.NewReader allocations in inner loops with readCStringAt; drop bufio import
- pkg/dyld/image.go: replace bufio.NewReader allocation in inner loop with readCStringAt; drop bufio import
- internal/search/search.go: move 3 regexps compiled per-loop-iteration to package-level vars
- internal/diff/diff.go: move iBoot regexp to package-level var; compile DSC regexp once instead of twice
- internal/commands/ent/replacement.go: replace regexp.MatchString (recompiles every call) and per-call MustCompile with package-level vars
- internal/download/scrape.go: move 7 constant regexp patterns to package-level vars

Co-authored-by: blacktop <6118188+blacktop@users.noreply.github.com>
Agent-Logs-Url: https://github.com/blacktop/ipsw/sessions/44cb516b-6503-478d-bcf6-9f275d78419c
2026-03-24 19:31:57 +00:00
copilot-swe-agent[bot] d4ffa7e846 Initial plan 2026-03-24 19:13:41 +00:00
github-actions[bot] 9af7480250 chore(fcs-keys): update FCS keys (stable,RC,beta) [skip ci] 2026-03-24 18:52:20 +00:00
blacktop e3b7c3ed4f Update .watch_cache 2026-03-24 18:15:49 +00:00
blacktop 6d317eca7b feat: support using ipsw class-dump --re flag and --headers flag 🇬🇧 2026-03-24 10:34:49 -06:00
blacktop 9ec21577ff chore(deps): bump deps 2026-03-20 11:57:33 -06:00
dependabot[bot] 25857165ae chore(deps): bump github/codeql-action from 4.32.6 to 4.33.0 (#1135)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.6 to 4.33.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/0d579ffd059c29b07949a3cce3983f0780820c98...b1bff81932f5cdfc8695c7752dcee935dcd061c8)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 11:55:37 -06:00
dependabot[bot] 24cf5687cc chore(deps): bump pnpm/action-setup from 4 to 5 (#1137)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 5.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v5)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-20 11:55:18 -06:00
blacktop 256f0f4eb1 Update .watch_cache 2026-03-19 23:40:33 +00:00
blacktop 3285e39681 feat(symbolicate): add --force flag to override IPSW mismatch warnings 2026-03-19 10:52:20 -06:00
blacktop 17d95ae8fe chore(fcs): bump fcs keys 2026-03-19 09:00:20 -06:00
blacktop 10e2c521cf chore(deps): bump deps 2026-03-19 09:00:07 -06:00
blacktop 04caa10df9 Update .watch_cache 2026-03-18 14:51:01 +00:00
blacktop 6c3077d7b9 Merge branch 'master' of github.com:blacktop/ipsw v3.1.665 2026-03-17 19:24:21 -06:00
blacktop 219bff6f52 chore(deps): bump deps 2026-03-17 19:15:40 -06:00
blacktop aa515a9d73 feat(ota): enhance cryptex handling and input validation for RSR patching 2026-03-17 19:13:38 -06:00
blacktop d09ca85093 feat(diff): support diffing patched OTA DMG directories and update documentation 2026-03-17 19:13:23 -06:00
blacktop c935a1b272 Update .watch_cache 2026-03-17 03:47:10 +00:00
blacktop e7f1aca679 Update .watch_cache 2026-03-17 00:52:20 +00:00
blacktop f5a07ab9f0 Update .watch_cache 2026-03-16 22:43:08 +00:00
blacktop 11371fa9d0 Update .watch_cache 2026-03-16 18:47:11 +00:00
blacktop f7b866654f Delete claude.yml 2026-03-13 20:22:16 -06:00
blacktop 1808adc7c8 fix(deps): skip missing DSC images instead of crashing (#1132) 2026-03-13 20:21:24 -06:00
blacktop 4e8684eaa5 chore(deps): bump deps 2026-03-13 20:11:55 -06:00
blacktop e0bd9ba8c6 Update .watch_cache 2026-03-12 23:04:29 +00:00
blacktop e50d246801 chore(deps): bump deps 2026-03-12 14:05:13 -06:00
blacktop 6ab5b2d80e Update .watch_cache 2026-03-12 18:13:31 +00:00
github-actions[bot] 06a0f609d2 chore(ents): update entitlements DB for iOS [skip ci] 2026-03-12 04:45:32 +00:00
github-actions[bot] 6b056244ec chore(ents): update entitlements DB for iOS [skip ci] 2026-03-12 04:11:27 +00:00
blacktop 441be9cfa9 feat: add version input to update entitlements workflow 2026-03-11 21:51:05 -06:00
github-actions[bot] 77cc0da1a0 chore(ents): update entitlements DB for iOS [skip ci] 2026-03-12 02:38:05 +00:00
blacktop 4c181e7ac2 Update .watch_cache 2026-03-11 13:52:57 +00:00
blacktop f024b63fce fix: ipsw kernel cpp cmd v3.1.664 2026-03-11 00:01:54 -06:00
blacktop 46ecf6e4ca feat: 🆕 'hidden' ipsw kdk-diff cmd 2026-03-10 17:36:12 -06:00
blacktop ba2aa433ae chore: 2026 copyright 2026-03-10 17:08:45 -06:00
blacktop 8fb870e751 chore(fcs): bump keys v3.1.663 2026-03-10 15:53:43 -06:00
blacktop 1d405f061b fix: ipsw dl pcc command 2026-03-10 14:45:17 -06:00
blacktop a4a59384ff feat(signature): add resolveTextSection function and provenance field to Signature struct 2026-03-10 14:32:02 -06:00
github-actions[bot] 12ad0d6759 chore(fcs-keys): update FCS keys (stable,RC) [skip ci] 2026-03-10 19:20:00 +00:00
blacktop 196d77de6f feat: add kernel C++ parsing to symbolicate cmds and APIs
Add API endpoints and CLI support for discovering C++ classes and symbolication of kernelcaches, refactor Mach-O handling, and improve symbol collection.

- API: add /kernel/cpp and /kernel/symbolicate routes, request param structs, response types, and openKernel helper. Use cpp scanner and signature parsing to return classes and symbol maps.
- CLI: wire scanner LogStats flag, refactor kernel symbolicate command (schema writer helper, improved signature parsing, and symbol matching logic). Add tests for symbolicator schema and kernel symbol matching.
- Signature pkg: add kernel C++ symbol extraction (pkg/signature/kernel_cpp.go) and SymbolicateMachO to symbolicate already-open Mach-Os; integrate C++ symbols into symbol map and update signature matching/logging behavior.
- Internal: refactor in-memory DB lookups (findMachOByUUID, findSymbolByAddr) to reduce duplication. Improve symbols collection for kernel Mach-Os (collectKernelMachoSymbols, extra kernel symbols from signature/C++), add helpers to append symbols.
- Kernelcache CPP: add LogStats option and conditional logging of scan stats.
- Crashlog/ips: update wording to reflect kernel symbols are from kernel analysis and store KernelSymbols earlier in processing; parse signatures only when configured.

Also add unit tests for new symbolication helpers and kernel C++ signature handling. Overall this consolidates kernel symbol discovery, improves reuse, and surfaces C++-derived symbols in symbol maps.
v3.1.662
2026-03-10 12:20:12 -06:00
blacktop 57137bb4e4 chore: add AI_POLICY 2026-03-10 12:10:38 -06:00
blacktop 5ca33a1377 docs: update CLI docs 2026-03-10 10:55:05 -06:00
blacktop 51d7926804 Update helpers.go 2026-03-10 10:54:29 -06:00
blacktop ffa9d925f9 chore: add unit tests for C++ kernelcache scanner helper functions
Tests cover trackStaticValueInstruction option flags
(acceptAnyLoadAddr, propagateLoadAddrInAdd), pointer cache section
filtering, and 32-bit MOVZ/MOVK instruction handling.
v3.1.661
2026-03-10 10:22:44 -06:00
blacktop 9c861ee7cd fix: refactor disassembly API for type safety and performance
Update all disassembly code to use new cgo-based decoder API with
stack-allocated instruction structs instead of heap-allocated
pointers. Add instruction filtering to skip decoding operations that
register tracking doesn't care about, avoiding expensive CGo calls.

Key changes:
- Replace Decompose with DecomposeInto using stack allocation
- Add mayBeTrackedInstruction filter for common tracked ops
- Introduce helper functions for safe operand/register access
- Fix metaclass pointer index to use caller index for efficiency
- Remove root file special-casing in pointer index builder
- Add comprehensive unit tests for tracking options and helpers
2026-03-10 10:22:24 -06:00
blacktop 23eb047fee chore: replace buffer with decoder in HasMTEInstructions function 2026-03-09 21:14:19 -06:00
blacktop 2bca6556bb chore(fcs): bump keys 2026-03-09 21:13:59 -06:00
blacktop 27e8ec23ad chore: refactor disassembly code to use new instruction representation
- Updated disassembly functions to utilize the new `disassemble.Inst` type instead of `disassemble.Instruction`.
- Modified operand retrieval functions to accommodate the new instruction structure.
- Enhanced error handling and logging for instruction decoding failures.
- Improved JSON output for disassembly to ensure disassembly strings are preserved.
- Refactored various components across the disassembly package, including Mach-O and dyld handling, to streamline instruction processing.
- Added tests to validate the new disassembly behavior and ensure backward compatibility.
2026-03-09 21:13:33 -06:00
blacktop 368742585b feat(tests): add comprehensive tests for micro instruction handling and class name recovery 2026-03-09 20:28:16 -06:00