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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Process-Dump — أداة ويندوز لتفريغ ملفات PE الضارة من الذاكرة إلى القرص للتحليل. | Kitploit
أدوات/GitHubGitHub/glmcdona/process-dump
تحليل الذاكرة الجنائيالهندسة العكسيةالتحقيق الجنائي الرقميتحليل البرمجيات الخبيثةتحليل الملفات الثنائية
GitHubglmcdona/process-dump

Process-Dump

أداة ويندوز لتفريغ ملفات PE الضارة من الذاكرة إلى القرص للتحليل.

عرض المستودع
1.9k2834منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Process Dump

Process Dump هي أداة سطر أوامر لهندسة عكسية في نظام Windows لتفريغ مكونات ذاكرة البرامج الضارة إلى القرص لتحليلها. غالبًا ما تكون ملفات البرامج الضارة مضغوطة ومبهمة قبل تنفيذها لتجنب ماسحات الفيروسات، ولكن عند تنفيذ هذه الملفات، غالبًا ما تفك الضغط أو تحقن نسخة نظيفة من كود البرنامج الضار في الذاكرة. من المهام الشائعة لباحثي البرامج الضارة عند تحليل البرامج الضارة تفريغ هذا الكود المفكوك من الذاكرة إلى القرص لفحصه بمنتجات مكافحة الفيروسات أو تحليله بأدوات التحليل الثابتة مثل IDA.

تعمل Process Dump على أنظمة تشغيل Windows 32 بت و64 بت ويمكنها تفريغ مكونات الذاكرة من عمليات محددة أو من جميع العمليات الجاري تشغيلها حاليًا. تدعم Process Dump إنشاء واستخدام قاعدة بيانات تجزئة نظيفة (clean-hash database)، بحيث يمكن تخطي تفريغ جميع الملفات النظيفة مثل kernel32.dll. تشمل ميزاتها الرئيسية:

  • تفريغ الكود من عملية محددة أو جميع العمليات.
  • العثور على الوحدات المخفية التي لم يتم تحميلها بشكل صحيح في العمليات وتفريغها.
  • العثور على أجزاء الكود السائبة حتى لو لم تكن مرتبطة بملف PE وتفريغها. يقوم ببناء رأس PE وجدول استيراد لهذه الأجزاء.
  • إعادة بناء الواردات باستخدام نهج عدواني.
  • يمكن تشغيله في وضع مراقبة التفريغ عند الإغلاق ('-closemon')، حيث يتم إيقاف العمليات مؤقتًا وتفريغها قبل إنهائها مباشرة.
  • متعدد الخيوط، لذا عند تفريغ جميع العمليات الجاري تشغيلها، سيتم ذلك بسرعة كبيرة.
  • يمكنه إنشاء قاعدة بيانات تجزئة نظيفة. قم بإنشائها قبل إصابة الجهاز بالبرامج الضارة حتى تقوم Process Dump فقط بتفريغ مكونات البرامج الضارة الجديدة الخبيثة.

أقوم بصيانة إصدار رسمي مُجمّع على موقعي الإلكتروني هنا: https://split-code.com/processdump.html

التثبيت

يمكنك تنزيل أحدث إصدار مُجمّع من Process Dump هنا:

  • https://github.com/glmcdona/Process-Dump/releases

تجميع كود المصدر

هذا مصمم لـ Visual Studio 2019 ويعمل مع الإصدار Community المجاني. فقط افتح ملف المشروع باستخدام VS2019 وقم بالتجميع، يجب أن يكون بهذه السهولة!

وسائط سطر الأوامر

يمكن استخدام Process Dump لتفريغ جميع الأكواد غير المعروفة من الذاكرة (العلم '-system')، أو تفريغ عمليات محددة، أو التشغيل في وضع المراقبة الذي يفرغ جميع العمليات قبل إنهائها مباشرة.

قبل الاستخدام الأول لهذه الأداة، على محطة العمل النظيفة، يمكن إنشاء قاعدة بيانات التجزئة النظيفة المستبعدة بواسطة:

  • pd -db genquick
  • pd -db gen

أمثلة على الاستخدام:

  • pd -system
  • pd -pid 419
  • pd -pid 0x1a3
  • pd -pid 0x1a3 -a 0x401000 -o c:\dump\ -c c:\dump\test\clean.db
  • pd -p chrome.exe
  • pd -p "(?i).*chrome.*"
  • pd -closemon

يمكن تجميع وسائط سطر الأوامر على النحو التالي:

