All Projects → wbenny → Detoursnt

wbenny / Detoursnt

Licence: mit
Detours with just single dependency - NTDLL

Projects that are alternatives of or similar to Detoursnt

RemoteAssistance-JAVA
RemoteControl like TeamViewer(JAVA)
Stars: ✭ 28 (-91.08%)
Mutual labels:  hooking
Simplified-JNA
Multi-threaded JNA hooks and simplified library access to window/key/mouse functions.
Stars: ✭ 30 (-90.45%)
Mutual labels:  hooking
Vutils
Vutils or Vic Utilities is an utility library written in Modern C++ and for Modern C++. It helps your programming go easier, faster, and simpler.
Stars: ✭ 16 (-94.9%)
Mutual labels:  hooking
dll injector
A simple commandline injector using classic DLL injection
Stars: ✭ 81 (-74.2%)
Mutual labels:  hooking
hookey
Enables all the DLCs. Like Creamapi but just for linux and a subset of Paradox games.
Stars: ✭ 87 (-72.29%)
Mutual labels:  hooking
SnifferIH
DLL Hooking Packet Sniffer
Stars: ✭ 15 (-95.22%)
Mutual labels:  hooking
subhook.nim
subhook wrapper for Nim https://github.com/Zeex/subhook
Stars: ✭ 15 (-95.22%)
Mutual labels:  hooking
detours
Detours lib that I use
Stars: ✭ 56 (-82.17%)
Mutual labels:  hooking
singlefile
featured cs:go internal hack, one file and less than 1000 lines.
Stars: ✭ 47 (-85.03%)
Mutual labels:  hooking
cute
An event-centric publisher/subscribe model for objects inspired by the Qt framework
Stars: ✭ 37 (-88.22%)
Mutual labels:  hooking
hooking
Resources About Hooking. For All Platforms. Currently 300+ Tools And 600+ Posts.
Stars: ✭ 212 (-32.48%)
Mutual labels:  hooking
RedditVanced
Reddit Android app mod inspired by Aliucord
Stars: ✭ 41 (-86.94%)
Mutual labels:  hooking
whoof
Web Browser Hooking Framework. Manage, execute and assess web browser vulnerabilities
Stars: ✭ 24 (-92.36%)
Mutual labels:  hooking
hook-any-text
The goal of this project is to provide an alternative to well established text hookers, whose features are restrained to a certain number of game engines and emulators.
Stars: ✭ 51 (-83.76%)
Mutual labels:  hooking
small-gd-mods
small collection of mods for geometry dash
Stars: ✭ 39 (-87.58%)
Mutual labels:  hooking
bank mitigations
Anti keylogger, anti screen logger... Strategy to protect with hookings or improve your sandbox with spyware detection... - Demo
Stars: ✭ 17 (-94.59%)
Mutual labels:  hooking
RenHook
An open-source x86 / x86-64 hooking library for Windows.
Stars: ✭ 80 (-74.52%)
Mutual labels:  hooking
Teamviewer permissions hook v1
A proof of concept injectable C++ dll, that uses naked inline hooking and direct memory modification to change your TeamViewer permissions.
Stars: ✭ 297 (-5.41%)
Mutual labels:  hooking
dllhook
A tool for hooking Windows applications and jumping to your Python code with the injected Python interpreter
Stars: ✭ 20 (-93.63%)
Mutual labels:  hooking
hookwin10calc
Reverse engineered Windows 10 Calculator.exe (UWP application) hacker. 한글/漢文을 배운 윈도우 계산기 패치.
Stars: ✭ 19 (-93.95%)
Mutual labels:  hooking

DetoursNT

DetoursNT is a simple project with one goal - make Detours dependent only on NTDLL.DLL without any modifications of the original code.

Why?

  • Because this way you can hook native processes.
  • Because this way you can load your hooking library right after load of NTDLL.DLL
    • This can be achieved in many ways - for example using Windows Driver via so-called APC injection. You can look at my project injdrv to get an idea about how is this done.

How?

This repository has attached original git repository of Detours from Microsoft as a submodule. Therefore, the original code hasn't been touched in any way.

NTDLL-only dependency been achieved by creating a C header file DetoursNT.h which has been force-included (/FI switch of MSVC) into every compilation unit of Detours. This header mocks functions of KERNEL32.DLL to custom implementation defined in DetoursNT.cpp.

I'd like to thank authors of following projects:

  • ReactOS - used for implementation of KERNEL32.DLL functions
  • ProcessHacker - used for prototypes of NTDLL.DLL functions

Compilation

Because original Detours source code is attached as a git submodule, you must not forget to fetch it:

git clone --recurse-submodules https://github.com/wbenny/DetoursNT

After that, compile DetoursNT using Visual Studio 2017. Solution file is included. No other dependencies are required.

Usage

After you hit F7 in Visual Studio and have everything compiled, you can check that SampleHookDLL.dll indeed depends only on NTDLL.DLL:

Dependency Walker

This hooking DLL only hooks NtTestAlert function for demonstrative purposes. In this repository there is also Sample project. It's only purpose is to call LoadLibrary(TEXT("SampleHookDLL.dll")), NtTestAlert() and FreeLibrary() to show you that the hook is working.

Sample

Remarks

  • This implementation intentionally crashes on SEH exceptions which occur inside of Detours. This is because SEH handlers are usually located in CRT (which is ommited here).
  • Supported architectures are: x86, x64, ARM (32-bit) and ARM64.

License

This software is open-source under the MIT license. See the LICENSE.txt file in this repository.

Detours is licensed under MIT license (a copy of the license is included in separate git submodule)

If you find this project interesting, you can buy me a coffee

  BTC 3GwZMNGvLCZMi7mjL8K6iyj6qGbhkVMNMF
  LTC MQn5YC7bZd4KSsaj8snSg4TetmdKDkeCYk
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].