
أداة ويندوز لتفريغ ملفات PE الضارة من الذاكرة إلى القرص للتحليل.
Process Dump هي أداة سطر أوامر لهندسة عكسية في نظام Windows لتفريغ مكونات ذاكرة البرامج الضارة إلى القرص لتحليلها. غالبًا ما تكون ملفات البرامج الضارة مضغوطة ومبهمة قبل تنفيذها لتجنب ماسحات الفيروسات، ولكن عند تنفيذ هذه الملفات، غالبًا ما تفك الضغط أو تحقن نسخة نظيفة من كود البرنامج الضار في الذاكرة. من المهام الشائعة لباحثي البرامج الضارة عند تحليل البرامج الضارة تفريغ هذا الكود المفكوك من الذاكرة إلى القرص لفحصه بمنتجات مكافحة الفيروسات أو تحليله بأدوات التحليل الثابتة مثل IDA.
تعمل Process Dump على أنظمة تشغيل Windows 32 بت و64 بت ويمكنها تفريغ مكونات الذاكرة من عمليات محددة أو من جميع العمليات الجاري تشغيلها حاليًا. تدعم Process Dump إنشاء واستخدام قاعدة بيانات تجزئة نظيفة (clean-hash database)، بحيث يمكن تخطي تفريغ جميع الملفات النظيفة مثل kernel32.dll. تشمل ميزاتها الرئيسية:
أقوم بصيانة إصدار رسمي مُجمّع على موقعي الإلكتروني هنا: https://split-code.com/processdump.html
يمكنك تنزيل أحدث إصدار مُجمّع من Process Dump هنا:
هذا مصمم لـ Visual Studio 2019 ويعمل مع الإصدار Community المجاني. فقط افتح ملف المشروع باستخدام VS2019 وقم بالتجميع، يجب أن يكون بهذه السهولة!
يمكن استخدام Process Dump لتفريغ جميع الأكواد غير المعروفة من الذاكرة (العلم '-system')، أو تفريغ عمليات محددة، أو التشغيل في وضع المراقبة الذي يفرغ جميع العمليات قبل إنهائها مباشرة.
قبل الاستخدام الأول لهذه الأداة، على محطة العمل النظيفة، يمكن إنشاء قاعدة بيانات التجزئة النظيفة المستبعدة بواسطة:
أمثلة على الاستخدام:
يمكن تجميع وسائط سطر الأوامر على النحو التالي:
خيارات التفريغ العامة
خيارات قاعدة بيانات التجزئة النظيفة
خيارات الإخراج
| الخيار | الوصف |
|---|---|
| -v | وضع المفصل حيث ستتم طباعة المزيد من التفاصيل لتصحيح الأخطاء. |
| -nh | لا تتم طباعة أي رأس في الإخراج. |
خيارات متقدمة
بالتأكيد، إليك نسخة مبسطة من المعلومات:
عند استخدام Process Dump في صندوق رملي آلي أو لأبحاث مكافحة البرامج الضارة اليدوية، يمكن أن تكون الخطوات التالية مفيدة. تأكد من تشغيل جميع الأوامر كمسؤول في بيئة نظيفة.
بناء قاعدة بيانات التجزئة النظيفة: قم بتشغيل pd64.exe -db gen أو لعملية أسرع أقل اكتمالاً، استخدم pd64.exe -db genquick. اعتمادًا على حالتك، قد ترغب في أخذ لقطة للجهاز الافتراضي بعد إنشاء قاعدة بيانات التجزئة النظيفة هذه حتى لا تحتاج إلى التكرار في كل مرة.
بدء مراقب إنهاء Process Dump: أبقِ pd64.exe -closemon قيد التشغيل في الخلفية. سيقوم بتفريغ جميع العمليات الوسيطة التي يستخدمها البرنامج الضار.
تنفيذ ملف البرنامج الضار: راقب تثبيت البرنامج الضار. سيقوم pd64.exe تلقائيًا بتفريغ أي عملية تحاول الإغلاق.
تفريغ البرنامج الضار الجاري تشغيله من الذاكرة: عندما تكون مستعدًا، استخدم pd64.exe -system لتفريغ جميع العمليات.
ستجد المكونات المفرغة في دليل العمل لـ pd64.exe. لتغيير مسار الإخراج، استخدم العلم -o.
أمثلة على أسماء الملفات المفرغة
| الخيار | الوصف |
|---|
| -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. |