
محلل ثابت لملفات PE القابلة للتنفيذ مع كشف قائم على الإضافات للمُعبئات، والمُجمّعات، والواردات المشبوهة، والثوابت التشفيرية، وتوقيعات ClamAV. يدعم إرسال بصمات إلى VirusTotal والتحقق من التوقيع الرقمي (Authenticode).
Manalyze هي أداة تحليل ثابت لملفات PE يمكنك استخدامها لإجراء تقييم أولي لملف تنفيذي (أو مجموعة من الملفات التنفيذية). تقوم بجمع إشارات ضعيفة قد تشير إلى سلوك ضار وتعرض معلومات يمكن أن تساعد في التحليل اليدوي اللاحق.
إذا كنت ترغب في رؤية بعض نماذج التقارير التي يولدها الأداة، فلا تتردد في تجربة خدمة الويب التي أنشأتها لها: manalyzer.org.
Manalyze تم كتابتها بلغة C++ لأنظمة Windows و Linux وتصدر بموجب شروط ترخيص GPLv3. إنها محلل قوي لملفات PE مع بنية إضافات مرنة تتيح للمستخدمين تحليل الملفات بشكل ثابت وعميق. Manalyze...
WriteProcessMemory + CreateRemoteThread)هناك أشياء قليلة أكرهها أكثر من تحميل مشروع مفتوح المصدر وقضاء ساعتين في محاولة بنائه. لهذا بذلت قصارى جهدي لجعل Manalyze سهلة البناء قدر الإمكان. إذا لم تعمل هذه الأسطر القليلة معك، فقد فشلت في مهمتي ويجب أن ترسل لي رسالة حتى أتمكن من إصلاح ذلك.
$> [sudo or as root] apt-get install libboost-dev libboost-system-dev libssl-dev build-essential cmake git
$> [alternatively, also sudo or as root] pkg install boost libressl cmake git
$> git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze
$> cmake .
$> make -j5
$> cd bin && ./manalyze --version
Note: the VirusTotal plugin is optional and requires the Boost.System library.
Finally, if you want to access Manalyze from every directory on your machine, install it using $> make install from the root folder of the project.
cd boost_1_XX_0 && ./bootstrap.bat && ./b2.exe --build-type=complete --with-systemBOOST_ROOT يحتوي على المسار إلى مجلد boost_1_XX_0 الخاص بك.git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze && cmake .manalyze.sln في مجلد Manalyze!# Skip these two lines if you already have a sane build environment
user$ xcode-select --install
user$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
user$ git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze
user$ brew install openssl boost
user$ cmake . -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/ && make -j5
user$ bin && ./manalyze --version
إذا كنت بحاجة إلى بناء Manalyze على جهاز بدون اتصال بالإنترنت، فعليك تحميل المشاريع التالية يدويًا:
ضع المجلدين في المجلد external باسم external/yara و external/hash-library على التوالي. ثم شغّل cmake . -DGitHub=OFF واستمر كما تفعل عادةً.
صورة Docker لـ Manalyze مقدمة من المجتمع. شغّل docker pull evanowe/manalyze واحصل على معلومات إضافية هنا.
نظرًا لأن توقيعات ClamAV كبيرة ويتم تحديثها بانتظام، لم يكن من المنطقي توزيعها من GitHub أو مع الثنائي. عند محاولة استخدام إضافة ClamAV لأول مرة، من المحتمل أن تواجه رسالة الخطأ التالية: [!] Error: Could not load yara_rules/clamav.yara. لإنشائها، شغّل سكريبت Python update_clamav_signatures.py الموجود في bin/yara_rules (شجرة المصادر) أو ${CMAKE_INSTALL_DATADIR}/manalyze/yara_rules (مثبتة، غالبًا /usr/share/manalyze/yara_rules أو /usr/local/share/manalyze/yara_rules).
شغّل السكريبت كلما أردت تحديث التوقيعات. يتم تخزين مخابئ Yara المترجمة في $XDG_CACHE_HOME/manalyze/yara_rules أو ~/.cache/manalyze/yara_rules, ويمكن تجاوزها باستخدام MANALYZE_CACHE_DIR.
مواقع التثبيت الافتراضية (مع احترام CMAKE_INSTALL_PREFIX) هي:
${CMAKE_INSTALL_SYSCONFDIR}/manalyze/manalyze.conf (غالبًا /etc/manalyze/manalyze.conf أو /usr/local/etc/manalyze/manalyze.conf)${CMAKE_INSTALL_DATADIR}/manalyze/yara_rules (غالبًا /usr/share/manalyze/yara_rules أو /usr/local/share/manalyze/yara_rules)${CMAKE_INSTALL_LIBDIR}/manalyze/pluginsيمكنك تجاوز هذه باستخدام متغيرات البيئة: MANALYZE_CONFIG_DIR, MANALYZE_DATA_DIR, MANALYZE_PLUGIN_DIR, MANALYZE_CACHE_DIR.
$ ./manalyze.exe --help
Usage:
-h [ --help ] Displays this message.
-v [ --version ] Prints the program's version.
--pe arg The PE to analyze. Also accepted as a positional
argument. Multiple files may be specified.
-r [ --recursive ] Scan all files in a directory (subdirectories will be
ignored).
-o [ --output ] arg The output format. May be 'raw' (default) or 'json'.
-d [ --dump ] arg Dump PE information. Available choices are any
combination of: all, summary, dos (dos header), pe (pe
header), opt (pe optional header), sections, imports,
exports, resources, version, debug, tls, config, delay, rich
--hashes Calculate various hashes of the file (may slow down the
analysis!)
-x [ --extract ] arg Extract the PE resources to the target directory.
-p [ --plugins ] arg Analyze the binary with additional plugins. (may slow
down the analysis!)
Available plugins:
- clamav: Scans the binary with ClamAV virus definitions.
- compilers: Tries to determine which compiler generated the binary.
- peid: Returns the PEiD signature of the binary.
- strings: Looks for suspicious strings (anti-VM, process names...).
- findcrypt: Detects embedded cryptographic constants.
- packer: Tries to structurally detect packer presence.
## Python bindings (manapy)
Python bindings live under `manapy/` and are imported as `manalyze`.
From the repository root:
cd manapy python -m pip install .
- imports: Looks for suspicious imports.
- resources: Analyzes the program's resources.
- mitigation: Displays the enabled exploit mitigation techniques (DEP, ASLR, etc.).
- overlay: Analyzes data outside of the PE's boundaries.
- authenticode: Checks if the digital signature of the PE is valid.
- virustotal: Checks existing AV results on VirusTotal.
- all: Run all the available plugins.
Examples:
manalyze.exe program.exe
manalyze.exe -dresources -dexports -x out/ program.exe
manalyze.exe --dump=imports,sections --hashes program.exe
manalyze.exe -r malwares/ --plugins=peid,clamav --dump all
اتصل بي أو افتح طلب سحب إذا كنت ترغب في إضافتك إلى هذه القائمة!