خيارات التفريغ العامة

خيارات قاعدة بيانات التجزئة النظيفة

خيارات الإخراج

الخيارالوصف
-vوضع المفصل حيث ستتم طباعة المزيد من التفاصيل لتصحيح الأخطاء.
-nhلا تتم طباعة أي رأس في الإخراج.

خيارات متقدمة

أمثلة على الاستخدام

بالتأكيد، إليك نسخة مبسطة من المعلومات:

استخدام الصندوق الرملي (Sandbox)

عند استخدام Process Dump في صندوق رملي آلي أو لأبحاث مكافحة البرامج الضارة اليدوية، يمكن أن تكون الخطوات التالية مفيدة. تأكد من تشغيل جميع الأوامر كمسؤول في بيئة نظيفة.

  • بناء قاعدة بيانات التجزئة النظيفة: قم بتشغيل pd64.exe -db gen أو لعملية أسرع أقل اكتمالاً، استخدم pd64.exe -db genquick. اعتمادًا على حالتك، قد ترغب في أخذ لقطة للجهاز الافتراضي بعد إنشاء قاعدة بيانات التجزئة النظيفة هذه حتى لا تحتاج إلى التكرار في كل مرة.

  • بدء مراقب إنهاء Process Dump: أبقِ pd64.exe -closemon قيد التشغيل في الخلفية. سيقوم بتفريغ جميع العمليات الوسيطة التي يستخدمها البرنامج الضار.

  • تنفيذ ملف البرنامج الضار: راقب تثبيت البرنامج الضار. سيقوم pd64.exe تلقائيًا بتفريغ أي عملية تحاول الإغلاق.

  • تفريغ البرنامج الضار الجاري تشغيله من الذاكرة: عندما تكون مستعدًا، استخدم pd64.exe -system لتفريغ جميع العمليات.

ستجد المكونات المفرغة في دليل العمل لـ pd64.exe. لتغيير مسار الإخراج، استخدم العلم -o.

ملاحظات حول اصطلاح تسمية الوحدات المفرغة:

  • يشير 'hiddenmodule' في اسم الملف بدلاً من اسم الوحدة إلى أن الوحدة لم تكن مسجلة بشكل صحيح في العملية.
  • يشير 'codechunk' في اسم الملف إلى أنه تفريغ معاد بناؤه من منطقة قابلة للتنفيذ سائبة. يمكن أن يكون هذا على سبيل المثال كودًا محقونًا لم يكن له رأس PE. سيتم تفريغ codechunks مرتين، مرة برأس x86 معاد بناؤه ومرة برأس x64 معاد بناؤه.

أمثلة على أسماء الملفات المفرغة

  • notepad_exe_PID2990_hiddenmodule_16B8ABB0000_x86.dll
  • notepad_exe_PID3b5c_notepad.exe_7FF6E6630000_x64.exe
  • notepad_exe_PID2c54_codechunk_17BD0000_x86.dll
  • notepad_exe_PID2c54_codechunk_17BD0000_x64.dll

تاريخ الإصدارات

الإصدار 2.1 (12 فبراير 2017)

  • إصلاح خطأ حيث كان القسم الأخير في بعض الحالات يُملأ بالأصفار بدلاً من ذلك. شكرًا لـ megastupidmonkey على الإبلاغ عن هذه المشكلة.
  • إصلاح خطأ حيث كانت عناوين القاعدة 64 بت تُقطع إلى عنوان 32 بت. الآن يحافظ بشكل صحيح على عنوان قاعدة الوحدة 64 بت بالكامل. شكرًا لـ megastupidmonkey على الإبلاغ عن هذه المشكلة.
  • معالجة مشكلة حيث كان مراقب إغلاق تفريغ العمليات يتسبب في تعطل csrss.exe.
  • إيقاف Process Dump عن تعليق عمليته الخاصة في وضع مراقبة الإغلاق.

