Alexandre Julliard : winedump: Print the imports thunk address also for 64-bit.
Alexandre Julliard
julliard at winehq.org
Fri Jul 20 12:14:31 CDT 2018
Module: wine
Branch: master
Commit: 5f34d56dcb4b4890827c86eaa5fb24d717553466
URL: https://source.winehq.org/git/wine.git/?a=commit;h=5f34d56dcb4b4890827c86eaa5fb24d717553466
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Jul 20 11:55:04 2018 +0200
winedump: Print the imports thunk address also for 64-bit.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
tools/winedump/pe.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/winedump/pe.c b/tools/winedump/pe.c
index 1d5b825..7bbb576 100644
--- a/tools/winedump/pe.c
+++ b/tools/winedump/pe.c
@@ -1186,11 +1186,11 @@ static void dump_dir_exceptions(void)
}
-static void dump_image_thunk_data64(const IMAGE_THUNK_DATA64 *il)
+static void dump_image_thunk_data64(const IMAGE_THUNK_DATA64 *il, DWORD thunk_rva)
{
/* FIXME: This does not properly handle large images */
const IMAGE_IMPORT_BY_NAME* iibn;
- for (; il->u1.Ordinal; il++)
+ for (; il->u1.Ordinal; il++, thunk_rva += sizeof(LONGLONG))
{
if (IMAGE_SNAP_BY_ORDINAL64(il->u1.Ordinal))
printf(" %4u <by ordinal>\n", (DWORD)IMAGE_ORDINAL64(il->u1.Ordinal));
@@ -1200,7 +1200,7 @@ static void dump_image_thunk_data64(const IMAGE_THUNK_DATA64 *il)
if (!iibn)
printf("Can't grab import by name info, skipping to next ordinal\n");
else
- printf(" %4u %s %x\n", iibn->Hint, iibn->Name, (DWORD)il->u1.AddressOfData);
+ printf(" %4u %s %x\n", iibn->Hint, iibn->Name, thunk_rva);
}
}
}
@@ -1256,7 +1256,7 @@ static void dump_dir_imported_functions(void)
else
{
if(PE_nt_headers->OptionalHeader.Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC)
- dump_image_thunk_data64((const IMAGE_THUNK_DATA64*)il);
+ dump_image_thunk_data64((const IMAGE_THUNK_DATA64*)il, importDesc->FirstThunk);
else
dump_image_thunk_data32(il, 0, importDesc->FirstThunk);
printf("\n");
@@ -1344,7 +1344,7 @@ static void dump_dir_delay_imported_functions(void)
else
{
if (PE_nt_headers->OptionalHeader.Magic == IMAGE_NT_OPTIONAL_HDR64_MAGIC)
- dump_image_thunk_data64((const IMAGE_THUNK_DATA64 *)il);
+ dump_image_thunk_data64((const IMAGE_THUNK_DATA64 *)il, importDesc->ImportAddressTableRVA);
else
dump_image_thunk_data32(il, offset, importDesc->ImportAddressTableRVA);
printf("\n");
More information about the wine-cvs
mailing list