Coder Social home page Coder Social logo

asdlei99 / splendid_implanter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from haram/splendid_implanter

0.0 1.0 0.0 373 KB

BattlEye compatible injector, done completely from user-mode, project by secret.club

Home Page: https://secret.club

License: Apache License 2.0

C++ 98.77% Batchfile 1.23%

splendid_implanter's Introduction

Splendid Implanter

BattlEye compatible injector, done completely from user-mode.

There is a more detailed write-up at: https://secret.club/2020/02/26/be_umode.html

Usage

  1. Run build.bat (this will only work for VS19, or VS17)
  2. Start an elevated commandline
  3. Go to the x64/Release directory
  4. splendid_implanter.exe dll_name window_class

In this case: splendid_implanter.exe splendid_implant.dll R6Game

To find the window's class name, use WinLister.

Details

This exploits a flaw in the user-mode component of BattlEye that should've never even existed to begin with.

By hooking CreateFileW, and checking if the lpFileName parameter contains our file's name then manipulating it to believe that Kernel32.dll is being loaded, we pass their dll checks and land our module inside of it as if it's a legitimate module.

The name is a play on Perfect Injector, don't mind that.

Example

Every injectable library must have an export called "wnd_hk" that handles the WH, then calls the next in queue.

extern "C" __declspec( dllexport )
LRESULT wnd_hk( int32_t code, WPARAM wparam, LPARAM lparam )
{
	// handle race condition from calling hook multiple times
	static auto done_once = false;

	const auto pmsg = reinterpret_cast< MSG* >( lparam );

	if ( !done_once && pmsg->message == 0x5b0 )
	{
		UnhookWindowsHookEx( reinterpret_cast< HHOOK >( lparam ) );
		
		// initialization here
		
		done_once = true;
	}

	// call next hook in queue
	return CallNextHookEx( nullptr, code, wparam, lparam );
}

splendid_implant is a ready-to-inject example for R6:S that'll enable player icons once in-game.

Features

support for:

  • thread creation
  • seh, c++ exceptions
  • raw detouring without any tricks
  • doing literally anything you want

Credits

DefCon42, drew79, Brit

splendid_implanter's People

Contributors

mrexodia avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.