Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
NativeMirror — تطبيق Delphi أصلي لوظيفة PE-sieve مع مكتبة قابلة لإعادة الاستخدام، وواجهة سطر أوامر (CLI)، وDLL متوافقة مع PE-sieve لتكامل HollowsHunter. | Kitploit
أدوات/GitHubGitHub/habanada/nativemirror
أدوات دفاعيةتحليل الذاكرة الجنائيالهندسة العكسيةتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةتحليل الملفات الثنائيةالاستجابة للحوادث
GitHubhabanada/nativemirror

NativeMirror

تطبيق Delphi أصلي لوظيفة PE-sieve مع مكتبة قابلة لإعادة الاستخدام، وواجهة سطر أوامر (CLI)، وDLL متوافقة مع PE-sieve لتكامل HollowsHunter.

عرض المستودع
530منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

NativeMirror

NativeMirror هو تطبيق مستقل بلغة Object Pascal لوظائف PE-sieve، مقتبس من PE-sieve by hasherezade. يقوم بفحص ذاكرة العمليات، ويكتشف الشيفرة المعدّلة أو المحقونة، ويستخرج ملفات PE.

يستخدم التطبيق واجهات برمجة Delphi الأصلية وNativePe كمحرك PE خاص به. يمكن استخدامه مباشرةً كمكتبة Delphi، أو عبر واجهة سطر الأوامر CLI، أو عبر واجهة DLL المتوافقة مع PE-sieve. تشترك الثلاثة جميعاً في نفس نواة الفحص. هدف التوافق هو السلوك القابل للملاحظة خارجياً لـ PE-sieve 0.4.1.5؛ ولم يتم إثبات التكافؤ السلوكي الكامل.

المتطلبات

  • Windows وDelphi 12، مع دعم مترجم Win32 وWin64.
  • NativePe: مكتبة PE المطلوبة. ضعها بجوار NativeMirror باسم ../NativePe، أو عدّل مسارات البحث في Delphi.
  • NativeASM: خلفية تفكيك اختيارية لـ Win64. يفعّل مشروع NativeMirrorScan.NativeAsm.dproj الخيار USE_NATIVEASM. وبدونه، يستخدم NativeMirror البديل Delphi/LDE. عدّل مسار البحث الخاص بـ NativeASM ليتوافق مع تثبيتك.
  • Python 3 مع مشغّل Windows py: مطلوب لخطوة ما بعد البناء الخاصة بـ DLL واختبارات Python. تستخدم السكربتات مكتبة Python القياسية.
  • DUnitX: مطلوب لبناء مشغّلات اختبارات Delphi. اجعل وحداته متاحة في مسار البحث الخاص بـ Delphi.
  • CMake وVisual Studio 2022 مع أدوات C++: مطلوبان فقط لاختبارات عقد DLL.

تحتوي بعض إعدادات المشروع على مسارات تبعيات محلية. تحقق من مسارات البحث قبل البناء على جهاز آخر.

البناء

افتح NativeMirror.groupproj في Delphi واختر المشروع والمنصة والإعداد المطلوب.

المشروعالمخرجات
tools/NativeMirrorScan/NativeMirrorScan.dprojNativeMirrorScan.exe
tools/NativeMirrorDll/pe-sieve.dprojpe-sieve.dll
tests/ScannerIntegration/NativeMirrorTestTarget.dprojهدف اختبار Win64
tests/ScannerIntegration/NativeMirrorTestTarget32.dprojهدف اختبار Win32
tests/ScannerIntegration/NativeMirrorScannerTests.dprojمشغّل اختبارات الماسح Win64
tests/HollowsHunterIntegration/NativeMirrorHollowsHunterTests.dprojمشغّل اختبارات HollowsHunter Win64

ابنِ CLI وDLL لـ Win32 وWin64 حسب الحاجة. ابنِ هدفي الاختبار قبل تشغيل اختبارات التكامل. ابنِ مشغّلات الاختبارات لـ Win64.

تذهب المخرجات إلى bin/<Platform>/<Config>. تستخدم الأمثلة أدناه إعداد Debug. تذهب وحدات المترجم إلى dcu/. أبقِ الملفات التنفيذية خارج tools/.

