ليف-باتشيلف: محرر ELF متعدد المنصات لإصلاح المفسر والاعتماديات
تعديل مسار مترجم ELF، إضافة أو إزالة إدخالات DT_NEEDED، وتحرير قيم RPATH أو SONAME من مضيفي Windows أو Linux. تم إنشاؤه بواسطة رومان توماس كجزء من مشروع LIEF، يعيد الأداة تنفيذ واجهة سطر الأوامر الكلاسيكية NixOS patchelf بلغة Rust، باستخدام محرك إعادة الكتابة الموجه نحو القطاعات من LIEF. يدعم إكمال الأوامر وصفحات المساعدة، ويتناسب مع الباحثين في الأمن، ومعبئي الحزم، ومهندسي DevOps الذين يحتاجون إلى تعديلات ثنائية دقيقة عبر المضيفين من أجل التوافق أو التحليل.
ما الذي يغيره الأداة داخل ملف ELF الثنائي
تقوم الأداة بتحرير حقول ELF المحددة: مسار الرابط الديناميكي (المفسر)، إدخالات الاعتماد DT_NEEDED، سلاسل RPATH و RUNPATH، و SONAME لمكتبة. يمكنها أيضًا تقليص RPATH عن طريق إزالة الأدلة التي لا تحتوي على المكتبات المرجعية. تتم هذه العمليات من سطر الأوامر وتحافظ على التوافق مع واجهة patchelf الأصلية، لذا فإن السكربتات التي تستدعي CLI الكلاسيكية تقبل الأداة دون تغيير استدعائها.
مدى موثوقية عملية إعادة الكتابة على أنظمة الملفات المختلطة
تستخدم الأداة محرك إعادة كتابة قائم على القطاعات من مكتبة LIEF بدلاً من طريقة قائمة على الأقسام، مما يقلل من فساد التخطيط عندما تحتوي الثنائيات على تخطيطات قطاعات غير قياسية أو محسّنة. كونها مكتوبة بلغة Rust يوفر مزايا أمان الذاكرة أثناء إعادة كتابة الثنائيات. تتيح البناءات متعددة المنصات لنظامي Windows و Linux و macOS لك تصحيح ملفات ELF على جهاز مضيف يختلف عن وقت التشغيل المستهدف، وهو مفيد عندما لا يمكنك تشغيل بيئة Linux الأصلية.
السلامة، تأثير النظام، ومتطلبات سير العمل
الأداة هي CLI مستقلة تعمل مباشرة على ملفات ELF؛ لا تحاول إجراء تغييرات على النظام عبر الإنترنت. لأنها تحافظ على توازن سطر الأوامر مع الأداة الأصلية، يمكن أن تستدعيها الأنابيب الآلية بنفس الطريقة التي تفعلها بها السكربتات بالفعل. يوفر التوزيع ثنائيات مسبقة التجميع أو بناءات مصدرية عبر مجموعة أدوات Rust، لذا يحتاج المستخدمون إلى خبرة أساسية في سطر الأوامر ومجموعة أدوات Rust فقط إذا اختاروا التجميع من المصدر.
توصية عملية للمستخدمين الفنيين
الأداة خيار دقيق للمهندسين الذين يجب عليهم تعديل بيانات ELF الوصفية من مضيفين غير لينيكس؛ إنها تناسب سير العمل الذي يعتمد بالفعل على واجهة سطر الأوامر patchelf. اختبر التغييرات ضد نسخ من الثنائيات وشغل البرنامج التنفيذي المعدل في بيئة تشغيل مناسبة أو محاكي قبل النشر. موصى به.