Giter Club home page Giter Club logo

external-process's Introduction

external-process

A framework for interacting with external Win32 processes.

Table of Contents

Repository Structure

  • /src - Source code of the framework
  • /test - Resources for writing and running tests
  • /examples - Examples of using the framework

Features

  • Read and write to an external process memory
  • Allocate and deallocate external process memory
  • Call function of an external process (currently supports cdecl, stdcall, and MSVC thiscall calling conventions)
  • Code injection using various methods
  • Search for byte sequences in external process memory using signatures

Usage

Add /src/external_process.hpp, /src/external_process.cpp to your project. Inherit from the 'ExternalProcess' class and implement the functionality you need. You can find examples of how to use the framework in the /examples directory.

Testing

The /test directory contains everything you need to write and run tests. As the primary functionality of the framework is based on the interaction between two Win32 processes, most tests require a "victim" application with which the framework will interact. For this purpose, the /test/external_process_simulator simulator is provided, which compiles into a 32-bit PE file. The test engine, tests, and auxiliary functionality are located in the /test/unit_tests directory. Tests are also compiled into a 32-bit PE file. Running this file will launch the simulator and start executing tests through interaction with it.

To run the tests, execute the make run_tests command. This will build the external process simulator (output as external_process_simulator.exe in test/external_process_simulator/bin). Next, a link to external_process_simulator.exe will be moved to test/unit_tests/bin. Afterward, test.exe will start and the tests will run. The entire process is implemented in the (Makefile)[/Makefile] located in the repository root.

Test results, including test names and passed/failed test statistics, will be displayed in the console. Additionally, upon completion, test.exe will return a value equal to the number of failed tests.

You can also run tests manually without using the Makefile. To do this, place external_process_simulator.exe and test.exe in the same directory and execute test.exe

Examples

FlatOut 2 trainer https://user-images.githubusercontent.com/46194184/233863589-82d6642b-f4a2-4b80-a6d3-7517e2dcdec8.mp4
GTA San Andreas trainer POV hack: https://user-images.githubusercontent.com/46194184/233863892-846cd69c-14e4-4293-ac94-a97a6f2ba99c.mp4

external-process's People

Contributors

ep1h avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.