الإصدار 2.0 (18 سبتمبر 2016)

  • إضافة علم جديد '-closemon' الذي يشغل Process Dump في وضع مراقبة. سيقوم بإيقاف وتفريغ أي عملية بمجرد إغلاقها. هذا مصمم للعمل بشكل جيد مع صناديق الرمل لتحليل البرامج الضارة، لضمان تفريغ البرامج الضارة من الذاكرة قبل إغلاق العملية الخبيثة.
  • ترقية Process Dump ليكون متعدد الخيوط. الأوامر التي تفرغ أو تحصل على تجزئات من عمليات متعددة ستشغل خيوطًا منفصلة لكل عملية. العدد الافتراضي للخيوط هو 16، مما يسرع معالجة التفريغ العامة لـ Process Dump بشكل كبير.
  • ترقية Process Dump لتفريغ أجزاء الكود غير المرتبطة الموجودة في الذاكرة. يتم تعريف هذه على أنها مناطق قابلة للتنفيذ في الذاكرة غير مرتبطة بوحدة وليس لها رأس PE. كما يتطلب أن يشير codechunk إلى استيرادين على الأقل ليعتبر صالحًا من أجل تقليل الضوضاء. عند التفريغ، يتم إعادة إنشاء رأس PE مع جدول استيراد. يتم دعم أجزاء الكود بالكامل بواسطة قاعدة بيانات التجزئة النظيفة.
  • إضافة أعلام للتحكم في مسار الملف لقاعدة بيانات التجزئة النظيفة وكذلك مجلد الإخراج للملفات المفرغة.
  • إصلاح مشكلة في إنشاء قاعدة بيانات التجزئة النظيفة من مسار المستخدم كانت تتسبب في تعطل.
  • إصلاح للعلم '-g' الذي يفرض إنشاء رؤوس PE. في السابق حتى إذا تم تعيين هذا العلم، كانت تفريغات النظام (-system) تتجاهل هذا العلم عند تفريغ عملية.
  • تحسينات أداء متنوعة.
  • ترقية المشروع إلى VS2015.

الإصدار 1.5 (21 نوفمبر 2015)

  • إصلاح خطأ حيث كانت مناطق الذاكرة الكبيرة جدًا تتسبب في تعليق Process Dump.
  • إصلاح خطأ حيث لم يتم العثور على بعض الوحدات في العناوين العالية تحت Windows 64 بت.
  • المزيد من معلومات التصحيح أصبحت تُخرج الآن تحت وضع المفصل.

الإصدار 1.4 (18 أبريل 2015)

  • إضافة نهج إعادة بناء استيراد عدواني جديد. الآن يقوم بتصحيح جميع DWORDs و QWORDs في الوحدة إلى تطابق التصدير المقابل.
  • إضافة علم '-a (address to dump)' لتفريغ عنوان محدد. سيقوم بإنشاء رؤوس PE وبناء جدول استيراد للعنوان.
  • إضافة علم '-ni' لتخطي خوارزمية إعادة بناء الاستيراد الجديدة.
  • إضافة علم '-g' لفرض إنشاء رأس PE جديد حتى إذا كان هناك واحد موجود عند تفريغ وحدة. هذا جيد إذا كان رأس PE مشوهًا على سبيل المثال.
  • إصلاحات أخطاء متنوعة.

الإصدار 1.3 (10 أكتوبر 2013)

  • تحسين التعامل مع رؤوس PE ذات الأقسام التي تحدد أحجامًا وعناوين افتراضية غير صالحة.
  • منهجية أفضل لتفريغ الوحدات لتفريغ الأقسام الافتراضية إلى أقسام القرص.

الإصدار 1.1 (8 أبريل 2013)

  • إصلاح مشكلة توافق مع Windows XP.
  • تصحيح خطأ حيث كان Process Dump يطبع أنه يفرغ وحدة ولكن لا يفرغها بالفعل.
  • تنفيذ علم التفريغ '-pid '.

الإصدار 1.0 (2 أبريل 2013)

  • الإصدار الأولي.
