[eresi-dev] A few needed (simple) improvements in mjollnir / ERESI

Julien Vanegue jv274 at cl.cam.ac.uk
Fri Aug 24 23:57:15 UTC 2007


HI there,

The new version of libmjollnir lacks a few very small details that
would make it more valuable:

- It should be possible to have a better output for mjollnir
(like a little : -- / | \ -- / | ... animated ascii  to show progression
of the analysis)

- "Recognized destinations" is not filled (always 0 when printed).
Mjollnir should report the number of basic blocks, functions, as
well as  the number of -unknown bloc destination-, and number of
-unknown function destination-

- Mjollnir should perform "node splitting" when building the
control-flow graph, and report the number of split nodes. Node
splitting is simply about making sure that no nodes have multiple
ancestors and multiple successors at the same time, which help
a lot for further analysis (such as computing the dominator tree)

e.g.

\ /                         \  /
 o         ->              o
 /\                           |
                              o
                             / \


(hope this is readable in such email)


Other small but useful improvements, this time in ERESI:

- Each tool in ERESI should be able to have its own .rc (but still keeping
a global .eresirc file). We need to create a system that allow all tools :
elfsh, e2dbg, etrace, kernsh, evarista.. to have their -own- .rc file 
additionally
to the global rc file. I think this can be done easily by adding one 
parameter
to the revm_setup() function.

- The inspect command should be able to print correctly the content of 
blocks
or variable when they are passed as variables $block or $instr. 
Currently, this
command only allows a constant address or symbol name to be passed.

I am very busy these days and I dont have time to code. I send this 
email mostly
for backup purpose, which avoid me to keep small piece of papers on my 
desk :P

If anyone of you has few time to do one or more of these improvements, that
would be obviously welcome.

-jfv



More information about the eresi-dev mailing list