From 72f8efd2f571e98796c0953066cbe8c461ccd666 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Tue, 26 Nov 2024 22:36:04 +0100 Subject: Put module.h content in module.c --- src/module.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/module.c (limited to 'src/module.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)); +} -- cgit v1.3