X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=old-doc%2Fideas.org;fp=old-doc%2Fideas.org;h=182c26a180219cca7299cb3a1ed9082a62ecdb09;hp=0000000000000000000000000000000000000000;hb=ccf5cf76644917f2e7ce92753dd9caa02db2a67c;hpb=be25639ecafa1ec2d37c8e2d6c8225c12ddb59ff diff --git a/old-doc/ideas.org b/old-doc/ideas.org new file mode 100644 index 0000000..182c26a --- /dev/null +++ b/old-doc/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.