Vector35 / debugger

Binary Ninja debugger
Other
199 stars 13 forks source link

Support Make code and use it when the target stops at a location where there is no function #112

Open xusheng6 opened 2 years ago

xusheng6 commented 2 years ago

Thanks Peter for this: https://github.com/Vector35/binaryninja-api/blob/dev/python/examples/make_code.py.

Right now, the debugger aggressively creates new functions when the target stops at a location where there is no function. This causes several problems, especially it creates a new function inside of the dynamic loader, which then triggers LOTS of other new functions to be added. All of these are of little use.

xusheng6 commented 2 years ago

I added support for make code in https://github.com/Vector35/debugger_native/commit/fd60f5ba9d768ca769fcf7fe6a9e38d817a752e2. And then I tested using it for showing location where there is no code. However, the result is not as good as what we have now (i.e., defining a function at the stopped address). So I somehow think we should keep the current behavior, while offering the opportunity to view, e.g., a buffer, as code.

I am moving this out of the 3.1 milestone. I should come back and deal with it later.