Hi,
I'd like to use the VEX IR for static analysis (hope this isn't
taboo), since it seems like an easy route to disassemble into SSA for
multiple architectures without having to write a large amount of
parsing code.

I've spent a bit of time looking at libvex.h and libvex_ir.h, and it
seems as though this should be quite straightforward... as far as I
understand it I can include libvex.h, set up the structs according to
the architecture I am using, load an elf into memory and then call
LibVEX_Translate with the appropriate VexTranslateArgs to translate a
chunk of code. However, this does seem to be somewhat too good to be
true, so I am wondering if I am missing something.

I'm also wondering about where to put things like string tables when I
am not doing a dynamic analysis.

I realise I could probably do all this using valgrind instrumentation,
but a few people have mentioned that valgrind is slow, and I don't
want to add unnecessary overhead when my work somewhat relies on
proving the efficiency of my algorithms. I presume that the speed
issues are due to the interpreted nature of the dynamic analysis in
valgrind (please correct me if I'm wrong) and that VEX itself is
probably quite efficient. Thanks!

Best,
Ed.

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to