c++ - How to retrieve the 64-bit address for a specific kernel object from a wow64 process -
is possible obtain 64-bit address of kernel object within 32-bit wow64 process?
for instance, want obtain 64-bit kernel address process given pid. value "uniqueprocesskey" kernel logger process event.
i can obtain 32-bit address using ntdll:
ntquerysysteminformation typedef struct _system_handle { ulong processid; byte objecttypenumber; byte flags; ushort handle; pvoid object; access_mask grantedaccess; } system_handle, *psystem_handle; but need 64-bit address. in advance.
well found answer.
the premise since wow64 emulator living within address space of 64 bit process, should possible call 64 bit versions of nt... functions. turns out can. there functions like:
32-bit: 64-bit: ntquerysysteminformation ntwow64getnativesysteminformation ntqueryinformationprocess ntwow64queryinformationprocess64 there problem however. ntwow64getnativesysteminformation doesn't support systemhandleinformation class, @ least on win7. such cannot addresses.
regardless, if need deal 64-bit processes in 32 bit wow process cant escape because of dependency, has other threads worth looking into:
how list of gdi handles
get command line string of 64-bit process 32-bit process
Comments
Post a Comment