- Make Cargo.lock be in sync with Cargo.toml (oops)
- Added
--min-fn-length
and--skip-multiple
options to libfind to allow specifying a minimum function length required to match, and skipping addresses where too many functions are recognized, respectively - Fix bug where short functions would generate indirect functions below the
--min-fn-length
threshold (which was previously hardcoded to be 4) - Updated dependencies (and use
cargo dist
for generating executables for this release)
- Arbitrarily decide that this version is 1.0.0 because it has been stable enough
- Add line to libfind output indicating the file (the way command line arguments are handled could lead to confusion)
- Update dependencies
- Fix ambiguous parse for Keil library names that contain
LDIDATA
(was parsed asLDI
DATA
, should have beenLD
IDATA
, theDATA
space is actually not contained anywhere in the Keil libs) - Updated dependencies (newer rustfft version means that
base
is sped up, but it works almost instantly anyway)
- Fix debian not being able to compile because of new library features (fixes #3)
- Added new statistic "jump-align" which counts the percentage of instructions that jump to unaligned addresses
- Tried to improve documentation
- Changed
base
to use non-cyclic mode by default (meaning that firmware doesn't wrap on 0x10000 when searching for alignment), old cyclic mode can be accessed with--cyclic
- Added
--dump
to base, which dumps the likeliness of every possible offset - Added rudimentary config for libfind libraries and stat mode
- Implement Aslink3/sdcc library files
- Removed giant messy regex (and regex dependency)
- Added JSON output
- Added the case where the public references a function points to are not present, which is shown by square brackets
- If there are multiple symbols matched on the same location, only show the ones with the highest goodness