* Disassembler Factory How exactly does that qt plugin stuff work? We probably need some factory where all disassemblers can register and we can take one by name when opening a binary. * Data Postprocessing ** Cleanup Chain ** Anotation Chain * API plugins IDA has some nice annotations for all kinds of API functions also naming parameters and stuff. We should implement the same leveraging some data sources already present. ** MAN plugin ** Info plugin * File Format We're going to store transactions in XML files and zip the result up. Could be facts (like the region 0xAA to 0xFF is a basic block), deletion of such facts or changes to the binary. These facts can then be sent over XMPP to implement some multiplayer frida. Ideally scripting foo would then generate such transactions which are stored by some transaction manager and applied to the runnign data structure using them as a interface everywhere. * Decompiler Do natural loop detection, build some (lispy?) intermediate code and "optimize" sideeffects (like flags) away from instructions where not needed. Then reverse-apply fancy arithmetic tricks and format it as normal C code.