Vector35 / binaryninja-api

Public API, examples, documentation and issues for Binary Ninja
https://binary.ninja/
MIT License
898 stars 202 forks source link

Decompose Outlining Transform #5740

Open bpotchik opened 2 months ago

bpotchik commented 2 months ago

It would be an improvement to our decompiler pipeline if we decomposed the current outlining transform into a couple separate, interposable transforms. This would allow the transform to provide data that is useful for more than outlining. It would also allow the a part of the outlining process to consume some other data, which currently is not available when the outline transform runs.

bpotchik commented 2 months ago

One useful application of this would be the outliner having access to resolved type information. For example, https://github.com/Vector35/binaryninja-api/issues/5738. Creating an array at 0x1800ec3dc should inform the strncpy dest at 0x1800ec3e7 that the outline transform should not be applied.