Giter VIP home page Giter VIP logo

bleak's Introduction

Bleak

Build status

A Windows native DLL injection library written in C# that supports several methods of injection.


Injection Methods

  • CreateThread
  • HijackThread
  • ManualMap

Injection Extensions

  • EjectDll
  • HideDllFromPeb
  • RandomiseDllHeaders

Features

  • Optional randomise DLL name
  • x86 and x64 injection

Installation

  • Download and install Bleak using NuGet

Getting Started

After installing Bleak, you will want to ensure that your project is being compiled under AnyCPU or x64. This will ensure that you are able to inject into both x86 and x64 processes from the same project.


Useage

The example below describes a basic implementation of the library.

using Bleak;

var randomiseDllName = true;

var injector = new Injector(InjectionMethod.CreateThread, "processName", "dllPath", randomiseDllName);

// Inject the DLL into the process

var dllBaseAddress = injector.InjectDll();

// Hide the injected DLL from the PEB

injector.HideFromPeb();

// Eject the DLL from the process

injector.EjectDll();

injector.Dispose();

Overloads

Several overloads exist in this library.

The first of these allows you to use a process ID instead of a process name.

var injector = new Injector(InjectionMethod, processId, "dllPath");

The second of these allows you to use a byte array representing a DLL instead of a DLL path.

var injector = new Injector(InjectionMethod, "processName", dllBytes);

Caveats

  • Injecting with a byte array will result in the provided DLL being written to disk in the temporary folder, unless the method of injection is ManualMap.

  • x86 ManualMap relies on a PDB being present for ntdll.dll, and so, the first time this method is used with a x86 process, a PDB for ntdll.dll will be downloaded and cached in the temporary folder. Note that anytime your system updates, a new PDB version may need to be downloaded and re-cached in the temporary folder. This process make take a few seconds depending on your connection speed.


Contributing

Pull requests are welcome.

For large changes, please open an issue first to discuss what you would like to add.

bleak's People

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.