Commit Graph
58 Commits
Author SHA1 Message Date
blacktop e4a55a9e55 chore: replace inline regex with precompiled variables for improved performance and readability 2026-04-04 17:42:26 -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 7fea36dbe3 fix: Add safe operand access helpers to prevent out-of-bounds panics 2026-02-23 11:22:00 -07:00
blacktop 889ae1f792 fix: ipsw dsc xref commad 2026-02-21 13:16:53 -07:00
blacktop 365ad6b4a6 feat(symbolicate): apply kernel symbols and enrich peek disassembly
- Add KernelSymbols to Ips and populate during symbolication so the generated IDA script can apply names discovered via
  --signatures.
- Make IDA script generation safer: escape Python string literals and sort kernel symbol addresses for deterministic
  output.
- Extract symbol names referenced by branch targets from peek bytes and attach them to PanicFrame.PeekSymbols for
  display in disassembly. Results are optionally demangled.
- Thread PeekSymbols into formatPeekDisassembly to show branch target names, and add defensive operand checks in
  disassembler triage.
2025-12-08 09:56:15 -07:00
blacktop 31bc2009f0 fix: ipsw macho disass not parsing __auth_stubs for symbolication 2025-11-07 20:30:44 -07:00
blacktop ff6d7dfb20 fix: ipsw macho disass logging issue when disass-ing all functions 2025-11-07 17:15:33 -07:00
blacktop 0c052c6c19 fix(symbols): implement symbol demangling and formatting functions 2025-11-01 14:55:35 -06:00
blacktop 5de6fed777 chore: use go-macho's swift demangle + remove internal one 2025-10-30 09:16:39 -06:00
blacktop fb02c65d22 chore: various command typos 2025-07-15 16:41:41 -06:00
blacktop e7127c0198 fix: properly identify stub islands in ParseStubIslands func #758 2025-06-12 22:37:52 -06:00
blacktop 5cbd83a718 fix: symbolicate strings with emojis in ipsw disass cmds 2025-06-02 23:45:21 -06:00
blacktop 7b938f50cb fix: two edge case errors w/ AI decompiler sym cache + AI cache 2025-05-22 12:06:26 -06:00
blacktop 27eb048378 fix: ipsw dsc disass --cache writing errors (auto try to create in tmp) 2025-05-07 01:37:47 -06:00
blacktop 53a30bd97b Update macho.go 2025-05-06 23:56:51 -06:00
blacktop 04db347ad7 fix: ipsw macho disass auto symbol cache file create when source is in a read-only folder 2025-05-06 23:46:32 -06:00
blacktop 635803ed8e chore: add another disass imm load edge case 2025-05-05 00:00:07 -06:00
blacktop 9807779a64 fix: ipsw dsc disass --demangle support + minor fixes 2025-05-04 23:07:06 -06:00
blacktop 0498c1a7e2 feat: add more objc class/meth info to ipsw macho disass output 2025-05-04 19:40:28 -06:00
blacktop 29a60c2dbe fix: simplify ipsw macho disass's got/auth_ptr parsing 2025-05-04 19:39:51 -06:00
blacktop b5332dfe6d fix: add swift-strings to ipsw macho disass 2025-05-04 13:37:13 -06:00
blacktop a2ccd26880 chore: cleanup macho disass helper code 2025-05-04 13:01:07 -06:00
blacktop 500c5b6faf fix: allow user supplied lang to be passed into AI prompt template 2025-05-04 10:47:11 -06:00
blacktop ceca3eb317 fix: ipsw macho disass symtab/exports pre-processing 2025-05-01 17:04:11 -06:00
blacktop 1bf45e29e0 feat: 🆕 add --dec flag to ipsw dsc disass and ipsw macho disass to add AI decompiler 🎉 + a few improvements to disass output 2025-05-01 12:40:47 -06:00
blacktop 6cca9a980d refactor: replace interface{} with any and simplify loop constructs 2025-03-26 22:53:29 -06:00
blacktop 235fdcd214 chore: add MemoryStatus to ips output + more 309 fields 2024-06-04 15:24:29 -06:00
blacktop 21fc9d62d2 Update disass.go 2023-12-01 11:09:49 -07:00
blacktop 91f8ff726b fix: improve swift string dumping 2023-09-22 20:28:32 -06:00
blacktop 1eb131755a Update macho.go 2023-09-21 14:02:27 -06:00
blacktop c45bc5ba3b Update macho.go 2023-09-20 20:21:07 -06:00
blacktop d785090755 Update macho.go 2023-09-20 20:01:45 -06:00
blacktop 4134fdfd67 Update macho.go 2023-09-20 19:49:49 -06:00
blacktop d24f94a4ec feat: add ability to dump llvm optimized Swift string structures via ipsw macho info --strings (shoutout to my RE brothers @radare and @mrmacete) 2023-09-20 19:09:32 -06:00
blacktop d378792a94 Update disass.go 2023-08-03 16:03:27 +12:00
blacktop 7ff4c9f9ec fix: improve ipsw dsc disass addr labeling 2023-08-03 10:24:56 +12:00
blacktop c775a8a1ea feat: support swift demangling in disass cmds and improve got ptr lookup 2023-07-04 19:19:24 +01:00
blacktop 3f3847613e feat: add 🆕 ipsw kernel mach command to dump mach_traps 2023-05-18 22:11:10 -06:00
blacktop a0d67c8916 fix: objc parsing for dyld4 2022-12-08 17:25:49 -07:00
blacktop 5c649e1e60 feat: for disass cmds if imm not found in image/macho try as a pointer 2022-09-21 19:10:40 -06:00
blacktop 30be905248 fix: show _objc_msgSend stubs in ipsw dyld disass cmd 2022-09-21 13:46:52 -06:00
blacktop ebed875d64 feat: add NEW --all-fileset-entries flag to ipsw macho disass to allow for disass-ing ALL kernelcache file-set entries at once 2022-09-12 14:30:29 -06:00
blacktop 91f6a45288 fix: --cache support in ipsw macho disass command. This allows for say using syms from kernel fileset entry in another kexts entry 2022-09-08 23:35:36 -06:00
blacktop 43603aa351 fix: ipsw macho disass command 2022-09-08 22:09:53 -06:00
blacktopandGitHub f697d66374 feat: support stub islands (#127) 2022-07-06 04:07:46 -06:00
blacktop 6324ea932e fix: various fixes and improvements 2022-06-09 09:47:03 -06:00
blacktop 186be63c22 fix: bug in ipsw dyld disass stub parsing 2022-06-01 12:27:29 -06:00
blacktop a9e048d896 fix: disass for error case (addr de-sync) 2022-04-22 19:16:46 -06:00
blacktop 4ecfc759d8 fix: dyld a2s cmd but fix 🐛 in stub parsing 2022-02-12 13:55:50 -07:00
blacktop 891fbb01ef Update disass.go 2022-01-31 22:14:14 -07:00