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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
firmware-mod-kit — تم التصدير تلقائيًا من code.google.com/p/firmware-mod-kit | Kitploit
أدوات/GitHubGitHub/rampagex/firmware-mod-kit
أمان الأنظمة المدمجةالهندسة العكسيةأمن الأجهزةتحليل البرامج الثابتة
GitHubrampagex/firmware-mod-kit

firmware-mod-kit

تم التصدير تلقائيًا من code.google.com/p/firmware-mod-kit

عرض المستودع
996207منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

إخلاء مسؤولية

تم التصدير تلقائياً من code.google.com/p/firmware-mod-kit

مجموعة تعديل البرامج الثابتة (Firmware Modification Kit)

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

root@kitploit:~
استخراج صورة البرنامج الثابت إلى مكوناتها
يقوم المستخدم بإجراء التعديل المطلوب على نظام الملفات الخاص بالبرنامج الثابت أو واجهة الويب (webif)
إعادة بناء البرنامج الثابت
وميض البرنامج الثابت المعدّل على الجهاز وتحويله إلى طوبة (هاها) 

تحذير: أنت على وشك تحويل جهازك إلى طوبة باستخدام هذه المجموعة (ربما لا، لكن من الأفضل القول إنك ستفعل). الطوبة تعني تحويل الجهاز بشكل فعال إلى 'طوبة' غير قابلة للتشغيل. يكون الاسترداد ممكنًا أحيانًا بدون تعديلات على الأجهزة. أحيانًا يتطلب تعديلات على الأجهزة (مثل رؤوس تسلسلية أو JTAG ملحومة على لوحة الدوائر المطبوعة). أحيانًا لا يكون ممكنًا، أو قد تكلفة الاسترداد الإجمالية أكثر من قيمة الوحدة.

لا تستخدم هذه المجموعة إذا لم تكن مستعدًا لتحويل جهاز التوجيه الخاص بك إلى طوبة!

اتفاقية ترخيص المستخدم النهائي (EULA): بتنزيلك أو استخدامك لهذه المجموعة، فإنك توافق على تحمل المسؤولية عن عواقب الاستخدام أو سوء الاستخدام لمجموعة تعديل البرامج الثابتة (Firmware Mod Kit). تشمل هذه العواقب تحويل جهازك إلى طوبة. لقد حذرك مؤلفو هذه المجموعة كما ينبغي. هذه المجموعة مخصصة فقط لمهندسي برمجيات الأنظمة المضمنة.

مجموعة تعديل البرامج الثابتة (Firmware Mod Kit)

  • مقدمة
  • المتطلبات الأساسية
  • استخدام المجموعة
    • ملفات تنفيذية للمجموعة
    • دليل عمل البرنامج الثابت
    • استخراج البرنامج الثابت
    • إعادة بناء البرنامج الثابت
    • تعديل صفحات ويب DD-WRT
    • العودة إلى برنامج ثابت للبائع
    • أمثلة
    • برامج لينكسيس الثابتة
    • أدوات / مساعدات
  • روابط أخرى

مقدمة

تسمح مجموعة تعديل البرامج الثابتة (Firmware Mod Kit) بفك وبناء صور البرامج الثابتة بسهولة لأجهزة مضمنة متنوعة. على الرغم من أنها تستهدف في المقام الأول أجهزة التوجيه المستندة إلى لينكس، إلا أنها يجب أن تكون متوافقة مع معظم البرامج الثابتة التي تستخدم تنسيقات وأنظمة ملفات شائعة مثل TRX/uImage و SquashFS/CramFS.

المتطلبات الأساسية

لاستخدام مجموعة تعديل البرامج الثابتة (Firmware Mod Kit)، يجب أن يكون لديك عميل subversion، وأدوات تطوير لينكس قياسية (gcc, make, إلخ)، ووحدة python-magic، وحزم تطوير zlib و lzma. إذا كنت تستخدم توزيعة لينكس تستخدم apt-get، مثل Ubuntu أو Debian، استخدم:

لـ Ubuntu 18.04 والإصدارات الأقدم:

root@kitploit:~
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic autoconf

لـ Ubuntu 20.04 والإصدارات الأحدث:

root@kitploit:~
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python3-magic autoconf python-is-python3

لـ RedHat:

root@kitploit:~
yum groupinstall "Development Tools"
yum install git zlib1g-dev xz-devel python-magic zlib-devel util-linux

لـ Arch Linux:

يوجد حزمة AUR لـ https://aur.archlinux.org/packages/firmware-mod-kit/

