Microsoft Detours는 마이크로소프트 윈도우에서 API 호출을 가르챌 수 있게 해주는 라이브러리로 과거엔 x86
은 무료 x64
는 유료로 제공되었으나 오픈소스로 전환하여 사용할 수 있게 되었습니다.
관련해서 정성태님의 오래전 글을 살펴볼 수 있습니다.
VC++: 36. Detours 라이브러리를 이용한 Win32 API - Sleep 호출 가로채기 (sysnet.pe.kr)
개발 환경 구성: 419. MIT 라이선스로 무료 공개된 Detours API 후킹 라이브러리 (sysnet.pe.kr)
.NET에서 Detours를 쉽게 사용할 수 있도록 도와주는 detours.net도 있는데요,
citronneur/detours.net: Hook native API with C# (github.com)
문서 안내를 따라 cmake
를 했는데 잘 안되더군요. 다음과 같이 하면 빌드가 됩니다. (아마 저자의 실수 인 듯)
git clone https://github.com/citronneur/detours.net
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A x64 ..
저의 경우 Visual Studio 16 2019
를 선택했고 2017의 경우,
cmake -G "Visual Studio 15 2017 Win64" ..
하시면 됩니다.