Skip to content
This repository has been archived by the owner on Nov 20, 2018. It is now read-only.

Old, unused fork for the CoreHook Windows Function Intercept Module

License

Notifications You must be signed in to change notification settings

unknownv2/CoreHook.Hooking-old-fork

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CoreHook Windows Hooking Module

Build status

For CoreHook, the Microsoft Detours package serves as a good binary hooking module since it supports x86, x86_64, ARM, and ARM64, while EasyHook only supports x86 and x86_64. Since .NET Core supports the two ARM architectures, we can implement the necessary changes to support those architectures for CoreHook.

Supported Platforms

X86, X64, and ARM have all been tested and work, but I do not have a Windows on ARM device to test ARM64 support with. If you have one to loan, let me know, otherwise, I will wait for a price drop.

Building

Building the DLL requires Visual Studio and there are two options: You can build the DLL by using the Visual Studio IDE or nmake (it has been tested with Visual Studio 2017 only).

Visual Studio

You can find the Visual Studio solution in the msvc folder. You can choose a configuration (Debug or Release) and a target platform (X86, X64, ARM, ARM64) and build.

NMAKE

You can find the build environments for your Visual Studio installation normally at C:\Program Files (x86)\Microsoft Visual Studio\2017\[ProductType]\VC\Auxiliary\Build, where [ProductType] is your version of Visual Studio: (Community, Professional, or Enterprise).

X86

  • Start the vcvars32.bat. Then cd to the CoreHook.Hooking directory, and run:
nmake DETOURS_TARGET_PROCESSOR=X86

X64

  • For X64, start the vcvars64.bat. Then cd to the CoreHook.Hooking directory, and run:
nmake DETOURS_TARGET_PROCESSOR=X64

ARM

  • For ARM, start the vcvarsx86_arm.bat. Then cd to the CoreHook.Hooking directory, and run:
nmake DETOURS_TARGET_PROCESSOR=ARM

ARM64 (Unsupported, for future reference)

  • For ARM64, start the vcvarsamd64_arm64.bat. Then cd to the CoreHook.Hooking directory, and run:
nmake DETOURS_TARGET_PROCESSOR=ARM64

Usage

  • For X86, the output directory is bin.X86 and the output file is corehook32.dll.
  • For X64, the output directory is bin.X64 and the output file is corehook64.dll.
  • For ARM, the output directory is bin.ARM and the output file is corehook32.dll.
  • For ARM64, the output directory is bin.ARM64 and the output file is corehook64.dll.

Copy the desired file for your target architecture to the output directory of the program that uses CoreHook.

Original Licenses

Packages

No packages published

Languages

  • C++ 93.5%
  • Makefile 3.2%
  • Assembly 3.1%
  • C 0.2%