danielkrupinski / VAC-Bypass

Valve Anti-Cheat bypass written in C.
MIT License
546 stars 103 forks source link
anticheat anticheat-bypass counter-strike csgo reverse-engineering steam vac vac-bypass vac-error valve valve-anti-cheat

VAC Bypass

Valve Anti-Cheat bypass written in C.

Getting started

Prerequisites

Microsoft Visual Studio 2019 (preferably latest version i.e. 16.2.5), platform toolset v142 and Windows SDK 10.0 are required in order to compile VAC Bypass. If you don't have ones, you can download VS here (Windows SDK is installed during Visual Studio Setup).

Cloning

The very first step in order to compile VAC Bypass is to clone this repo from GitHub to your local computer. Git is required to step futher, if not installed download it here. Open git bash / git cmd / cmd and enter following command:

git clone https://github.com/danielkrupinski/VAC-Bypass.git

VAC-Bypass folder should have been succesfully created, containing all the source files.

Compiling from source

When you have equiped a copy of source code, next step is opening VAC-Bypass.sln in Microsoft Visual Studio 2019.

Then change build configuration to Release | x86 and simply press Build solution.

If everything went right you should receive VAC-Bypass.dll binary file.

Loading

It is mandatory to strictly follow each step of loading in order to make bypass work.

Method 1:

  1. Close Steam client if open.
  2. Disconnect from the internet.
  3. Run Steam as Administrator.
  4. Inject VAC-Bypass.dll into Steam.exe process.
  5. After successful injection messagebox saying Initialization was successful! should appear.
  6. Reconnect to the internet.
  7. Press Retry in steam window saying 'Could not connect to Steam servers'.

Method 2:

  1. Close Steam client if open.
  2. Compile and run VAC Bypass Loader

Experiment

Bypass has been tested with CS:GO game and Cheat Engine cheating program attached to the game process.

Without bypass:

With bypass:

How it works

The goal is to make https://github.com/danielkrupinski/VAC/blob/2eeb40e38d0f0d7b828dbacb663ee00aef15c1ca/VAC/Utils.c#L187 function return false then VAC aborts scan for cheats. It can be done by bypassing this check for example.

See also

License

Copyright (c) 2019 Daniel Krupiński

This project is licensed under the MIT License - see the LICENSE file for details.