diff options
Diffstat (limited to 'client/src/util/util.cpp')
| -rw-r--r-- | client/src/util/util.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/client/src/util/util.cpp b/client/src/util/util.cpp index fab886e..7103604 100644 --- a/client/src/util/util.cpp +++ b/client/src/util/util.cpp @@ -56,11 +56,13 @@ bool util::close_handle(HANDLE handle) { } -void pe::get_all_modules(std::unordered_map<std::string, virtual_image>& modules) { +bool pe::get_all_modules(std::unordered_map<std::string, virtual_image>& modules) { + modules.clear(); + auto peb = util::peb(); - if (!peb) return; + if (!peb) return false; - if (!peb->Ldr->InMemoryOrderModuleList.Flink) return; + if (!peb->Ldr->InMemoryOrderModuleList.Flink) return false; auto* list = &peb->Ldr->InMemoryOrderModuleList; @@ -74,4 +76,6 @@ void pe::get_all_modules(std::unordered_map<std::string, virtual_image>& modules modules[name] = virtual_image(entry->DllBase); } + + return !modules.empty(); }
\ No newline at end of file |