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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
NtTrace — برنامج يشبه strace لواجهة برمجة التطبيقات 'الأصلية' لويندوز | Kitploit
أدوات/GitHubGitHub/rogerorr/nttrace
تحليل الشفرة الديناميكي (DAST)الهندسة العكسيةاختبار أمان APIمصممي الأخطاءتحليل البرمجيات الخبيثة
GitHubrogerorr/nttrace

NtTrace

برنامج يشبه strace لواجهة برمجة التطبيقات 'الأصلية' لويندوز

عرض المستودع
38849منذ 29 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ملف readme لـ NtTrace

انظر أيضًا http://rogerorr.github.io/NtTrace/

المحتويات

  • Readme.md - هذا الملف
  • NtTrace.cfg - ملف التكوين الافتراضي لـ NtTrace
  • NtTrace.ico - ملف الأيقونة
  • NtTrace.mak - ملف make لموجه أوامر Microsoft Visual Studio
  • NtTrace.rc - ملف الموارد
  • src - ملفات المصدر
  • include - ملفات التضمين
  • version.rc - مورد الإصدار
  • Gdi32Trace.cfg - ملف التكوين لاستدعاءات GDI الأصلية
  • User32Trace.cfg - ملف التكوين لاستدعاءات USER32 الأصلية

تعليمات البناء

ستحتاج إلى إصدار 64 بت و/أو 32 بت من NtTrace، أيهما يناسب تطبيق (تطبيقاتك) الهدف.

  • انتقل إلى هذا الدليل الأعلى
  • قم بتشغيل scripts\build-vs-x64.bat أو scripts\build-vs-x86.bat لبناء إصدار 64 بت أو 32 بت، على التوالي.

أو

  • ابدأ تشغيل "x64 Native Tools Command Prompt for VS2022" (إصدار 64 بت) أو "Developer Command Prompt for VS2022" (إصدار 32 بت)
  • انتقل إلى هذا الدليل الأعلى
  • قم بتشغيل nmake /f NtTrace.mak

أو

  • ابدأ تشغيل موجه أوامر Windows
  • انتقل إلى هذا الدليل الأعلى
  • قم بإعداد بيئة VC الهدف
  • مثال: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
  • أو "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
  • قم بتشغيل nmake /f NtTrace.mak

تشغيل NtTrace

NtTrace مصمم للتشغيل من سطر الأوامر.

يمكن استخدامه لتنفيذ برنامج، مع وسائط إذا لزم الأمر. على سبيل المثال:
NtTrace -filter File cmd /c echo hello

أو للارتباط بعملية موجودة باستخدام معرف العملية (PID) أو، باستخدام الخيار -a، بالاسم. على سبيل المثال: NtTrace 1234 أو NtTrace -a notepad

قم بتشغيل NtTrace -h للحصول على قائمة كاملة بالخيارات.

استدعاءات Gdi وUser

افتراضيًا، يستهدف NtTrace واجهة برمجة تطبيقات Windows الأصلية (Native API) المكشوفة عبر NtDll.dll

يتم أيضًا توفير ملفات تكوين للعديد من نقاط الدخول التي تدعم واجهة الرسومات في Windows:

Gdi32Trace.cfg لواجهة جهاز الرسومات (Graphics Device Interface)

User32Trace.cfg لواجهة المستخدم (User Interface)

يمكنك تحديد أحد هذه الملفات، بدلاً من NtTrace.cfg الافتراضي باستخدام وسيط سطر الأوامر -config.

ملاحظة حول DbgHelp.dll

يأتي Windows مع DbgHelp.dll في دليل system32. ومع ذلك، تتوفر أحيانًا إصدارات أحدث من هذه DLL من Microsoft في مجموعات SDK الخاصة بها.

إصدار DLL المثبت مع نظام التشغيل يميل إلى أن يكون له الأسبقية على الإصدار الأحدث الذي قد يتم تنزيله.

إذا وجدت أنك تحتاج إلى إصدار أحدث من المثبت في دليل النظام، يمكنك ببساطة نسخ DbgHelp.dll الأحدث إلى نفس الدليل الذي يوجد به NtTrace.exe. (ستحتاج أيضًا إلى نسخ SymSrv.dll و SrcSrv.dll)

كيف يعمل

التقنية

يعمل NtTrace باستخدام واجهة تصحيح أخطاء Windows لوضع نقاط توقف في NtDll حول استدعاءات Windows الأصلية إلى kernel. في كل مرة يتم فيها الوصول إلى نقطة توقف، يقرأ NtTrace الوسائط التي تم تمريرها إلى / القيم التي تم إرجاعها بواسطة الاستدعاء المرتبط.

يعمل على مستوى المستخدم ويؤثر فقط على العملية المحددة (وعملياتها الفرعية). لا يتم محاولة الدخول إلى kernel. كان هذا قرار تصميم متعمدًا لأنه يعني أنه يمكن استخدام الأداة دون الحاجة إلى صلاحيات إدارية أو إذن لتثبيت برامج تشغيل الأجهزة. ومع ذلك، هذا يعني أيضًا أن الأداة لن تلتقط:

  • استدعاءات kernel التي تقوم بها برامج تشغيل الأجهزة نيابة عن تطبيق
  • أي استخدام مباشر لآلية int 2e، syscall، أو sysenter

يقوم NtTrace أيضًا، افتراضيًا، بتتبع العمليات الفرعية للعملية الأولية التي تم بدؤها، سيضيف الخيار -pid معرف العملية إلى كل سطر إخراج للمساعدة في تحديد العملية التي قامت بأي استدعاء. الخيار -only يثبط تتبع العمليات الفرعية.

كما يتعامل مع التطبيقات متعددة الخيوط (وسيساعد الخيار -tid في تحديد الخيط الذي يقوم بكل استدعاء). ومع ذلك، لاحظ أنه نظرًا لأن واجهة تصحيح أخطاء Windows تعتمد على الأحداث، إذا كانت خيوط متعددة تقوم باستدعاءات في نفس الوقت، فسيتم تسلسل التتبع.

افتراضيًا، يتم تتبع الاستدعاءات في NtDll؛ تحدد ملفات التكوين لـ Gdi32 و User32 DLL هدفًا مختلفًا. لا يدعم NtTrace حاليًا تتبع أنواع مختلفة من استدعاءات النظام في وقت واحد.

التكوين

يتم حفظ تكوين الاستدعاءات الأصلية في NtTrace.cfg ويتم تحليل هذا الملف عند بدء تشغيل البرنامج. لاحظ أن إصدارات Windows المختلفة تدعم مجموعات مختلفة من الاستدعاءات.

بعض الوظائف الأصلية موثقة رسميًا من قبل Microsoft ولكن الكثير منها غير موثق. تم الوصول إلى القائمة (شبه) الكاملة من خلال مزيج من العمل الاستقصائي على الوظائف ومن مواقع الويب، مثل ReactOS.

يتم تعيين كل وظيفة إلى فئة، ويمكن إجراء التصفية حسب اسم الوظيفة (تطابق جزئي) وفئة الوظيفة.

افتراضيًا، يتتبع NtTrace عند العودة من استدعاء النظام، ولكن يمكن استخدام الخيار -pre للتتبع قبل الاستدعاء أيضًا. يمكن أن يكون هذا مفيدًا إذا، على سبيل المثال، تم استخدام نفس البنية لمخزن الطلب والاستجابة.


$Id: Readme.md 2542 2025-01-21 23:15:34Z roger $
تنزيل الأداة