للتوزيعات الأخرى، يجب عليك تثبيت الحزم المكافئة باستخدام مدير الحزم الخاص بتوزيعتك.

root@kitploit:~
git clone https://github.com/rampageX/firmware-mod-kit.git
cd firmware-mod-kit/src
make

Binwalk 2.1.1

root@kitploit:~
[العودة إلى دليل firmware-mod-kit]
cd src/binwalk-2.1.1
sudo python2 setup.py install

مجموعة تعديل البرامج الثابتة (Firmware Mod Kit) مدعومة فقط على منصة لينكس. مع بعض التعديلات الصغيرة، يجب أن تعمل على منصات POSIX الأخرى.

استخدام المجموعة

استنساخ مستودع مجموعة تعديل البرامج الثابتة (Firmware Modification Kit) باستخدام Git.

ملفات تنفيذية للمجموعة

مجموعة تعديل البرامج الثابتة (Firmware Mod Kit) هي مجموعة من الأدوات والبرامج النصية. يمكن استخدام الأدوات مباشرة، أو يمكن استخدام البرامج النصية لأتمتة ودمج عمليات البرنامج الثابت الشائعة (مثل الاستخراج وإعادة البناء). البرامج النصية الأساسية لتسهيل عمليات البرنامج الثابت مذكورة أدناه.

البرامج النصية الرئيسية:

البرنامج النصيالوصف
extract-firmware.shبرنامج استخراج البرنامج الثابت
build-firmware.shبرنامج إعادة بناء البرنامج الثابت

البرامج النصية الثانوية:

ddwrt-gui-extract.shاستخراج ملفات واجهة الويب من برنامج DD-WRT الثابت المستخرج.
ddwrt-gui-rebuild.shاستعادة ملفات واجهة الويب المعدلة إلى برنامج DD-WRT الثابت المستخرج.

دليل عمل البرنامج الثابت

تستخدم مجموعة تعديل البرامج الثابتة (Firmware Mod Kit) دليل عمل 'مشفر بشكل ثابت' باسم 'fmk'. يقوم برنامج الاستخراج بالاستخراج إلى هذا المجلد، ويقوم برنامج إعادة البناء بإعادة البناء من هذا المجلد. دعم أدلة العمل البديلة متاح لـ بعض العمليات، ولكن ليس كلها. سنقوم بتوسيع ذلك في المستقبل. في الوقت الحالي، إذا كان لديك أدلة عمل متعددة، نقترح عليك إعادة تسمية الأدلة التي لا تعمل عليها حاليًا.

استخراج البرنامج الثابت

يعمل استخراج البرنامج الثابت التلقائي عادةً مع معظم صور البرامج الثابتة التي تستخدم رؤوس uImage/TRX وتستخدم أنظمة ملفات SquashFS أو CramFS. حالياً، extract-firmware.sh هي الطريقة المفضلة للاستخراج لأنها تدعم أنواعًا أكثر من البرامج الثابتة مقارنةً بالبرنامج النصي الأقدم old-extract.sh. ومع ذلك، لا يزال old-extract.sh مضمنًا ويعمل مع العديد من تنسيقات البرامج الثابتة.

الاستخدام لكل من extract-firmware.sh و build-firmware.sh مباشر:

root@kitploit:~
./extract-firmware.sh firmware.bin

افتراضيًا، سيكون الإخراج من extract-firmware.sh موجودًا في دليل 'fmk'، بينما سيضع old-extract.sh البيانات المستخرجة في دليل العمل المحدد.

إعادة بناء البرنامج الثابت

يعتمد برنامج البناء الذي يجب استخدامه على برنامج الاستخراج المستخدم. إذا قمت باستخراج صورة برنامج ثابت باستخدام extract-firmware.sh، فيجب عليك استخدام build-firmware.sh لإعادة بنائها. بالمثل، إذا تم استخدام old-extract.sh، فيجب استدعاء old-build.sh عند إعادة بناء صورة:

root@kitploit:~
./build-firmware.sh [-nopad] [-min]

سيكون موقع البرنامج الثابت الجديد الذي تم إنشاؤه بواسطة build-firmware.sh هو 'fmk/new-firmware.bin'، بينما سينشئ old-build.sh صور البرامج الثابتة بعدة تنسيقات مختلفة ويحفظها في دليل الإخراج المحدد.

سيؤدي المفتاح الاختياري -nopad إلى توجيه build-firmware.sh لعدم تبطين البرنامج الثابت إلى حجمه الأصلي.

