On Fri, 2016-01-08 at 15:35 -0700, Jon Stephens wrote:
> Hello all,
> I am a student at the University of Arizona doing research with Dr.
> Debray relating to computer security. We have been discussing a way to
> automatically generate taint propagation policies for a given x86
> instruction. This process would be similar to the translation process
> from x86 to VEX and so we were wondering if anyone could provide us
> with more information about how that was done. From what I understand
> from reading various papers on valgrind, each instruction in x86 is
> encoded using VEX micro-operations that represent the computation
> performed by that instruction.
Each x86 instruction is translated to IR instructions,
see guest_x86_toIR.c.
There is a guest_...._toIR.c for each arch (e.g. amd64, arm, arm64, 
...).

> If this is the case, was there some way of automating (or
> semi-automating) the process of creating the equivalent VEX
> operations, or were they all hand-written?
guest_...._toIR.c files are hand-written.

>  Additionally, in the VEX source code, is there a file that includes
> the VEX micro-operations that correlate with a given x86 instruction?
There is no 'table'. To know the mapping for an instruction, you must
read guest_x86_toIR.c.

You can also use the debug trace of valgrind to see how instructions
are translated from arch specific instructions to IR, then transformed
by the tool, then re-translated to the arch specific instructions.
See valgrind --help-debug describing the --trace-flags and related
options.
> 
> 
> Any information would be greatly appreciated,
> Jon Stephens
After reading the articles (see website), the best is to read the code.

Philippe

> 



------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to