diff --git a/1.x/trunk/ProcessHacker/Program/Dump.cs b/1.x/trunk/ProcessHacker/Program/Dump.cs index ebf2b467a..5962b8847 100644 --- a/1.x/trunk/ProcessHacker/Program/Dump.cs +++ b/1.x/trunk/ProcessHacker/Program/Dump.cs @@ -488,8 +488,13 @@ namespace ProcessHacker { if (pid != 4) { + bool isWow64 = false; + using (var phandle = new ProcessHandle(pid, Program.MinProcessQueryRights | ProcessAccess.VmRead)) { + if (OSVersion.Architecture == OSArch.Amd64) + isWow64 = phandle.IsWow64(); + phandle.EnumModules((module) => { DumpProcessModule(modules, module); @@ -516,6 +521,25 @@ namespace ProcessHacker return true; }); } + + if (isWow64) + { + try + { + using (var buffer = new ProcessHacker.Native.Debugging.DebugBuffer()) + { + buffer.Query(pid, RtlQueryProcessDebugFlags.Modules32); + + buffer.EnumModules((module) => + { + DumpProcessModule(modules, module); + return true; + }); + } + } + catch + { } + } } else {