تشغيل الماسح

نفّذ هذه الأوامر من جذر المشروع. استبدل 1234 بمعرّف العملية المراد فحصها.

.\bin\Win64\Debug\NativeMirrorScan.exe /help
.\bin\Win64\Debug\NativeMirrorScan.exe /pid 1234
.\bin\Win64\Debug\NativeMirrorScan.exe /pid 1234 /json /quiet /ofilter 2
.\bin\Win64\Debug\NativeMirrorScan.exe /pid 1234 /dir output

/ofilter 2 يعطّل إخراج التفريغ. يحدد /dir output دليل الإخراج للتقارير والتفريغات. استخدم الملف التنفيذي Win32 ضمن bin/Win32/Debug عند الحاجة. يعتمد الوصول إلى العملية الهدف على أذونات Windows لديك.

الاستخدام مباشرة من Delphi

أضف src/ ومجلدات الوحدات الفرعية التابعة لها، إلى جانب NativePe، إلى مسار البحث الخاص بمشروعك. استدعِ ScanAndDump مع TNativeMirrorOptions. تُجمَّع المكتبة داخل تطبيقك؛ ولا يتطلب هذا الاستخدام وجود NativeMirrorScan.exe ولا pe-sieve.dll. لا تُستخدم Python إلا لبناء DLL المنفصل واختبارات Python.

يفحص هذا المثال الطرفي PID 1234 ويطبع تقريره بصيغة JSON:

program ScanExample;

{$APPTYPE CONSOLE}

uses
  System.JSON,
  NativeMirror.Core.Types,
  NativeMirror.Core.Options,
  NativeMirror.Core.Engine;

var
  Options: TNativeMirrorOptions;
  Report: TNativeMirrorReportEx;
  Json: TJSONObject;
begin
  Options := TNativeMirrorOptions.Default;
  Options.Pid := 1234;
  Options.Quiet := True;
  Options.OutputFilter := nmOutNoDir;
  Report := ScanAndDump(Options);
  try
    Json := Report.ToJson(Options.ResultsFilter, Options.JsonLevel);
    try
      Writeln(Json.ToJSON);
    finally
      Json.Free;
    end;
  finally
    Report.Free;
  end;
end.

استبدل PID بالهدف الخاص بك. يعطّل nmOutNoDir ملفات التقارير وعمليات التفريغ. افحص Report.ErrorReport بحثًا عن أخطاء الفحص وReport.ScanReport بحثًا عن نتائج الفحص. يملك المستدعي التقرير المُعاد ويجب عليه تحريره.

الملفات في bin

نزّل pe-sieve32.exe وpe-sieve64.exe من إصدارات PE-sieve. تستخدم سكربتات المقارنة الموجودة ملفات v0.4.1.1 التنفيذية. ضع كليهما في bin/Win64/Debug؛ تبحث سكربتات اختبار Win64 عن ماسحها المرجعي هناك. الملف التنفيذي 32 هو مرجع Win32 الأصلي، رغم أنه مخزّن إلى جانب أدوات اختبار Win64.

يبدو إعداد Debug هكذا:

bin/
  Win64/Debug/
    NativeMirrorScan.exe
    pe-sieve.dll
    pe-sieve.dll.exports.json
    pe-sieve32.exe
    pe-sieve64.exe
    NativeMirrorTestTarget.exe
    NativeMirrorScannerTests.exe
    NativeMirrorHollowsHunterTests.exe
    hollows_hunter.exe
  Win32/Debug/
    NativeMirrorScan.exe
    pe-sieve.dll
    pe-sieve.dll.exports.json
    NativeMirrorTestTarget32.exe

ينتج NativeMirror ملف CLI وDLL وسجلات التصدير والأهداف ومشغّلات الاختبار. أما ملفات PE-sieve وHollowsHunter التنفيذية فهي تنزيلات منفصلة. ولا يُحتاج إلى HollowsHunter إلا لاختبار التكامل الخاص به أو للاستخدام اليدوي للـ DLL.

HollowsHunter: استخدم بناء الـ DLL

