summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/events.c16
-rw-r--r--src/main.c2
-rw-r--r--src/module.c23
3 files changed, 24 insertions, 17 deletions
diff --git a/src/events.c b/src/events.c
index e57587c..61cc9dd 100644
--- a/src/events.c
+++ b/src/events.c
@@ -1,19 +1,3 @@
-struct module modules[64U] = { 0U };
-u64 modules_list = ~0ULL;
-
-u8 add_module() {
- assert(!modules_list);
- u32 module_index = 0U;
- _BitScanForward64((unsigned long*)&module_index, modules_list);
- modules_list ^= (u64)(0x1 << module_index);
-
- return (u8)module_index;
-};
-
-void remove_module(u8 module_index) {
- modules_list |= (u64)(0x1 << (((i8)module_index) - 1U));
-}
-
void read_name_uni(const void* name_addr, const char* name, size_t name_size) {
u8* addr = NULL;
if (!read_memory(name_addr, (void*)&addr, 8U)) {
diff --git a/src/main.c b/src/main.c
index b08c378..e71b1b7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -3,7 +3,6 @@
#include <strsafe.h>
#include "types.h"
-#include "module.h"
#include "utils.c"
@@ -24,6 +23,7 @@ u8 read_memory(const void* addr, void* buffer, size_t size) {
return hr > 0 && b_read == size;
}
+#include "module.c"
#include "parser.c"
#include "pdb.c"
#include "events.c"
diff --git a/src/module.c b/src/module.c
new file mode 100644
index 0000000..8188665
--- /dev/null
+++ b/src/module.c
@@ -0,0 +1,23 @@
+struct module {
+ void* base_addr;
+ IMAGE_DOS_HEADER dos_header;
+ IMAGE_NT_HEADERS64 nt_header;
+ u8 name[256U];
+};
+
+struct module modules[64U] = { 0U };
+u64 modules_list = ~0ULL;
+
+u8 add_module() {
+// struct module* add_module() {
+ assert(!modules_list);
+ u32 module_index = 0U;
+ _BitScanForward64((unsigned long*)&module_index, modules_list);
+ modules_list ^= (u64)(0x1 << module_index);
+
+ return (u8)module_index;
+};
+
+void remove_module(u8 index) {
+ modules_list |= (u64)(0x1 << (((i8)index) - 1U));
+}