MCPcopy Create free account
hub / github.com/armvirus/SinMapper

github.com/armvirus/SinMapper @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
60 symbols 112 edges 12 files 2 documented · 3% updated 4y ago★ 499

Browse by type

Functions 48 Types & classes 12
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SinMapper

usermode driver mapper that forcefully loads any signed kernel driver (legit cert) with a big enough section (example: .data, .rdata) to map your driver over. the main focus of this project is to prevent modern anti-cheats (BattlEye, EAC) from finding your driver and having the power to hook anything and create system threads / callbacks due to being inside of legit memory (signed legit driver).

Procedure

  1. The usermode program loads a signed driver of your choice (signed with any valid cert, example: microsoft, intel, etc...)
  2. Loads vulnerable driver to read/write physical memory which is needed for syscalls. credits: vdm (xerox)
  3. Changes the executable and writable bit of the page tables of the pe section of your choice where the wanted driver is going to be mapped.
  4. All traces of the vulnerable driver are cleared including MmUnloadedDrivers list and PiddbCacheTable
  5. The driver is mapped in the wanted pe section and the entry is called through syscalls.

Requirements

Your driver needs an entry like the example driver:

NTSTATUS DriverEntry(std::uintptr_t mappedImageBase, std::size_t mappedImageSize)
{
    DebugPrint("Example Driver Mapped [%p] w/ Size [0x%x]\n", mappedImageBase, mappedImageSize);

    return STATUS_SUCCESS;
}

The current example passes a structure with the image base and size of the mapped driver but it can be modified to your own liking.

DbgView Example

The project has been tested on Windows 10 20H2, 21H1, 21H2 & Windows 11

Usage

sinmapper.exe driver.sys signed_driver.sys .section_name

Core symbols most depended-on inside this repo

Shape

Function 37
Class 11
Method 11
Enum 1

Languages

C++100%

Modules by API surface

SinMapper/SinMapper/util/util.hpp19 symbols
SinMapper/SinMapper/vdm/vdm.hpp7 symbols
SinMapper/SinMapper/vdm_ctx/vdm_ctx.hpp6 symbols
SinMapper/SinMapper/vdm_ctx/vdm_ctx.cpp6 symbols
SinMapper/SinMapper/util/nt.hpp6 symbols
SinMapper/SinMapper/util/loadup.hpp6 symbols
SinMapper/SinMapper/drv_image/drv_image.cpp5 symbols
SinMapper/SinMapper/drv_image/drv_image.hpp3 symbols
SinMapper/SinMapper/main.cpp1 symbols
SinDriverExample/SinExampleDriver/Main.cpp1 symbols

For agents

$ claude mcp add SinMapper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page