rsgit /kmemdriverA hyper-hyperfast web frontend for git repositories written in Rust.

A Windows Memory driver for game hacking purposes. Supports manual mapping with BlackBone and PastDSE.

Latest commits
CommitMessageAuthorDate
3898afcf4dREADME.md updatesegfault5 years ago
8edc06b541Merge branch 'master' of ssh://git.impl.cc:443/git/private/kmemdriversegfault5 years ago
efdfbef8a6Removed unused / unstable / untested features.segfault5 years ago
0c0143fbfaupdate README.mdToni Uhlig5 years ago
791a8c5475Removed broken and unused CheatEngineServer.segfault5 years ago

→ full history

Branches
NameTargetSubjectDate
VS-20173898afcf4dREADME.md update5 years ago
master3898afcf4dREADME.md update5 years ago
Tags
NameTargetSubjectDate
VS-2019a5d3dde5c1VS-2019 port6 years ago
README

What?

KMemDriver is a Windows 10 x64 driver designed to manipulate memory from ring0. It can also be used to manual map a user space DLL to a protected process. Communication is done through shared memory.

Dependencies

The recommended way to install all dependencies is through vs_community.exe.

HowTo

KMemDriver was designed work together with PastDSE as injector. KMemDriver supports manual mapping in terms as it does not use any kernel API that requires a legit loaded driver.

For the use with PastDSE: Make sure that KMemDriver and PastDSE have the same parent folder. With that you can just inject by executing PastDSE-Manual-Map-*.bat as Administrator.

Remember that the driver detects possible clients by their basename suffix "kmem" e.g. some-fancy-app-kmem.exe and waits until it maps the memory pages into it's address space (and responds to the handshake via mentioned shared memory). Together with a kernel EVENT and user EVENT this builds the shared memory w/ bidirectional synchronisation. Running multiple clients is not supported.

Tests

To make sure that KMemDriver works as expected you can run an integration test after injection.

Features

AntiCheat status

I've used it for EAC protected games only. If you are using only RPM and WPM (e.g. don't inject any DLL into an EAC protected processes) it may (or may not, depending on the game) not get detected (at the time of writing this). But keep in mind that manual mapped drivers (e.g. that start a system thread) and windows events (leaving traces in form of handles) is a detection vector that does not even require advanced anti cheat software for successful detection. Injecting DLL's into EAC protected processes (w/o other countermeasures) will get you banned very soon.

Contributors

As you may see, I've used some slightly modified code from BlackBone for manual DLL mapping.