نزّل hollows_hunter64_dll.zip, v0.4.1.1 من إصدارات HollowsHunter. استخدم حزمة الـ DLL. مع تطابق معمارية المضيف وعقد الـ API، يحل ملف pe-sieve.dll النهائي الذي يبنيه NativeMirror محل ملف PE-sieve DLL الأصلي الذي يستخدمه HollowsHunter. ولا يمكن للملف التنفيذي الثابت المستقل استخدام DLL بديل. ويغطي اختبار التكامل المرفق مضيف Win64 DLL الخاص بالإصدار v0.4.1.1.

للتشغيل اليدوي، انسخ ملف hollows_hunter.exe الخاص بالحزمة إلى bin/Win64/Debug، بجوار ملف pe-sieve.dll الذي بناه NativeMirror. لا تنسخ ملف DLL الأصلي الخاص بالحزمة فوق ملف NativeMirror DLL. ويجب أن يكون كلٌّ من المضيف والـ DLL من نوع Win64.

.\bin\Win64\Debug\hollows_hunter.exe /pid 1234 /quiet /hooks /ofilter 2 /json /report 7

للمقارنة الآلية، استخرج ملف EXE وDLL الأصليين غير المعدّلين من الحزمة نفسها إلى:

tests/HollowsHunterIntegration/fixtures/Win64/pe-sieve-C/
  hollows_hunter.exe
  pe-sieve.dll
  manifest.json

احتفظ بملف manifest.json الموجود. فهو يسجّل الإصدارات المتوقعة وقيم تجزئة SHA-256. يتحقق المشغّل من هذه الملفات، وينسخ المضيف نفسه إلى مجلدَي مرجع منفصلين وNativeMirror، ويختبر كل DLL مقابل عمليات اختبار خاضعة للتحكم. وهو لا ينزّل الملفات ولا يستبدل البناء في bin.

لماذا يستخدم بناء DLL لغة Python

يُصدّر PE-sieve القيمة PESieve_version كقيمة بيانات 32-بت. وبالنسبة للإصدار 0.4.1.5، فإن تلك القيمة هي 0x00040105. ويتوقع المستدعي أن يشير عنوان التصدير إلى تلك البايتات الأربع، بدلًا من أن يشير إلى دالة تُرجع الرقم.

لا تُصدّر مترجم/رابط Delphi 12 المستخدم في هذا المشروع المتغير مباشرةً عبر جملة exports. لذلك تحتوي DLL على قيمة الإصدار المعلَّمة، وتُصدّر في البداية دالة مساعدة تحت الاسم المطلوب.

بعد الربط، يشغّل حدث ما بعد البناء الخاص بالمشروع:

py tools/NativeMirrorDll/finalize_exports.py bin/Win64/Debug/pe-sieve.dll

يقوم السكربت بتوجيه إدخال التصدير PESieve_version إلى الرقم المخزَّن ويحدّث مجموع التحقق PE checksum. ويترك شيفرة الماسح وأهداف التصدير الأخرى دون تغيير. تُنفَّذ هذه الخطوة تلقائيًا عند بناء pe-sieve.dproj؛ وأي فشل في السكربت يؤدي إلى فشل البناء.

كما ينشئ السكربت pe-sieve.dll.before-version-export كنسخة احتياطية وpe-sieve.dll.exports.json يحتوي على معلومات التصدير النهائية وتجزئة DLL. احتفظ بملف JSON لمشغّلات الاختبار. لا يحتاج عميل DLL العادي إلا إلى ملف DLL النهائي. يُشترط وجود Python على جهاز البناء/الاختبار، وليس عند استخدام ملف DLL النهائي.

الاختبارات

نفّذ الأوامر من جذر المشروع بعد بناء المشاريع المطلوبة وتثبيت الملفات المرجعية أعلاه.

.\bin\Win64\Debug\NativeMirrorScannerTests.exe
.\bin\Win64\Debug\NativeMirrorHollowsHunterTests.exe
py tests/CLIOutput/test_source_contract.py
py tests/CLIOutput/test_cli_arguments.py
py tests/ParityAudit/run_module_cases.py
تنزيل الأداة