Detoursnt adalah proyek sederhana dengan satu tujuan - buat jalan memutar hanya bergantung pada NTDLL.DLL tanpa modifikasi kode asli.
NTDLL.DLLRepositori ini telah melampirkan repositori git asli jalan memutar dari Microsoft sebagai submodule. Oleh karena itu, kode asli belum disentuh dengan cara apa pun.
Ketergantungan hanya ntdll telah dicapai dengan membuat detoursnt file c header yang telah termasuk kekuatan-termasuk ( /FI sakelar MSVC) ke dalam setiap unit kompilasi jalan memutar. Header mengejek fungsi KERNEL32.DLL untuk implementasi khusus yang didefinisikan dalam detoursnt.cpp.
Saya ingin mengucapkan terima kasih kepada penulis dari proyek berikut:
KERNEL32.DLLNTDLL.DLLKarena kode sumber Detours asli dilampirkan sebagai submodule Git, Anda tidak boleh lupa untuk mengambilnya:
git clone --recurse-submodules https://github.com/wbenny/DetoursNT
Setelah itu, kompilasi jalan memutar menggunakan Visual Studio 2017. File solusi disertakan. Tidak ada dependensi lain yang diperlukan.
Setelah Anda menekan F7 di Visual Studio dan membuat semuanya dikompilasi, Anda dapat memeriksa bahwa SampleHookDLL.dll memang hanya tergantung pada NTDLL.DLL :

Hooking ini hanya mengaitkan fungsi NtTestAlert untuk tujuan demonstratif. Di repositori ini ada juga proyek Sample . Satu -satunya tujuan adalah untuk memanggil LoadLibrary(TEXT("SampleHookDLL.dll")) , NtTestAlert() dan FreeLibrary() untuk menunjukkan kepada Anda bahwa kaitnya berfungsi.

Perangkat lunak ini adalah open-source di bawah lisensi MIT. Lihat file lisensi.txt di repositori ini.
Detours dilisensikan di bawah lisensi MIT (salinan lisensi termasuk dalam submodule git terpisah)
Jika Anda menganggap proyek ini menarik, Anda dapat membelikan saya kopi
BTC 3GwZMNGvLCZMi7mjL8K6iyj6qGbhkVMNMF
LTC MQn5YC7bZd4KSsaj8snSg4TetmdKDkeCYk