aboutsummaryrefslogtreecommitdiff
path: root/client/src/util/util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/util/util.cpp')
-rw-r--r--client/src/util/util.cpp10
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