Skip to content

fix: harden parsers, correct decompiler, optimize perf — bump to 0.1.7#5

Open
Razshy wants to merge 3 commits into
mainfrom
fix/hardening-and-correctness
Open

fix: harden parsers, correct decompiler, optimize perf — bump to 0.1.7#5
Razshy wants to merge 3 commits into
mainfrom
fix/hardening-and-correctness

Conversation

@Razshy
Copy link
Copy Markdown
Collaborator

@Razshy Razshy commented May 17, 2026

Correctness (30 bugs fixed):

  • Fix dangling-else causing ELF/Mach-O load failures
  • Replace all unaligned reinterpret_casts with memcpy (ARM64 crash fix)
  • Fix worker pool destructor race condition (hang on exit)
  • Correct JLE/JBE compound condition lifting in decompiler
  • Fix multi-operand IMUL handling (2-op and 3-op forms)
  • Fix DCE over-aggressively killing heap stores
  • Fix SSA identity elimination ignoring version numbers
  • Guard against infinite loops, div-by-zero, OOB in ELF/.NET loaders
  • Prevent Python injection in IDA export
  • Add platform guards for Windows-only debugger module (macOS builds)
  • Harden settings/database parsing against corrupt files Performance:
  • Replace EntropyView 14K AddRectFilled/frame with single GPU texture
  • Eliminate per-frame string allocations in DisasmView render path
  • Shrink Insn struct 272→144 bytes, replace unordered_map with flat vector
  • Remove duplicated instruction storage from BasicBlocks
  • Add ImGuiListClipper to Strings/Imports panels, cache filtered results
  • Replace O(n log n) full-sort with O(n) linear merge for instruction store
  • Analysis of 3.6MB binary: 10x faster merge, 4.8GB→2GB RAM

Correctness (30 bugs fixed):

- Fix dangling-else causing ELF/Mach-O load failures
- Replace all unaligned reinterpret_casts with memcpy (ARM64 crash fix)
- Fix worker pool destructor race condition (hang on exit)
- Correct JLE/JBE compound condition lifting in decompiler
- Fix multi-operand IMUL handling (2-op and 3-op forms)
- Fix DCE over-aggressively killing heap stores
- Fix SSA identity elimination ignoring version numbers
- Guard against infinite loops, div-by-zero, OOB in ELF/.NET loaders
- Prevent Python injection in IDA export
- Add platform guards for Windows-only debugger module (macOS builds)
- Harden settings/database parsing against corrupt files
Performance:
- Replace EntropyView 14K AddRectFilled/frame with single GPU texture
- Eliminate per-frame string allocations in DisasmView render path
- Shrink Insn struct 272→144 bytes, replace unordered_map with flat vector
- Remove duplicated instruction storage from BasicBlocks
- Add ImGuiListClipper to Strings/Imports panels, cache filtered results
- Replace O(n log n) full-sort with O(n) linear merge for instruction store
- Analysis of 3.6MB binary: ~10x faster merge, 4.8GB→~2GB RAM
Comment thread src/ui/widgets/entropy_view.cpp Fixed
Razshy and others added 2 commits May 17, 2026 07:21
…t converted to larger type'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants