Releases: ScriptWare-Software/native-predicate-solver
Releases · ScriptWare-Software/native-predicate-solver
v1.0.2a - New version support
v1.0.2 - Performance Enhancements
Changes:
- Fixed progress tracking getting stuck at ~93%, functions that couldn't be processed (no MLIL/architecture) are now properly counted in progress tracking
- Implemented batched patching. All patches for a function are now collected and applied with a single mutex lock, significantly reducing lock contention
- Added work-stealing queue. Replaced static work distribution with dynamic work-stealing for better CPU utilisation
- Dynamic batch sizing. Thread batch sizes now scale down as work becomes scarce, preventing thread starvation on complex functions
- Reduced mutex overhead. UpdateAnalysis() calls are now batched per function instead of per patch
- More responsive cancellation. Added cancellation checks every 100 instructions when processing large functions
- Work queue uses adaptive batch sizes (5→3→2→1) based on remaining work, and thread synchronisation improved with condition variables for work distribution.
Full Changelog: v1.0.1...v1.0.2
v1.0.1 - Bug Fixes
- Fixed an issue with scanning the entire binary for opaque predicates halting on 100% and never leaving first iteration.
- Fixed an issue with cancelling the scanning of the entire binary, now works properly.
v1.0.0 - Initial Release
Initial release of native-predicate-solver