سيستخدم المفتاح الاختياري -min الحد الأقصى لحجم كتلة squashfs البالغ 1 ميجابايت. سيؤدي ذلك إلى تقليل حجم صورة البرنامج الثابت على حساب موارد إضافية من وحدة المعالجة المركزية والذاكرة المستخدمة على الجهاز الهدف. لا تستخدم هذا المفتاح إلا إذا كان ذلك ضروريًا. هذا حجم كتلة كبير جدًا للأنظمة المضمنة. يتم الاحتفاظ بحجم كتلة squashfs الأصلي للبرنامج الثابت عند إعادة البناء، ويجب استخدام حجم الكتلة الأصلي إلا إذا كنت متأكدًا من أنك تعرف ما تفعله. قد يبدو حجم الكتلة الكبير جدًا يعمل بشكل جيد، لكن أداء وقت التشغيل للبرنامج الثابت قد يتأثر في جميع الأحمال أو بعضها.

تعديل صفحات ويب DD-WRT

إحدى الميزات الفريدة جدًا لمجموعة تعديل البرامج الثابتة (Firmware Mod Kit) هي قدرتها على استخراج وإعادة بناء الملفات من واجهة الويب الخاصة بـ DD-WRT. يتم أتمتة ذلك بواسطة البرامج النصية ddwrt-gui-extract.sh و ddwrt-gui-restore.sh.

بمجرد استخراج صورة برنامج ثابت لـ DD-WRT باستخدام extract-firmwware.sh، يمكنك استخراج ملفات الويب عن طريق تشغيل:

root@kitploit:~
./ddwrt-gui-extract.sh

سيؤدي ذلك إلى إنشاء دليل باسم 'www' واستخراج ملفات الويب هناك. يمكنك تعديل الملفات كما تشاء، لكن لا يمكنك إضافة أو حذف الملفات.

عند الانتهاء من التحرير، يمكنك إعادة بناء ملفات الويب عن طريق تشغيل:

root@kitploit:~
./ddwrt-gui-rebuild.sh

العودة إلى برنامج ثابت للبائع

أحيانًا ستقوم بحماس وميض برنامج ثابت لطرف ثالث مثل Gargoyle أو DD-WRT لتكتشف أنه يفتقر إلى ميزات تحتاجها، أو لا يعمل بشكل جيد مثل برنامج البائع الثابت، أو به مشاكل وظيفية. في هذه الحالة، قد تجد نفسك تريد العودة إلى برنامج البائع الثابت، ولكن ليس لديك طريقة للقيام بذلك!

إليك كيف يمكن لمجموعة تعديل البرامج الثابتة (Firmware Mod Kit) مساعدتك في العودة إلى برنامج ثابت للبائع. العملية كالتالي:

  1. استخراج برنامج البائع الثابت. ثم إعادة تسمية دليل 'fmk'.
  2. استخراج برنامج ثابت 'للترقية' من طرف ثالث (مثل Gargoyle-sysupgrade)
  3. استبدال rootfs و image_parts من برنامج الطرف الثالث المستخرج بتلك من برنامج البائع الثابت.
  4. إعادة بناء صورة البرنامج الثابت
  5. وميض صورة برنامج البائع الثابت (الآن معبأة كما يتوقع برنامج الطرف الثالث الخاص بك).
  6. إذا نجح كل شيء، فأنت الآن تستخدم برنامج البائع الثابت مرة أخرى.

بمجرد العودة إلى برنامج البائع الثابت، فإنه يقبل صور برنامج البائع الثابت مرة أخرى.

أمثلة

يوضح هذا المثال كيفية استخراج صورة برنامج ثابت، واستبدال خادم telnet الموجود بخادم مخصص مدمج، ثم بناء صورة برنامج ثابت جديدة:

root@kitploit:~
./extract-firmware.sh firmware.bin
cp new-telnetd fmk/rootfs/usr/sbin/telnetd
./build-firmware.sh

فيما يلي مثال للأوامر التي يجب تشغيلها لاستخراج صورة برنامج ثابت لـ DD-WRT، وتعديل صفحة الويب الرئيسية، وبناء صورة برنامج ثابت جديدة:

root@kitploit:~
./extract-firmware.sh firmware.bin
./ddwrt-gui-extract.sh
echo "HELLO WORLD" > www/index.asp
./ddwrt-gui-rebuild.sh
./build-firmware.sh

برامج لينكسيس الثابتة