تنزيل الأداة
الخيارالوصف
-systemيفرغ جميع الوحدات التي لا تطابق قاعدة بيانات التجزئة النظيفة من جميع العمليات القابلة للوصول إلى دليل العمل.
-pid <pid>يفرغ جميع الوحدات التي لا تطابق قاعدة بيانات التجزئة النظيفة من PID المحدد إلى دليل العمل الحالي. استخدم بادئة '0x' لتحديد PID سداسي عشري.
-closemonيعمل في وضع المراقبة. عندما يتم إنهاء أي عمليات، سيقوم Process Dump أولاً بتفريغ العملية.
-p <regex process name>يفرغ جميع الوحدات التي لا تطابق قاعدة بيانات التجزئة النظيفة من اسم العملية الذي يطابق عامل التصفية إلى PID المحدد في دليل العمل الحالي.
-a <module base address>يفرغ وحدة في عنوان القاعدة المحدد من العملية.
-o <path>يحدد مجلد الإخراج الجذر الافتراضي للمكونات المفرغة.
الخيارالوصف
-db genيعالج تلقائيًا بعض المجلدات الشائعة بالإضافة إلى جميع العمليات الجاري تشغيلها ويضيف تجزئات الوحدات الموجودة إلى قاعدة بيانات التجزئة النظيفة. سيتم إضافة جميع الملفات بشكل متكرر في: %WINDIR%, %HOMEPATH%, C:\Program Files\, C:\Program Files (x86)\، بالإضافة إلى جميع الوحدات في جميع العمليات الجاري تشغيلها. ستتم إضافة هذه التجزئات النظيفة إلى ملف clean.hashes في دليل التطبيق. أثناء أوامر تفريغ العمليات المستقبلية، لن يتم تفريغ هذه الوحدات المعروفة. يوصى بتشغيل هذا الأمر مرة واحدة على نظام نظيف قبل استخدام الأداة حتى لا يتم تفريغ عدد كبير جدًا من الوحدات من الذاكرة.
-db genquickنفس ما سبق، لكنه يضيف فقط تجزئات جميع الوحدات في جميع العمليات إلى قاعدة بيانات التجزئة النظيفة. هذه طريقة أسرع لبناء قاعدة بيانات التجزئة النظيفة، لكنها ستكون أقل اكتمالاً.
-db add <dir>يضيف جميع الملفات في الدليل المحدد بشكل متكرر إلى قاعدة بيانات التجزئة النظيفة.
-db rem <dir>يزيل جميع الملفات في الدليل المحدد بشكل متكرر من قاعدة بيانات التجزئة النظيفة.
-nrتعطيل التكرار في أوامر إضافة أو إزالة دليل قاعدة بيانات التجزئة.
-db cleanمسح قاعدة بيانات التجزئة النظيفة.
-db ignoreيتجاهل قاعدة بيانات التجزئة النظيفة عند تفريغ عملية هذه المرة. سيتم تفريغ جميع الوحدات حتى إذا تم العثور على تطابق.
-cdb <filepath>مسار الملف الكامل لقاعدة بيانات التجزئة النظيفة لاستخدامها في هذه الجولة إذا كنت ترغب في تجاوز الافتراضي clean.hashes.
-edb <filepath>مسار الملف الكامل لقاعدة بيانات تجزئة نقطة الدخول لاستخدامها في هذه الجولة.
-esdb <filepath>مسار الملف الكامل لقاعدة بيانات تجزئة نقطة الدخول القصيرة لاستخدامها في هذه الجولة.
الخيارالوصف
-gفرض إنشاء رؤوس PE من الصفر، متجاهلاً الرؤوس الموجودة.
-eprecفرض إعادة بناء نقطة الدخول، حتى إذا كانت نقطة دخول صالحة موجودة على ما يبدو.
-niتعطيل إعادة بناء الواردات.
-ncتعطيل تفريغ مناطق الكود السائبة.
-ntتعطيل تعدد الخيوط.
-nepتعطيل تجزئة نقطة الدخول.
-t <thread count>يحدد عدد الخيوط لاستخدامها (الافتراضي 16).
الأمرالوصف
pd64.exe -db genquickبناء قاعدة بيانات الوحدات النظيفة بسرعة بناءً على العمليات الجاري تشغيلها حاليًا. في المهام اللاحقة، سيقوم Process Dump فقط بتفريغ الوحدات غير المعروفة.
pd64.exe -systemتفريغ جميع الوحدات والأجزاء المخفية من جميع العمليات مع تجاهل الوحدات النظيفة.
pd64.exe -closemonتشغيل وضع مراقبة الإنهاء. سيؤدي ذلك إلى تفريغ جميع العمليات عندما تحاول الإنهاء.
pd64.exe -pid 0x18Aتفريغ الوحدات والأجزاء المخفية من معرف عملية محدد.
pd64.exe -p .\*chrome.\*تفريغ الوحدات والأجزاء المخفية حسب اسم العملية.
pd64.exe -db genبناء قاعدة بيانات تجزئة نظيفة للوحدات المعروفة. يُستخدم هذا لتجنب تفريغ الوحدات الجيدة المعروفة في المهام اللاحقة.
pd64.exe -pid 0x1a3 -a 0xffb4000تفريغ الكود من عنوان محدد في PID. سيؤدي ذلك إلى إنشاء ملفين للتحليل، مع رؤوس PE معاد بناؤها 32 بت و64 بت: notepad_exe_x64_hidden_FFB40000.exe و notepad_exe_x86_hidden_FFB40000.exe.