Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/EquiFox/KsDumper
Browse files Browse the repository at this point in the history
  • Loading branch information
EquiFox committed Feb 16, 2019
2 parents 7c7d8a4 + 2adc7fe commit 2eed060
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# KsDumper
![Demo](https://i.imgur.com/6XyMDxa.gif)

I always had an interest in reverse engineering. A few days ago I wanted to look at some game internals for fun, but it was packed & protected by EAC (EasyAntiCheat).
This means its handle were stripped and I was unable to dump the process from Ring3. I decided to try to make a custom driver that would allow me to copy the process memory without using OpenProcess.
I knew nothing about Windows kernel, PE file structure, so I spent a lot of time reading articles and forums to make this project.

## Features
- Dump any process main module using a kernel driver (both x86 and x64)
- Rebuild PE32/PE64 header and sections
- Works on protected system processes & processes with stripped handles (anti-cheats)

**Note**: Import table isn't rebuilt.

## Usage
Before using KsDumperClient, the KsDumper driver needs to be loaded.

It is unsigned so you need to load it however you want. I'm using drvmap for Win10.
Everything is provided in this release if you want to use it aswell.

- Run `Driver/LoadCapcom.bat` as Admin. Don't press any key or close the window yet !
- Run `Driver/LoadUnsignedDriver.bat` as Admin.
- Press enter in the `LoadCapcop` cmd to unload the driver.
- Run `KsDumperClient.exe`.
- Profit !

**Note**: The driver stays loaded until you reboot, so if you close KsDumperClient.exe, you can just reopen it !
**Note2**: Even though it can dump both x86 & x64 processes, this has to run on x64 Windows.

## Disclaimer
This project was a way for me to learn about Windows kernel, PE file structure and kernel-user space interactions. It has been made available for informational and educational purposes only.

Considering the nature of this project, it is highly recommended to run it in a `Virtual Environment`. I am not responsible for any crash or damage that could happen to your system.

**Important**: This tool makes no attempt at hiding itself. If you target protected games, the anti-cheat might flag this as a cheat and ban you after a while. Use a `Virtual Environment` !

## References
- https://github.com/not-wlan/drvmap
- https://github.com/Zer0Mem0ry/KernelBhop
- https://github.com/NtQuery/Scylla/
- http://terminus.rewolf.pl/terminus/
- https://www.unknowncheats.me/

## Compile Yourself
- Requires Visual Studio 2017
- Requires Windows Driver Kit (WDK)
- Requires .NET 4.6.1

0 comments on commit 2eed060

Please sign in to comment.