D> Hey all,
D> I am working with temu in Ubuntu 9.04. I used a redhat image as
D> guest OS. We are working on project which detects buffer overflow
D> through temu traces ..
D> When we are using load_plugin "tracecap/tracecap.so" to load
D> plugin. But after the traces, the instructions decoded is showing
D> as 0 and my trace file is empty.
D> But taint_sendkey seems to be working with the C program.For
D> instance, i used vul.c which takes an integer.
D> taint_sendkey 5 1000 will send the input to the program..But on
D> trace_stop, trace file is not written(its created)..
D> I tried all of these :
D> 1) changed the settings in main.ini file and made all options as
D> Yes.
Checking the options in the main.ini file is definitely a good idea,
but note that "yes" is not the setting for each option that maximizes
the chances of seeing output. For instance setting
trace_only_after_first_taint to "no" is what should give you more
traced instructions.
D> 2) used enable_emulation
D> 3) made sure that process is running..
D> Please let me know if anyone has any ideas.
Hmm. From that description I didn't notice anything obvious that
you're forgetting; 1-3 are all good things to check. I think it might
be helpful if you could send a complete transcript of the commands you
typed and the results you get at the TEMU monitor. Another useful
datapoint in narrowing down where the problem is would be to see
whether TEMU ever printed the "Time of first tainted data:" message.
Also, it sounds like the example you're trying here is similar to the
example in the TEMU manual, but not exactly the same. If you try to
reproduce the example from the manual exactly, does it work? If so,
you may be able to better understand what's going wrong by comparing
your example to the one in the manual.
Hope this helps,
-- Stephen
Hi,
I have attached my main.ini file. In my temu file functions is generating.
If problem in main.ini - you can fix it.
but I think that the problem in another.
2010/10/29 K V Divya <kvd...@gmail.com>
--
Best Regards,
Alexandr N. Bazhanyuk
UKRAINE
Phone: +38-096-789-65-17
mail: virv...@gmail.com
ICQ: 472244882
Skype: virvdova
KVD> thanks a lot !!
KVD> But , No luck .. I used the ini file you sent and my trace file
KVD> is also empty .. !!
KVD> Not sure if there is something else missing ..
I'm not too familiar with all of this code, but my recollection was
that we only generated the function_map data structure (and thus the
.functions file) based on messages from the (Windows) guest driver,
whereas Divya's guest system is running (RedHat) Linux.
If you have a copy of the Linux executable accessible outside the
virtual machine, you can map potentially map addresses to function
names and/or line numbers based using a library like the GNU Binutils
that parses executable structure. For an unstripped binary or one with
debugging information, you can use the Binutils "addr2line" utility to
test getting function names or line numbers respectively; if that's
doing what you want you can then look at the source of the addr2line
program to see how that's implemented using the BFD library. The
closest Linux equivalent to what we do on Windows would be to use the
dynamic symbols of ".so" libraries; you can list these with "nm -D",
which is also part of the Binutils, though I don't think addr2line
queries them.
-- Stephen