Enabling Support for x64dbg Debugger #2077
-
The more I use Binary Ninja the more enamored I become with it. To make a long post very short, I think it would be incredible if BN could use x64dbg as a back-end the way that it does gdb, lldb, and dbgeng. Initially I looked at porting the ret-sync plugin so that x64dbg and BN could be used the same way that ret-sync allows x64dbg and Ghidra to be used together. I'm still fiddling with the idea, but it's a bit above my head to figure out if going that route is the best option. On the one hand, there appears to be a ready-made example of how it works in the form of the existing IDA plugin which is extremely convenient given that BN supports pure-python plugins. However, it's equally possible that implementing support for either x64dbg itself, TitanEngine or GleeBug by extending BN's DebugAdapter class might be a better idea. I have absolutely no idea, but I'm hoping someone here might. Thoughts? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
I think you're right that the best solution is port ret-sync to BN. We most certainly support pure-python plugins. In fact, all of the plugins in the current plugin manager are all python. :-) I can't imagine there'd be a reason you couldn't just port https://github.com/bootleg/ret-sync/blob/master/ext_ida/SyncPlugin.py and the If you do decide to take on such a task I'd recommend you join the public slack and ask around in the #api-help channel, lots of folks there would be happy to help give suggestions on how to implement the different APIs. |
Beta Was this translation helpful? Give feedback.
I think you're right that the best solution is port ret-sync to BN. We most certainly support pure-python plugins. In fact, all of the plugins in the current plugin manager are all python. :-)
I can't imagine there'd be a reason you couldn't just port https://github.com/bootleg/ret-sync/blob/master/ext_ida/SyncPlugin.py and the
retsync
folder to a BN plugin that would be able to connect to a ret-sync session with another backend.If you do decide to take on such a task I'd recommend you join the public slack and ask around in the #api-help channel, lots of folks there would be happy to help give suggestions on how to implement the different APIs.