Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Python scripting #507
I'd like to have a plugin which can run a user supplied python script. The scripts don't need to have access to the entire edb plugin API. We can probably get away with (for starters):
get/set register state, read/write memory, list of memory regions, maybe a PyQt reference to the MainWindow
which would allow some basic analysis from any scripts, and do some possible integration with the GUI. From there, we can make the python code gain features that the normal plugin API has on a piecemeal basis.
I like this idea! I think we should embrace the future and support Python3 only.
Another option is to have some sort of IPC server which can do request/responses to edb, then users can script it however they want, and we can provide 'official' libs. Although that sounds suspiciously like gdbserver.
Yea, I'm fine with going Python3 only. If someone REALLY wants Python2 support, they are free to hack that into the plugin. I honestly think the difference will be almost entirely in what version of libpyton we compile against.
Adding general remote control to edb is also interesting, I think that if we wanted to this, Qt's implementation of DBUS may be the way to do it, I'm not 100% sure though. For now, I think a simply scripting plugin will do, and we'll see about a more generalized approach sometime in the future.