لدى Linksys تذييلات مخصصة مع فحوصات مجموع اختباري (Checksum)، لذلك تم كتابة هذا البرنامج النصي لمحاولة أتمتة عملية حساب المجموع الاختباري للصورة وتغيير التذييل وفقًا لذلك. سيتم كتابة الصورة الجديدة إلى modified_checksum.img. قم بتشغيل هذا بعد التعديل و build-firmware.sh.

root@kitploit:~
./linksys_footer.sh modified_firmware.img

أدوات / مساعدات

تتكون مجموعة تعديل البرامج الثابتة (Firmware Mod Kit) من مجموعة من الأدوات المفيدة عند العمل مع صور البرامج الثابتة المضمنة. تشمل تلك المذكورة أدناه، على الرغم من وجود الكثير غيرها غير مدرجة هنا.

روابط أخرى

المنتدى

تنزيل الأداة
الأداةالوصف
AsusTRXإصدار موسع من ASUSTRX يمكنه بناء ملفات TRX 'عادية' و، اختياريًا، تلك التي تحتوي على رأس بنمط ASUS addver ملحق. يمكنه أيضًا، بشكل فريد، فرض إزاحات المقطع في TRX (باستخدام مفتاح -b) للتوافق مع أجهزة Marvell ASUS مثل WL-530g. تحل هذه الأداة محل كل من أداة trx 'العادية' و addver. الإصدارات الحالية المضمنة: 0.90 بيتا.
AddPatternأداة لإضافة رأس HDR0 بنمط Linksys قبل TRX.
AddVerأداة ASUS لإلحاق رأس بصورة TRX يحتوي على معلومات الإصدار. يتضمن ASUSTRX هذه الإمكانية. الإصدار الحالي: بدون إصدار.
Binwalkيمسح صور البرامج الثابتة بحثًا عن أنواع ملفات معروفة (رؤوس البرامج الثابتة، النوى المضغوطة، أنظمة الملفات، إلخ.)
CramFSCKأداة فحص واستخراج صورة نظام ملفات CramFS. الإصدارات الحالية المضمنة: 2.4x.
CramFSSwapأداة لتبديل ترتيب البايتات (endianess) لصورة CramFS
CRCalcأداة لترقيع جميع رؤوس uImage و TRX داخل صورة برنامج ثابت معينة.
MkSquashFSبناء صورة لنظام ملفات squashfs. الإصدارات الحالية المضمنة: 2.1-r2، 3.0.
MkCramFSبناء صورة لنظام ملفات cramfs. قادم في الإصدار التالي. الإصدارات الحالية المضمنة: 2.4x.
MotorolaBinأداة تضيف رؤوس 8 بايت لصور TRX لأجهزة Motorola WR850G، WA840G، WE800G. الإصدار الحالي: بدون إصدار.
Splitter3أداة لفحص واستخراج أجزاء صورة البرنامج الثابت المكونة.
Tpl-toolأداة للتعامل مع صور تنسيق TP-Link الخاص بالبائع.
UnCramFSأداة بديلة لاستخراج صورة نظام ملفات cramfs. استخدم cramfsck بدلاً من ذلك كلما أمكن لأنه يبدو أكثر موثوقية. الإصدارات الحالية المضمنة: 0.7 (لـ cramfs v2.x).
UnCramFS-LZMAأداة بديلة لاستخراج صور cramfs المضغوطة بـ LZMA، مثل تلك المستخدمة بواسطة OpenRG.
UnSquashFSيستخرج صورة نظام ملفات squashfs مضغوطة بـ zlib. الإصدارات الحالية المضمنة: 1.0 لصور 3.0 و 1.0 لصور 2.x (مزيجي الخاص).
UnSquashFS-LZMAيستخرج صورة نظام ملفات squashfs مضغوطة بـ lzma. الإصدارات الحالية المضمنة: 1.0 لصور 3.0 و 1.0 لصور 2.x (مزيجي الخاص). ملاحظة: ليست كل تصحيحات squashfs-lzma متوافقة مع بعضها البعض. أعمل على إضافة دعم لجميع أشكال squashfs-lzma الشائعة.
UnTRXيقسم برامج TRX الثابتة إلى أجزائها المكونة. يدعم أيضًا رؤوس HDR0 بنمط addpattern المسبوقة. تم تطوير هذا حصريًا لهذه المجموعة. الإصدارات الحالية المضمنة: 0.45.
WebDecompيستخرج ويستعيد ملفات واجهة الويب من صور برنامج DD-WRT الثابت، مما يسمح بتعديل صفحات الويب.
WRTVxImgToolأداة لإنشاء صور برنامج ثابت متوافقة مع VxWorks لسلسلة WRT54G(S) v5.