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