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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
memoro — Memoro: مُحلّل تفصيلي للكومة | Kitploit
أدوات/GitHubGitHub/epfl-vlsc/memoro
التحليل الديناميكي (عزل)تحليل الذاكرة الجنائيمصممي الأخطاءتحليل الملفات الثنائية
GitHubepfl-vlsc/memoro

memoro

Memoro: مُحلّل تفصيلي للكومة

عرض المستودعالموقع الإلكتروني
18416منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Memoro

ميمورو هو أداة تحليل تفصيلية عالية الدقة للكومة (heap).

لا يُظهر لك ميمورو أين ومتى يقوم برنامجك بتخصيص الذاكرة من الكومة فحسب، بل يظهر لك كيف استخدم برنامجك تلك الذاكرة بالفعل.

يجمع ميمورو معلومات مفصلة عن الوصول إلى الكومة، بما في ذلك القراءة والكتابة إلى الذاكرة وموعد حدوثها، ليعطيك فكرة عن مدى كفاءة استخدام برنامجك لذاكرة الكومة.

يتضمن ميمورو تطبيقًا مرئيًا يقوم بتقطير كل هذه المعلومات إلى درجات ومؤشرات لمساعدتك في تحديد مناطق المشاكل.

alt text

للحصول على معلومات أكثر تفصيلاً حول كيفية عمل ميمورو، انظر هنا

بناء وتثبيت

الخطوات التالية توضح دليل البدء السريع لاستخدام ميمورو. للحصول على تعليمات إعداد تفصيلية، راجع هنا. للحصول على دليل حول استخدام ميمورو، راجع هنا.

بناء المترجم المُجهّز بالأدوات (Instrumented compiler)

أولاً، ستحتاج إلى بناء نسخة محلية من LLVM/Clang لتتمكن من تجميع الكود الخاص بك مع أداة ميمورو. الإصدارات المُجمّعة مسبقًا غير متوفرة بعد، ولكن إذا طلب مني عدد كافٍ من الأشخاص، ربما سأستضيفها هنا.

اتبع تعليمات بناء LLVM/Clang هنا، ولكن استخدم المستودعات المحددة المدرجة أدناه. ميمورو ليس بعد في فرع التطوير (dev branch) لـ LLVM/Clang.

يُوصى باستخدام مستودعات مرآة git بدلاً من SVN. بالنسبة لمستودع LLVM الرئيسي، ومستودع Clang، ومستودع CompilerRT، استخدم إصدارات ميمورو:

LLVM

Clang

CompilerRT

يجب أن تكون هذه المستودعات افتراضيًا على الفرع memoro_80.

بناء مكتبة C++ الخاصة بالتطبيق المرئي (Visualizer)

استنسخ هذا المستودع باستخدام git clone [email protected]:epfl-vlsc/memoro.git

ادخل إلى الدليل.

$ cd memoro

قم بتشغيل npm install للتأكد من وجود جميع تبعيات JavaScript. ثم ستحتاج إلى بناء الإضافة (addon) الخاصة بمعالجة البيانات بلغة C++. للقيام بذلك، قد تحتاج أولاً إلى تثبيت node-gyp (npm install -g node-gyp) ثم،

root@kitploit:~
cd cpp
node-gyp build --release --target=1.7.9 --arch=x64 --dist-url=https://atom.io/download/electron
cd ..

target هو إصدار Electron الذي يجب أن يتطابق مع الإصدار المستخدم لتشغيل التطبيق الرئيسي. قم بضبط هذا إذا لزم الأمر. قم أيضًا بضبط arch إذا لزم الأمر، لكني لم أختبر بعد على أنظمة x64 غير *nix. يوجد أيضًا ملف Makefile يجب أن يعمل لمعظم المستخدمين.

من الواضح أنك ستحتاج إلى تثبيت مترجم C++ لاستخدام node-gyp.

التشغيل

تجهيز برنامجك بالأدوات وتشغيله

أولاً، قم ببناء البرنامج الذي ترغب في تحليله باستخدام LLVM/Clang الذي قمت ببنائه سابقًا. أضف علامة المترجم -fsanitize=memoro لإضافة التجهيز بالأدوات، واختياريًا -fno-omit-frame-pointer للحصول على تتبعات مكدس (stack traces) جيدة. إذا كانت لديك خطوة ربط (linking) منفصلة، فقد تحتاج أيضًا إلى -fsanitize=memoro لضمان ربط بيئة تشغيل Memoro/Sanitizer. يُوصى باستخدام محلل الرموز LLVM (symbolizer) لتتبعات المكدس، قم بتعيين متغير البيئة MEMORO_SYMBOLIZER_PATH للإشارة إلى مكان وجود llvm-symbolizer. أو فقط ضعه في PATH الخاص بك.

قم بتشغيل برنامجك. بعد الانتهاء، ستنشئ بيئة تشغيل ميمورو ملفين، *.trace و *.chunks. يمكن فتح هذه الملفات وعرضها باستخدام التطبيق المرئي.

استخدام التطبيق المرئي لميمورو

بعد بناء إضافة C++، يمكن تشغيل التطبيق مباشرة من دليل المستودع

root@kitploit:~
electron .

ملف->فتح أو Cmd/Ctrl-O للفتح، انتقل إلى وحدد ملف التتبع أو ملف القطع.

صيد سعيد لمشاكل الكومة :-)

تثبيت التطبيق المرئي

استخدم electron-packager لجمع وتصدير جميع الأكواد والموارد إلى حزمة تطبيق.

root@kitploit:~
electron-packager . --overwrite --platform=<platform> --arch=x64 --electron-version=1.7.9 --icon=assets/icons/icon64.icns --prune=true --out=release-builds

مرة أخرى، قم بضبط platform و arch وإصدار electron إذا لزم الأمر.

المساهمة

المساهمات مرحب بها جدًا. يرجى تقديم طلب سحب (pull request) أو التواصل.

تنزيل الأداة