Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DotNetHookerToolkit — أداة حقن تستند إلى Frida ومجموعة أدوات ربط الأساليب المُدارة لـ .NET Framework لتتبع وقت التشغيل، وحل نقاط الدخول الأصلية، والتحليل الديناميكي لعمليات Windows. | Kitploit
أدوات/GitHubGitHub/sensepost/dotnethookertoolkit
التحليل الديناميكي (عزل)تحليل الكودالاستغلالالهندسة العكسيةمصممي الأخطاءاختبار الاختراقتحليل الملفات الثنائية
GitHubsensepost/dotnethookertoolkit

DotNetHookerToolkit

أداة حقن تستند إلى Frida ومجموعة أدوات ربط الأساليب المُدارة لـ .NET Framework لتتبع وقت التشغيل، وحل نقاط الدخول الأصلية، والتحليل الديناميكي لعمليات Windows.

عرض المستودع
11منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

InjectorCli + ManagedHookHostProj

يحتوي هذا المستودع على مشروعين مصممين للاستخدام معًا:

  • InjectorCli: أداة حقن وحدة تحكم .NET Framework 4.8 مبنية على frida-clr (Frida.dll)
  • ManagedHookHostProj: مكتبة DLL مساعدة .NET Framework 4.8 تحتوي على تصديرات أصلية (عبر 3F .NET DllExport) تُستخدم لحل الطرق المُدارة إلى نقاط دخول أصلية ليتمكن Frida من التعليق عليها.
  • TestTarget32: برنامج مثال .NET Framework 4.8 لاختبار التعليق عليه.

تستهدف هذه المشاريع Windows وتفترض أنك تقوم باختبار عمليات تملكها أو لديك إذن لاختبارها.

لماذا يوجد مشروعان

يقوم Frida بربط عناوين التعليمات البرمجية الأصلية. في .NET Framework، يتم تجميع الطرق المُدارة في وقت التشغيل (JIT) إلى تعليمات برمجية أصلية، ولكن:

  • لا يزود Frida واجهة برمجة تطبيقات مستقرة لـ "ربط الطريقة المُدارة بالاسم" لـ .NET Framework
  • عناوين الطرق غير معروفة حتى يقوم JIT بتجميع الطريقة

لذا فإن النمط العام هو:

  1. استخدم InjectorCli لربط/إطلاق هدف وتحميل وكيل Frida JavaScript.
  2. داخل الهدف، استخدم ManagedHookHostProj.dll لـ:
    • العثور على طريقة مُدارة عن طريق الانعكاس (reflection)
    • إجبارها على التجميع في وقت التشغيل (RuntimeHelpers.PrepareMethod)
    • إرجاع نقطة الدخول الأصلية للطريقة (GetFunctionPointer)
  3. مرة أخرى في الوكيل، قم باستدعاء Interceptor.attach(entrypoint, ...) لتتبع الاستدعاءات/ تسجيل الوسائط/ (اختياريًا) تغيير السلوك.

كيفية عملهما معًا (تدفق البيانات)

InjectorCli (C#)

  • ينشئ Frida.DeviceManager ويختار جهازًا
  • يطلق أو يربط بعملية
  • ينشئ Frida.Script من ملف JavaScript الخاص بك ويحمله
  • يطبع الرسائل من الوكيل عبر script.Message

الوكيل (JavaScript)

  • يمكنه ربط واجهات برمجة التطبيقات Win32 العادية مباشرة (مثل CreateFileW، MessageBoxW)
  • يمكنه اختياريًا تحميل DLL المساعد المُدار عبر Module.load()
  • يستدعي الأدوات المساعدة المُصدرة (مثل ResolveMethod) عبر NativeFunction
  • يستخدم مخازن UTF-16 المُدارة بواسطة المساعد (DescribeObjectUtf16 + FreeUtf16) بدلاً من تحليل تخطيط سلسلة CLR
  • يمكنه الاستعلام عن تشخيصات المساعد باستخدام GetLastErrorUtf16 عند فشل الحل
  • يستخدم العناوين المُعادة لربط الخطافات

ManagedHookHostProj (مكتبة فئات C# مع تصديرات)

  • يعمل داخل CLR الخاص بالهدف
  • يستخدم الانعكاس لتحديد موقع الطريقة التي تريدها بالاسم (+ توقيع التحميل الزائد الاختياري)
  • يجبر على تجميع JIT ويُعيد عنوان نقطة الدخول الأصلية
  • يوفر تصديرات آمنة للقراءة/الكتابة البدائية للقيم بالمرجع (ReadInt32 / WriteInt32 / WriteBool)
  • يكشف عن تشخيصات المساعد المحلية للخيط (GetLastErrorUtf16, ClearLastError)

البداية السريعة (هدف 32 بت)

لتوضيح كيفية عمل كل هذا، سنفترض أن العملية الهدف مُجمَّعة لاستهداف بنية وحدة المعالجة المركزية 32 بت (WoW64).

1) بناء frida-clr x86

  • تحتاج إلى Frida.dll x86 لحقنها في عملية هدف x86.
  • أوامر مثال (من موجه أوامر مطور Visual Studio):
root@kitploit:~
cd C:\path\to\frida-clr
configure.bat --prefix="%CD%\dist-x86" --build=windows-x86-md

cd build

make.bat

make.bat install

تأكد من أن لديك:

  • dist-x86\bin\Frida.dll (PE32)

2) بناء InjectorCli (x86)

  • تحتاج إلى فتح InjectorCli.sln في Visual Studio، وتعيين هدف البناء إلى Release | x86.

  • أو من موجه أوامر مطور:

