Dmitry Timoshkov : winedump: Add a possibility to dump raw section data.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Dec 7 14:23:38 CST 2006


Module: wine
Branch: master
Commit: e0518a9d884d649d6ff51d50c2a9509e05406815
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e0518a9d884d649d6ff51d50c2a9509e05406815

Author: Dmitry Timoshkov <dmitry at 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 */




More information about the wine-cvs mailing list