Repository navigation
Features
decomp: imported functions are now recorded in a dedicatedImportscategory instead of being skipped, so calls reaching them show up in the graph.decomp: forwarding thunks (PLT stubs) are no longer recorded, their callers are forwarded to the real target.decomp: imported functions are no longer decompiled.fs-cg: the JSON export is now behind-e/--export, as for the other mappers.cli: options are grouped into panels,-d/--debugis available on every mapper and the backend directory environment variables are documented in the--backendhelp.backend: expose thunk targets and import status (func_thunk_target(),func_is_import()) for both IDA and Ghidra.
Fixes
- mappers: PLT stubs no longer shadow the functions they forward to. An imported C++ method was registered as a private function of the calling binary, and a PIE library calling its own exports through its PLT ended up with a private stub holding the callers of the real function.
- mappers: remove the cache system of the
fs-cgmapper. - cli: add the missing
--debugflag and fix a few option definitions. - cli: import
ParameterSourcefromclick.core, it is only re-exported at package level from click 8.4 while 8.2 and 8.3 are supported. - tests: add C++ binaries to
test_fwto cover namespaced methods, mangled names, PLT stubs and inheritance mapping, and adapt thefs,fs-cg,decompand CLI tests. - ci: the version given by a tag was not correctly detected, and backend-free jobs ran on
python:latestinstead of a pinned image.
Full Changelog: v2.0.3...v2.1.0