[ether-devel] Instruction Tracing with Ether

50 views
Skip to first unread message

Kevin

unread,
Apr 16, 2010, 8:40:57 PM4/16/10
to ether-devel
I have just gotten Ether up and running, and have managed my first
successful instruction trace!

Right now, what I get is the address of the instruction and the
mnemonic/operands. What I would like to have is this information plus
the instruction bytes for each instruction, and the register values at
the moment of execution, and maybe even the value of relevant memory
locations (but this may be asking too much?).

I haven't found any information yet on customizing the instruction
trace. Is this information available from Ether in its current form?
If not, do you have any advice on where to start looking in source
code to make custom modifications to the output?

I feel like I could probably hack at this long enough to come up with
something, but any advice or pointers that will speed the learning
curve will be greatly appreciated.

Regards,
Kevin


--
Subscription settings: http://groups.google.com/group/ether-devel/subscribe?hl=en

Danny Quist

unread,
Apr 16, 2010, 9:14:22 PM4/16/10
to ether...@googlegroups.com
The data is all there but you will need to modify the code to get to it.

Danny

Sent from my mobile device.

Artem Dinaburg

unread,
Apr 18, 2010, 10:49:23 PM4/18/10
to ether...@googlegroups.com
Take a look at the Ether controller code in ether_main.c that outputs the instruction trace, and the structure definitions in /usr/include/xen/hvm/ether.h that it uses. That should be a good starting point for what you want to do.

Artem

Kevin

unread,
Apr 19, 2010, 1:39:45 PM4/19/10
to ether-devel
Thanks Artem, I'm sure this will help! And thanks to everyone for the
quick responses.
Kevin

On Apr 18, 7:49 pm, Artem Dinaburg <ar...@gtisc.gatech.edu> wrote:
> Take a look at the Ether controller code in ether_main.c that outputs the
> instruction trace, and the structure definitions in
> /usr/include/xen/hvm/ether.h that it uses. That should be a good starting
> point for what you want to do.
>
> Artem
>
> On Fri, Apr 16, 2010 at 9:14 PM, Danny Quist <dannyqu...@gmail.com> wrote:
> > The data is all there but you will need to modify the code to get to it.
>
> > Danny
>
> > Sent from my mobile device.
>

Josh Eads

unread,
Apr 19, 2010, 6:41:37 PM4/19/10
to ether-devel
Hi, I actually just finished up my M.S. thesis and the main focus of
it was implementing all of the changes to Ether that you have
mentioned (plus using this data in IDA Pro). I've been meaning to
post the thesis paper and cleaned up source code online but now that I
see someone else wants to do similar work here's a link:
http://dl.dropbox.com/u/6830/EtherAnnotateThesis.pdf

The majority of the paper is background info on Xen, Ether, etc... but
the later half describes the changes I made and the results I got. I
will try to clean up the source code and possibly implement a few
features I had on the back burner and then post online as well.

Regards,
Josh

Danny Quist

unread,
Apr 19, 2010, 11:21:57 PM4/19/10
to ether...@googlegroups.com
I just finished reading your thesis Josh. You did some excellent work. Congrats!

Danny
Reply all
Reply to author
Forward
0 new messages