nccgroup / Cartographer

Code Coverage Exploration Plugin for Ghidra
Apache License 2.0
326 stars 28 forks source link

Allow other plugins to build on top of Cartographer #12

Closed N-I-N-0 closed 3 months ago

N-I-N-0 commented 3 months ago

Hey 👋 I am currently writing my Bachelor thesis at university. For that, I have to write multiple Ghidra plugins. One of these includes automatically loading coverage information from a fuzzer into Ghidra and updating that information in the background with each new run of the fuzzer in realtime.

Is your feature request related to a problem? Please describe. My problem: the function loadCoverageFile is private and I need to use part of the actionPerformed function, forcing me to fully re-implement these parts in order to load files with my new plugin. This will long term cause the new plugin to be forced to be updated in sync whenever Cartographer changes something within these functions, e.g. due to Ghidra changing. Therefore, I hope you could consider my following request!

Describe the solution you'd like What would help me (and potential others with similar projects in the future), would be the following:

  1. Turning the loadCoverageFile function public, so it can be used by other plugins
  2. For the same reason, it would be great if additionally the code block here could be moved into another public function as well, so it can be used by external plugins.

This way, it would become possible for other plugins to use Cartographer to display coverage information without having to rewrite half of it's code for that, which generally appears to be a bad programming practice.


Thanks for taking a look at my feature request!