Chamd (stands for "Chameleon DBK64")
Modified Cheat Engine DBK64 kernel driver
DBK64.sys
on anti-cheat protected system.
The purpose of this project is to enable usage of Cheat Engine kernel mode driver It was tested using
It could also work with a lot of other anti-cheats, but it's up to you to figure it out.
Current version is based on Cheat Engine version 7.4
It works! Robocraft is EAC protected
0. Disclaimer
Even if you've managed to use this driver successfully it doesn't mean you will not be suspected in cheating. Usage of this software or following instructions from this document and all the consequences of it are totally on you.
Also please note that following these instructions ENDANGERS YOUR SYSTEM TO VULNERABILITIES in one way or the other.
1. Get your driver
You can download the precompiled version here.
This option is perfect for you if you'd like to start fast. However this option is not recommended because there is probability that publicly available driver was already flagged by anti-cheat system. For advanced setup refer to section 6. However it is not necessary at the moment, because zip archive has 1000 drivers. You can pick any.
Copy all 4 files from archive to directory where cheatengine-x86_64.exe
is located.
You'll need to use Cheat Engine 7.4.
2. Bypass Digital Singature Enforcement
Now you have driver signed with untrusted certificate. You have a few options to load it. In this section the method involving bypass of Patchguard and Digital Signature Enforcement will be explained. Refer to section 7 for some extra methods.
2.1. Create bootable usb drive for digital signature enforcement bypass.
2.1.1. Download and extract archive.
2.1.2. Mount you usb drive. 2GB drive is more than enough.
2.1.3. Format your usb drive as FAT32
. BE CAREFULL TO FORMAT CORRECT DEVICE!!!
2.1.4. Partition your device as bootable GPT
with EFI
partition.
BE CAREFULL TO PARTITION CORRECT DEVICE!!!
Open command prompt as administrator.
diskpart
list disk // detect your USB drive
select disk {put number of your USB drive here} // SELECTING CORRECT DISK!!!
list disk // make sure correct disk is selected
clean // wipe out your drive
create partition primary size=512 // create EFI partition
list partitions // created partition shoud be displayed
select partition 1 // select created partition
active // mark partition as active
format quick fs=fat32 // create filesystem
assign // disk should be mounted
exit
2.1.5. Copy files to USB drive
Copy EFI
directory from archive to the root of your newly created partition.
2.1.6. Rename bootloader
Copy and paste EFI\Boot\Loader.efi
, than rename it to EFI\Boot\bootx64.efi
.
2.2. Boot up your system using USB drive.
Set up your UEFI to boot from USB drive as first option, second option should be your Windows drive. Also don't forget to disable Secure Boot since EFIGuard is not signed.
2.3. Copy files for digital signature enforcement bypass
2.3.1. Create run.bat
in the directory where cheatengine-x86_64.exe
located
"%~dp0\EfiDSEFix.exe" -d
start /d "%~dp0" cheatengine-x86_64.exe
timeout /t 20
"%~dp0\EfiDSEFix.exe" -e
2.3.2. Copy EfiDSEFix.exe
from the archive to the directory where cheatengine-x86_64.exe
located.
3. Configure Cheat Engine
Make sure that
Edit
> Settings
> Extra
> Query memory region routines
is checked
Edit
> Settings
> Extra
> Read/Write process memory
is checked
Click OK
.
It might end up with errors. Close Cheat Engine.
4. Run Cheat Engine.
If you followed section 2:
Run run.bat
as Administrator.
Do not close popped out window manually!!! Wait for it to close itself.
Once driver was loaded into memory it's enough to run cheatengine-x86_64.exe
instead of run.bat
.
If you followed section 7:
Run cheatengine-x86_64.exe
5. Congratulations
Now you have loaded DBK64 driver signed with untrusted certificate. Kernel mode anticheat will allow to start game and make operations on game memory (last tested on EAC 05/15/2022).
6. [Extra] Compile the driver from source (recommended)
Anti-cheat systems collect suspicious drivers' signature to block them. One way this could work is when particular driver gets used by few users (of course there's more to anti-cheat systems). To address this issue it's recommended to compile you own version of driver with unique signature.
Note: use PowerShell or Cmder
6.1. Clone this repository
git clone https://github.com/dmarov/chamd.git
cd chamd
6.2. Install nodejs. Version 19.1.0
is recommended.
6.3. Install packages
npm install
6.4. Copy .env.tpl
to .env
6.5. You may set CHAMD_DBK_DRIVER_NAME
in .env
to whatever name you wish.
Just use your I-M-A-G-I-N-A-T-I-O-N.
6.6. Install Visual Studio (community or enterprise). This project is based on Visual Studio 2019.
6.7. Install MSVC (C/C++ compiler). You can install it by adding the Visual Studio
additional package Desktop development with C++
.
6.8. Also you'll need to install WDK (Windows Driver Kit) Follow the instructions from the link.
6.9. Install openssl. The least complex way is to use Chocolatey.
choco install openssl
This command needs to be performed as admin
6.10. Run build
npm run all
Note:
You can use EV certificate to sign driver. You could skip digital signature enforcement bypass this way. It's not cheap though and certificate can be revoked.
6.11. Copy all 4 files from 'dist' directory to directory where cheatengine-x86_64.exe
is located.
You'll need to use Cheat Engine 7.4.
6.12. If you've managed to compile this driver successfully and want to share few
randomized copies then run npm run multibuild 10
. dist
directory will
contain 10
randomized drivers.
Then go to section 2.
7. [Extra] Other methods of dealing with Digital Signature Enforcement
7.1. enable test signing (recommended for testing purposes only)
Open command prompt as Administrator
bcdedit /set testsigning on
System needs reboot in order for this command to take effect.
Then go to section 3.
Note:
This option won't work with anticheat, obviously, but is very useful if you just want to test driver loading. Don't forget to disable it when you're done testing.
bcdedit /set testsigning off
DSEFix (deprecated)
7.2. useIt should work, but it's not recommended in favor of method explained in section 2.
Please note that THIS METHOD IS DEPRECATED AND CAN CAUSE OCCASIONAL 'BLUE SCREENS OF DEATH'.
Then go to section 3.