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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
dotNIET — إضافة لـ IDA Pro تستورد الرموز التي تُحل في وقت التشغيل في الملفات الثنائية لـ .NET Native، عبر تحليل SharedLibrary.dll وملف PDB المرافق لها لاستعادة الاستيرادات المفقودة للتحليل. | Kitploit
أدوات/GitHubGitHub/synacktiv/dotniet
التحليل الثابتالهندسة العكسيةتحليل الملفات الثنائية
GitHubsynacktiv/dotniet

dotNIET

إضافة لـ IDA Pro تستورد الرموز التي تُحل في وقت التشغيل في الملفات الثنائية لـ .NET Native، عبر تحليل SharedLibrary.dll وملف PDB المرافق لها لاستعادة الاستيرادات المفقودة للتحليل.

عرض المستودع
11211منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

.NIET

نص بديل

.NIET هو مكوّن إضافي لـ IDA Pro. الغرض منه هو استيراد الرموز المفقودة (عادةً عدة آلاف) التي يتم حلها في وقت التشغيل بواسطة ثنائيات .NET Native المُترجَمة. توجد هذه الرموز في SharedLibrary.dll ولا يتم تصديرها بواسطة هذا الملف.

تم اختبار .NIET على IDA Pro 7.5 باستخدام python 3.8 على المنصات التالية:

  • Windows
  • Linux

يدعم هذا المكوّن الإضافي حاليًا إصدارات إطار عمل .NET Native التالية:

  • 1.3
  • 1.6
  • 1.7
  • 2.2

يُرجى إنشاء issue إذا واجهت إصدارًا آخر.

التثبيت

انسخ هذه العناصر إلى مجلد المكوّنات الإضافية لـ IDA Pro:

root@kitploit:~
dotNIET_plugin.py
dotNIET\

التبعيات

يعتمد .NIET على pefile من أجل تحليل مجلدات الموارد.

يمكن تثبيت pefile على النحو التالي:

root@kitploit:~
pip install pefile

المتطلبات

نظرًا لأن الرموز يتم استيرادها من SharedLibrary.dll، يجب توفير هذا الملف إلى .NIET مع ملف pdb الخاص به (يبحث المكوّن الإضافي عن موقعه داخل _NT_SYMBOL_PATH).

تم تنفيذ أدوات مساعدة لتحديد إصدارات إطار عمل .NET Native والتحقق من وجود pdb الخاص بـ SharedLibrary.dll داخل مسار الرموز المُعدّ.

الاستخدام

نص بديل

يمكن تشغيل .NIET باستخدام الاختصار Alt-Shift-N أو عبر قائمة Edit/Plugins.

عند التشغيل، يحاول المكوّن الإضافي تحديد إصدار إطار عمل .NET Native الثنائي الحالي. كل ما عليك فعله هو تحديد SharedLibrary.dll بالإصدار الصحيح ثم النقر على Run.

سيحدد .NIET إصدار إطار عمل .NET Native للملف dll الهدف ويعرض رسالة إذا لم تكن الإصدارات متطابقة. عادةً ما تكون أرقام الإصدار الرئيسي والثانوي هي الوحيدة المهمة.

آلية العمل

يبحث .NIET عن جدول واصفات الاستيراد المخصص لـ .NET Native داخل قسم .rdata. للقيام بذلك، يقرأ من إزاحات محددة لبنية Custom Header ثم يحلل مصفوفة الأرقام الترتيبية.

تشير مصفوفة الأرقام الترتيبية هذه إلى مواقع مختلفة داخل إدخالات الجدول المخصص لـ SharedLibrary.dll.

يتم حل الرموز بتشغيل مثيل IDA Pro بدون واجهة رسومية عبر ثنائيه idat من أجل تحليل ملف pdb الخاص بـ SharedLibrary.dll.

اصطلاح تسمية الرموز المستوردة

يتم استيراد الرموز كما هي إذا أمكن، ولكن قد تتم مواجهة بعض الحالات الخاصة:

  • أحيانًا تكون العناوين المستوردة مجرد رموز jmpstubs إلى إزاحات أو تعليمات jmp مفردة إلى رموز. يستبدل .NIET اسم رمزها باسم الدالة الهدف مع بادئة jmp_.
  • بعض العناوين التي يحلها وقت تشغيل .NET Native تشير إلى رموز بعد عدة عمليات إلغاء إشارة. إذا لم يتمكن .NIET من العثور على رمز في عنوان مستورد، فإنه يحاول إلغاء الإشارة حتى يجد واحدًا. يُلحق deref_X باسم الرمز، إذا وُجد، حيث X هو عدد عمليات إلغاء الإشارة.
  • بعض العناوين تشير إلى إزاحات داخل جدول EETableSection. لكوني جديدًا على .NET Native، ليس لدي أي فكرة عن ماهية هذا (حتى الآن؟) لذلك يتم تسمية هذه العناوين EETableSection_XXX، حيث XXX هي إزاحات من EETableSection داخل SharedLibrary.dll.

القيود المعروفة

  • لا يعمل (بعد) على إصدار IDA Pro لنظام macOS
  • .NIET بطيء جدًا لأنه يتطلب تحليل ملف pdb لثنائيات ضخمة إلى حد ما
  • خيار "استعادة .idata" (نوع من خيار "تراجع") يلغي تعيين الرموز المستوردة فقط. لأن IDA ينشر الأسماء تلقائيًا أثناء الاستيراد، ربما ستحتاج إلى إعادة تشغيل التحليل التلقائي إذا أردت إزالة جميع آثار الرموز المستوردة. قد يكون الحل البديل هو إنشاء لقطة من قاعدة البيانات قبل تشغيل المكوّن الإضافي.
  • يحلل .NIET الرموز من وحدة SharedLibrary.dll فقط على الرغم من أن الروتين الأصلي المسؤول عن حل الرموز من المحتمل أن يوفر إمكانية تحليل وحدات أخرى (لا أعرف ما إذا كان هذا يحدث فعلاً بعيدًا عن وحدة SharedLibrary.dll)

استكشاف الأخطاء وإصلاحها

يتم تعيين ملف السجل الخاص بـ idat إلى %tmpdir%/dotNIETlogs.txt

لماذا هذا الاسم

لأن الهندسة العكسية لـ .NET Native هي كابوس

تنزيل الأداة