|
| 1 | +<a id="readme-top"></a> |
| 2 | + |
| 3 | + |
| 4 | +<h1 align="center">Thread Hijacking</h3> |
| 5 | + <p align="center"> |
| 6 | + This is a simple program that hijacks the main thread of another process on Windows 11. This type of program can be used for malware development, anti-cheat bypassing, and much more. :) |
| 7 | + </p> |
| 8 | +</div> |
| 9 | + |
| 10 | +![AssaultCubeDMA][product-screenshot] |
| 11 | + |
| 12 | +<!-- ABOUT THE PROJECT --> |
| 13 | +## About The Project |
| 14 | + |
| 15 | +This program took me around four days to complete; I mainly used ressources from the internet, and the <a href="https://en.wikipedia.org/wiki/Windows_API" target="_blank">Windows API</a> |
| 16 | + |
| 17 | +// ADD THE VIDEO HERE |
| 18 | + |
| 19 | + |
| 20 | +### Built With |
| 21 | + |
| 22 | +* [](https://en.wikipedia.org/wiki/C_(programming_language)) |
| 23 | +* [](https://fr.wikipedia.org/wiki/Microsoft_Visual_Studio) |
| 24 | +* [](https://en.wikipedia.org/wiki/Windows_11) |
| 25 | + |
| 26 | +<p align="right">(<a href="#readme-top">back to top</a>)</p> |
| 27 | + |
| 28 | +<!-- GETTING STARTED --> |
| 29 | +## Getting Started |
| 30 | + |
| 31 | +<br> |
| 32 | + |
| 33 | +> [!WARNING] |
| 34 | +> This project requires a Direct Memory Access (DMA) card to operate. |
| 35 | +
|
| 36 | +<br> |
| 37 | + |
| 38 | +### No Compilation Needed |
| 39 | + |
| 40 | +1. Download from Releases |
| 41 | + ```sh |
| 42 | + Download CompiledCheat.zip from the Releases tab of the Repository |
| 43 | + ``` |
| 44 | +2. Extract the .zip |
| 45 | + ```sh |
| 46 | + Extract the CompiledCheat.zip archive |
| 47 | + ``` |
| 48 | +3. Enjoy ! |
| 49 | + ``` |
| 50 | + Start AssaultCube and run AssaultCubeDMA.exe |
| 51 | + ``` |
| 52 | + |
| 53 | +### Installation & Compilation |
| 54 | + |
| 55 | +1. Clone the repo |
| 56 | + ```sh |
| 57 | + git clone https://github.com/1337Corporation/AssaultCubeDMA.git |
| 58 | + ``` |
| 59 | +2. Build DMALibrary (Release) |
| 60 | + ```sh |
| 61 | + Open DMALibrary.sln change the configuration to Release and build it |
| 62 | + ``` |
| 63 | +3. Build AssaultCubeDMA (Debug) |
| 64 | + ```sh |
| 65 | + Open AssaultCubeDMA.sln keep the Debug config and build it. |
| 66 | + ``` |
| 67 | +4. Add MemProcFS binaries |
| 68 | + ```sh |
| 69 | + Download MemProcFS binaries from Releases tab of the Repo |
| 70 | + ``` |
| 71 | +5. Navigate to x64/Debug directory |
| 72 | + ```sh |
| 73 | + cd AssaultCubeDMA\AssaultCubeDMA\x64\Debug |
| 74 | + ``` |
| 75 | +6. Extract all binaries |
| 76 | + ```sh |
| 77 | + Extract all binaries at the root of directory (not inside a MemProcFS directory) |
| 78 | + ``` |
| 79 | +7. Enjoy ! |
| 80 | + ```sh |
| 81 | + Start AssaultCube and run AssaultCubeDMA.exe |
| 82 | + ``` |
| 83 | + |
| 84 | +<p align="right">(<a href="#readme-top">back to top</a>)</p> |
| 85 | + |
| 86 | +<!-- ROADMAP --> |
| 87 | +## Roadmap |
| 88 | + |
| 89 | +1. **Reverse Engineering AssaultCube** |
| 90 | + - Used IDA Pro and other tools to analyze AssaultCube's memory structure and game logic. |
| 91 | + - Identified player, entity, and game state addresses. |
| 92 | + |
| 93 | +2. **Researching DMA Techniques** |
| 94 | + - Studied DMA hardware and external memory access methods. |
| 95 | + - Selected compatible DMA cards and libraries (e.g., DMALibrary, MemProcFS). |
| 96 | + |
| 97 | +3. **Setting Up the DMA Environment** |
| 98 | + - Integrated DMALibrary for low-level memory access. |
| 99 | + - Verified communication between DMA card and target system. |
| 100 | + |
| 101 | +4. **Implementing Memory Reading/Writing** |
| 102 | + - Developed C++ classes to read/write game memory externally. |
| 103 | + - Ensured safe and reliable access to game data structures. |
| 104 | + |
| 105 | +5. **Building ESP Features** |
| 106 | + - Coded basic ESP overlays (player positions, boxes, etc.) using ImGui for rendering. |
| 107 | + - Linked ESP data to real-time memory reads. |
| 108 | + |
| 109 | +6. **Testing and Debugging** |
| 110 | + - Ran the cheat alongside AssaultCube, iteratively fixing bugs and improving stability. |
| 111 | + - Used debug builds and logging for troubleshooting. |
| 112 | + |
| 113 | +7. **Packaging and Documentation** |
| 114 | + - Created build scripts and release instructions. |
| 115 | + - Documented setup, usage, and technical details in the README. |
| 116 | + |
| 117 | +<p align="right">(<a href="#readme-top">back to top</a>)</p> |
| 118 | + |
| 119 | +<!-- LICENSE --> |
| 120 | +## License |
| 121 | + |
| 122 | +Distributed under the MIT License. See `LICENSE.txt` for more information. |
| 123 | + |
| 124 | +<p align="right">(<a href="#readme-top">back to top</a>)</p> |
| 125 | + |
| 126 | +<!-- ACKNOWLEDGMENTS --> |
| 127 | +## Acknowledgments |
| 128 | + |
| 129 | +* [DMALibrary](https://github.com/Metick/DMALibrary) |
| 130 | +* [MemProcFS (this guy is too good...)](https://github.com/ufrisk/MemProcFS) |
| 131 | +* [UnknownCheats](https://www.unknowncheats.me/forum/index.php) |
| 132 | +* [IDA CheatSheet](https://malwareunicorn.org/workshops/idacheatsheet.html) |
| 133 | +* [Brain (mine)](https://en.wikipedia.org/wiki/Brain) |
| 134 | +* [ImGui (UI & Rendering)](https://github.com/ocornut/imgui) |
| 135 | +<p align="right">(<a href="#readme-top">back to top</a>)</p> |
| 136 | + |
| 137 | + |
| 138 | + |
| 139 | +<!-- MARKDOWN LINKS & IMAGES --> |
| 140 | +[product-screenshot]: Images/diagram.png |
0 commit comments