summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2026-07-12 23:26:58 +0200
committerladevieq <ladevie.quentin@gmail.com>2026-07-12 23:26:58 +0200
commitcee4c6d1c8cbf898d6aa9ad555d8dfcece4c7d96 (patch)
treea5c9710ca65e4bc1183d365a013d4494882e0eb3 /include
parent7b6964eb1bcf30a0ae7ed3391adce30565b262b4 (diff)
Fix runtime crashes due to loaded functions
Diffstat (limited to 'include')
-rw-r--r--include/funcs.h5
-rw-r--r--include/utils.h4
-rw-r--r--include/win_funcs.h8
3 files changed, 12 insertions, 5 deletions
diff --git a/include/funcs.h b/include/funcs.h
index 7661539..8ed5cf1 100644
--- a/include/funcs.h
+++ b/include/funcs.h
@@ -31,5 +31,6 @@ KERNEL32(CompareStringA)
KERNEL32(CloseHandle)
-KERNEL32(memset)
-KERNEL32(memcpy)
+NTDLL(RtlFillMemory)
+NTDLL(RtlZeroMemory)
+NTDLL(RtlCopyMemory)
diff --git a/include/utils.h b/include/utils.h
index 24083cf..e84653f 100644
--- a/include/utils.h
+++ b/include/utils.h
@@ -14,6 +14,8 @@
#define INFINITE 0xFFFFFFFF // Infinite timeout
+#define SUCCEEDED(hr) (((i32)(hr)) >= 0)
+
extern void print(const char* format, ...);
extern u8 is_alpha(char c);
@@ -22,7 +24,7 @@ extern u8 is_decimal_digit(char c);
extern u8 is_hexadecimal_digit(char c);
-extern size_t str_len(const char* str, size_t max_size);
+extern size_t str_len(const char* str);
extern void str_cat(char* out, const char* str, size_t c_str);
diff --git a/include/win_funcs.h b/include/win_funcs.h
index 9ea4510..59f395d 100644
--- a/include/win_funcs.h
+++ b/include/win_funcs.h
@@ -384,8 +384,9 @@ typedef u32(*PFN_GetFinalPathNameByHandleA)(void*, i8*, u32, u32);
typedef i32(*PFN_CloseHandle)(void*);
-typedef i32(*PFN_memset)(void*, void*, size_t, char);
-typedef i32(*PFN_memcpy)(void*, void*, size_t);
+typedef i32(*PFN_RtlFillMemory)(void*, size_t, int);
+typedef i32(*PFN_RtlZeroMemory)(void*, size_t);
+typedef i32(*PFN_RtlCopyMemory)(void*, const void*, size_t);
// ==========================
// ====== Funcs extern ======
@@ -394,8 +395,11 @@ typedef i32(*PFN_memcpy)(void*, void*, size_t);
extern PFN_##name name;
#define KERNEL_BASE(name) \
extern PFN_##name name;
+#define NTDLL(name) \
+ extern PFN_##name name;
#include "funcs.h"
+#undef NTDLL
#undef KERNEL_BASE
#undef KERNEL32