Closed renzhexigua closed 2 years ago
Hey!
Thanks a lot for the PR - It's a good idea to expose this data!
I just had to fix/extend the tests to reflect this fact, which were broken by the original PR.
Note that this change is also potentially breaking as the ApiScout.crawl() result now contains an additional field. At least if someone is assigning variables directly from the tuple, which I would assume is unlikely though. I just wanted to ensure that information about this change is also properly reflected in the README.
Hi Daniel,
I use this tool to patch/rebuild IAT from a mapping PE dmp file. It works very well only that I need to find all
call/jmp xxxx
addresses manually to patch/replace the address via LIEF libaray.The core logic code is like:
As ApiScout has supplied the basic api-related context info already, why not add the xreference info as well to make it more convenient, suitable, and automated for such a scenario?
So I change it a little to fit my needs. This PR only affects the JSON's output layout, i.e., it adds an additional field named
references
(follow your convention, use RVA here) to holds all call/jmp instruction addresses.The default console layout and rendered result are consistent.
After that, we can import this JSON file directly and patch the binary data.