root@kitploit:~
msbuild \InjectorCli\InjectorCli.sln /p:Configuration=Release /p:Platform=x86
  • إذا لم يكن Frida.dll الخاص بك موجودًا في dist-x86\bin\Frida.dll، فقم بتحديث المرجع في InjectorCli.csproj وفقًا لذلك.

3) (اختياري) بناء ManagedHookHostProj (x86)

  • تحتاج إلى فتح ManagedHookHostProj.sln في Visual Studio، وتعيين هدف البناء إلى Release | x86.

  • أو من موجه أوامر مطور:

root@kitploit:~
msbuild \ManagedHookHostProj\ManagedHookHostProj.sln /p:Configuration=Release /p:Platform=x86
  • يمكنك بعد ذلك التحقق من التصديرات عن طريق تشغيل الأمر التالي في موجه أوامر المطور:
root@kitploit:~
dumpbin /exports examples\ManagedHookHostProj\bin\Release\ManagedHookHostProj.dll

ملاحظة: على x86 + StdCall قد ترى أسماء تصدير مزخرفة (مثل _ResolveMethod@16). يتضمن نص الوكيل المقدم احتياطيًا يحدد الأسماء المزخرفة.

4) تشغيل: تتبع أصلي (لا حاجة للمساعد المُدار)

  • الارتباط بـ PID موجود:
root@kitploit:~
FridaClrInjector.exe --pid 1234 --script hooks\hook_createfilew.js
  • إطلاق معلق، حقن، استئناف:
root@kitploit:~
FridaClrInjector.exe --spawn "C:\Windows\SysWOW64\notepad.exe" --script hooks\hook_messagebox.js

5) تشغيل: حل الطريقة المُدارة + التتبع (يستخدم DLL المساعد)

  • يجب عليك أولاً تحرير hook_managed.js، عن طريق تعيين:

    • helperDllPath إلى ManagedHookHostProj.dll المبني
    • targetAssemblyPath, targetTypeName, targetMethodName, paramSig
  • ثم قم بتشغيل:

root@kitploit:~
FridaClrInjector.exe --pid 1234 --script "C:\path\to\hook_managed.js"

القيود

  • التضمين (Inlining): قد يتم تضمين الطرق الصغيرة في إصدارات Release، ولن يعمل خطافك.
  • التحميلات الزائدة: استخدم paramSig لاختيار التحميل الزائد الصحيح، وإلا فقد تقوم بربط الخطأ.
  • يجب أن يتطابق عدد البتات: يتطلب هدف x86 حاقن x86 + Frida.dll x86 + DLL مساعد x86.
  • المراجع المُدارة الخام هشة: يجب التعامل مع تصديرات المساعد القديمة (MakeString/Box*/DescribeObject) على أنها للتوافق فقط.

المزيد من التوثيق

  • توثيق Injector:

    • Injector README
    • How-it-works
    • Troubleshooting
  • توثيق DLL المساعد:

    • Helper DLL README
    • How-it-works
    • Troubleshooting
  • توثيق مثال هدف الاختبار:

    • TestTarget32 README
    • Running test cases
تنزيل الأداة