Module: wine Branch: master Commit: e0518a9d884d649d6ff51d50c2a9509e05406815 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e0518a9d884d649d6ff51d50c2...
Author: Dmitry Timoshkov dmitry@codeweavers.com Date: Thu Dec 7 21:43:37 2006 +0800
winedump: Add a possibility to dump raw section data.
---
tools/winedump/main.c | 1 + tools/winedump/pe.c | 8 +++++++- tools/winedump/winedump.h | 1 + 3 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/tools/winedump/main.c b/tools/winedump/main.c index f0ea281..ad24379 100644 --- a/tools/winedump/main.c +++ b/tools/winedump/main.c @@ -186,6 +186,7 @@ static void do_rawdebug (void) static void do_dumpall(void) { globals.do_dumpheader = 1; + globals.do_dump_rawdata = 1; globals.dumpsect = "ALL"; }
diff --git a/tools/winedump/pe.c b/tools/winedump/pe.c index 54bc6fb..e9ec8f8 100644 --- a/tools/winedump/pe.c +++ b/tools/winedump/pe.c @@ -375,7 +375,7 @@ void dump_section(const IMAGE_SECTION_HE printf(" %-8.8s VirtSize: %-8u VirtAddr: %-8u 0x%08x\n", sectHead->Name, sectHead->Misc.VirtualSize, sectHead->VirtualAddress, sectHead->VirtualAddress); - printf(" raw data offs: %-8u raw data size: %-8u\n", + printf(" raw data offs: %-8u raw data size: %-8u\n", sectHead->PointerToRawData, sectHead->SizeOfRawData); printf(" relocation offs: %-8u relocations: %-8u\n", sectHead->PointerToRelocations, sectHead->NumberOfRelocations); @@ -453,6 +453,12 @@ static void dump_sections(const void *ba for (i = 0; i < num_sect; i++, sectHead++) { dump_section(sectHead); + + if (globals.do_dump_rawdata) + { + dump_data((const unsigned char *)base + sectHead->PointerToRawData, sectHead->SizeOfRawData, " " ); + printf("\n"); + } } }
diff --git a/tools/winedump/winedump.h b/tools/winedump/winedump.h index 5b1c68e..1da28d7 100644 --- a/tools/winedump/winedump.h +++ b/tools/winedump/winedump.h @@ -128,6 +128,7 @@ typedef struct __globals /* Options: dump mode */ int do_demangle; /* -d */ int do_dumpheader; /* -f */ + int do_dump_rawdata; /* -x */ int do_debug; /* -G == 1, -g == 2 */
/* Option arguments: spec mode */