Vector35 / binaryninja-api

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

Add reconstructed stack strings to Strings view #5601

Open nshp opened 5 months ago

nshp commented 5 months ago

When Binja recovers strings on the stack into a __builtin_strcpy type of thing, those strings should be added to the Strings view to be more easily searchable. You can search the IL to find them at the moment, but that's pretty slow (and not something you'd necessarily think of doing.)

xusheng6 commented 5 months ago

This is a great suggestion. However, it is not easy to implement because right now the string list is fully managed by binja core and it cannot be changed from the API. And it can only considers strings found in the binary itself, not other ways around.

Maybe we should consider how to extend that. We should probably:

  1. Add a set of API to deal with the addition and deletion of strings
  2. Create the notion of auto and user strings
  3. Create the notion of normal (regular) and synthetic strings (e.g., the source of the string be the data itself, or from analysis, etc)

These probably need a great deal of internal discussion before we can decide what to do