aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2024-08-13 18:28:56 +0200
committerToni Uhlig <matzeton@googlemail.com>2024-08-13 18:28:56 +0200
commit125dd4fbd57ea41ba2ad85d54c9f0727e5f328c9 (patch)
tree59319ac01051ebeafd16f842376bd4183408bd0a
parent8bdef10098cbdb9f010afb68f24ca715bc4afcec (diff)
Last Hunt: Showdown update.main
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
-rw-r--r--README.md2
-rw-r--r--hunt.cpp13
2 files changed, 12 insertions, 3 deletions
diff --git a/README.md b/README.md
index 3d87666..2b1e9c5 100644
--- a/README.md
+++ b/README.md
@@ -34,4 +34,6 @@ Yet another game hack that does nothing but:
## Hunt: Showdown (ht.sys)
+This cheat won't work after 2024-08-15 (CryEngine 5.11 update).
+
* chams
diff --git a/hunt.cpp b/hunt.cpp
index c1125cf..535526a 100644
--- a/hunt.cpp
+++ b/hunt.cpp
@@ -1,3 +1,6 @@
+/*
+ * Won't work after CryEngine 5.11 update (2024-08-15)
+ */
#include <ntddk.h>
#include <EASTL/array.h>
@@ -9,6 +12,9 @@
#include "memory.hpp"
#include "stringify.hpp"
+#define STRNCMP_CR(haystack, needle) \
+ (strncmp(haystack, skCrypt(needle), sizeof(needle) - 1))
+
using namespace DriverThread;
static Thread thread;
@@ -104,7 +110,7 @@ NTSTATUS DriverEntry(_In_ struct _DRIVER_OBJECT *DriverObject,
// Offsets stolen from: https://www.unknowncheats.me/forum/3809820-post343.html
Memory memory(pep);
- auto sys_global_env = memory.Read<uint64_t>(base + 0x5EF2FA0);
+ auto sys_global_env = memory.Read<uint64_t>(base + 0x5EFCF90);
auto entity_system = memory.Read<uint64_t>(sys_global_env + 0xA8);
uint16_t number_of_objects = memory.Read<uint16_t>(entity_system + 0x4006A);
@@ -120,8 +126,9 @@ NTSTATUS DriverEntry(_In_ struct _DRIVER_OBJECT *DriverObject,
char entity_name[128] = {};
memory.ReadString<sizeof(entity_name)>(entity_name_ptr, entity_name);
- if (strncmp(entity_name, skCrypt("ShootingRange_Target"), sizeof("ShootingRange_Target") - 1) == 0 ||
- strncmp(entity_name, skCrypt("HunterBasic"), sizeof("HunterBasic") - 1) == 0) {
+ if (STRNCMP_CR(entity_name, "ShootingRange_Target") == 0 ||
+ STRNCMP_CR(entity_name, "HunterBasic") == 0)
+ {
hunters++;
auto slots_ptr = memory.Read<uint64_t>(entity + 0xA8);