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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
moria — تحديد واستخراج البرامج الثابتة لإنترنت الأشياء | Kitploit
أدوات/GitHubGitHub/nmatt0/moria
أمان الأنظمة المدمجةأمان إنترنت الأشياءالهندسة العكسيةجمع المعلوماتتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةالأدوات والمكوناتأمان الأجهزة وإنترنت الأشياءتحليل الملفات الثنائيةتحليل البرامج الثابتة
GitHub
320392منذ 6 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

moria

تحديد واستخراج البرامج الثابتة لإنترنت الأشياء

عرض المستودع

moria

تحديد واستخراج البرامج الثابتة لإنترنت الأشياء

يحدد moria الملفات والبنى المضمّنة داخل البرامج الثابتة وصور إنترنت الأشياء (أنظمة الملفات، النوى، محمّلات الإقلاع، الأرشيفات، المفاتيح) ويفكّ معظم ما يجده، دون صلاحيات الجذر. يبلّغ عن كل اكتشاف بإزاحة بايت، ونوع، ودرجة ثقة، ويتحدث JSON نظيفًا بحيث يمكن للسكربتات ووكلاء LLM تشغيله بسهولة كما يفعل البشر.

لماذا moria

  • يستخرج مجموعة واسعة من أنظمة الملفات داخل العملية، دون sudo: SquashFS، ext2/3/4، F2FS، XFS، btrfs، HFS+، NTFS، EROFS، JFFS2، UBIFS، والمزيد.
  • تعاودي افتراضيًا. SquashFS ملفوف بـ gzip داخل وحدة UBI يُفكّ حتى النهاية.
  • يكشف الملفات التنفيذية المحزومة. يكتشف ELF/PE/Mach-O المحزومة بـ UPX عبر المعماريات من ذيل PackHeader المُتحقَّق من مجموع التحقق (الصيغة، الطريقة، والأحجام)، ويكشف الركائز التي صُفِّر رأسها أو عُدِّل لإفشال upx -d.
  • حتمي. المدخل نفسه ينتج المخرج نفسه دائمًا؛ حلّ التعارضات لا يحتوي على كسر تعادل عشوائي.
  • آمن مع المدخلات العدائية. كل قراءة محدودة النطاق، وكل كتابة تمر عبر openat + O_NOFOLLOW (لا اجتياز مسار ولا هروب عبر رابط رمزي)، وفكّ الضغط محدود ضد القنابل.
  • التحديد أولًا. شجرة مقروءة افتراضيًا، JSON (-j) للأدوات، مع الإزاحات والثقة على كل اكتشاف.

البناء والتثبيت

root@kitploit:~
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
cmake --install build --prefix ~/.local     # or /usr/local (needs sudo)

يتطلب البناء cmake، ومترجم C++20، ومكتبات التطوير zlib وliblzma وlz4 وzstd (أدوات فك الضغط التي يستخدمها --extract). على Debian/Ubuntu: sudo apt install cmake g++ zlib1g-dev liblzma-dev liblz4-dev libzstd-dev. للبناء بدون أحدها (بناء أدنى أو للتحديد فقط)، اضبط الإعداد بـ -DMORIA_OPTIONAL_CODECS=ON ويُعطَّل الترميز المفقود ببساطة.

ملف moria التنفيذي مكتفٍ ذاتيًا: جميع مجموعات التوقيعات مضمّنة وقت البناء، لذا يعمل الملف التنفيذي في أي مكان دون تثبيت أي شيء بجانبه (cp build/moria ~/.local/bin كافٍ، وملف تنفيذي مُنزَّل من إصدار يعمل مباشرة). لاستخدام توقيعات خارجية بدلًا من المضمّنة (لاختبار .toml جديد دون إعادة البناء، مثلًا)، مرّر --sigs DIR أو اضبط $MORIA_SIGDIR.

الاستخدام

المخرج مقروء للبشر افتراضيًا. مرّر -j للحصول على JSON.

root@kitploit:~
moria <file>              # identify: a findings tree with offsets, types, and confidence
moria <dir>               # scan a tree: a type summary plus the notable files
moria -j <file>           # JSON, for tools and agents
moria -e <file>           # extract to <file>.extracted/   (-C DIR to choose the output dir)
moria -c <file>           # carve raw byte ranges to <file>.carved/ (no parsing)
moria -E <file>           # entropy pass: flag unidentified / possibly-encrypted regions
moria --list <archive>    # list tar/cpio/zip members without extracting
moria --broad <path>      # also load the ~2.5k general file-type signatures
moria --help

الاستخراج

يفكّ -e الصيغ المتعرَّف عليها تحت <file>.extracted/، بدليل واحد لكل منطقة (0x<offset>-<type>/)، بالإضافة إلى manifest.json يربط الإزاحات بالمسارات. يتعاود تلقائيًا داخل الحاويات المتداخلة ويعيد بناء صور UBI وحدة بحجم وحدة. الحواجز (--depth، --max-files، --max-bytes، وحد أقصى لنسبة فك الضغط) تحدّ من المدخلات العدائية؛ الحاجز المُفعَّل يوقف ذلك الفرع ولا يزال يعيد كل ما استُعيد.

يُفكّ داخل العملية، دون أدوات خارجية ودون sudo:

  • أنظمة الملفات: SquashFS، ext2/3/4، F2FS، FAT12/16/32، exFAT، NTFS، HFS+/HFSX، XFS، btrfs، JFFS2، UBI/UBIFS، romfs، YAFFS2، cramfs، EROFS
  • الأرشيفات والصور: ZIP، tar، cpio، ISO 9660، Android sparse، Android boot
  • النوى والأغلفة: U-Boot uImage، U-Boot FIT، تدفقات gzip / xz / zstd / lz4 المستقلة
  • حزم البرامج الثابتة: RAE Systems / Honeywell RFP (جدول الأقسام؛ يفكّ ضغط كل قسم بـ LZARI)

التوقيعات

  • signatures/ هو النواة المكتوبة يدويًا: أنظمة ملفات البرامج الثابتة، والحاويات، والنوى، والصيغ الشائعة، كل منها مع تحقق بنيوي.
  • signatures-firmware/ يحمل سحر حاويات البرامج الثابتة الخاصة بالموردين ويُحمَّل افتراضيًا.
  • signatures-generated/ يحمل ~2.5k من سحر أنواع الملفات العامة المستمدة من قاعدة سحر file(1) ويُحمَّل فقط مع --broad.

لإضافة صيغة، ضع ملف .toml في signatures/. لا حاجة إلى مُدقّق C++ صغير إلا للفحوص التي لا تستطيع الطبقة التصريحية التعبير عنها، مثل CRCs أو المؤشرات العابرة للكتل.

النطاق

يقوم moria بالتحديد البنيوي والاستخراج والنحت. فحص الأسرار/بيانات الاعتماد، وSBOM، وCVE، وتحليل التراخيص أداة منفصلة (mithril).

الترخيص

MIT، انظر LICENSE.

بعض معالجة صيغ القرص هي إعادة تنفيذ نظيفة للخوارزميات في مشاريع مفتوحة المصدر أخرى، مكتوبة بشكل مستقل مقابل طبقة الإدخال/الإخراج الخاصة بـ moria (لم يُنسخ أي كود): مفكّك ضغط UCL/NRV2B ومرشّحات CTO العكسية من UPX/UCL (GPL-2.0، الخوارزميات فقط)، وتخطيط metadata-commit وCTZ skip-list في littlefs (BSD-3-Clause)، وتخطيط الصفحة/الكائن في SPIFFS (MIT).

تنزيل الأداة