Whitespace cleanup
[frida/frida.git] / ideas.org
1 * Disassembler Factory
2
3 How exactly does that qt plugin stuff work? We probably need some
4 factory where all disassemblers can register and we can take one by
5 name when opening a binary.
6
7 * Data Postprocessing
8 ** Cleanup Chain
9
10 ** Anotation Chain
11
12 * API plugins
13
14 IDA has some nice annotations for all kinds of API functions also
15 naming parameters and stuff. We should implement the same leveraging
16 some data sources already present.
17
18 ** MAN plugin
19
20 ** Info plugin
21
22 * File Format
23
24 We're going to store transactions in XML files and zip the result
25 up. Could be facts (like the region 0xAA to 0xFF is a basic
26 block), deletion of such facts or changes to the binary. These facts
27 can then be sent over XMPP to implement some multiplayer frida.
28
29 Ideally scripting foo would then generate such transactions which are
30 stored by some transaction manager and applied to the runnign data
31 structure using them as a interface everywhere.
32
33 * Decompiler
34
35 Do natural loop detection, build some (lispy?) intermediate code and
36 "optimize" sideeffects (like flags) away from instructions where not
37 needed. Then reverse-apply fancy arithmetic tricks and format it as
38 normal C code.