X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=ideas.org;fp=ideas.org;h=182c26a180219cca7299cb3a1ed9082a62ecdb09;hp=0000000000000000000000000000000000000000;hb=4aac2a789fa54a5d6d9bc2c52b663044fab3cb40;hpb=f66c54319d23de4c4905ad11a8f552917d2dfba9 diff --git a/ideas.org b/ideas.org new file mode 100644 index 0000000..182c26a --- /dev/null +++ b/ideas.org @@ -0,0 +1,38 @@ +* 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.