كيفية عكس شريط Objcopy مع Debug فقط؟
سؤال
في Linux الحديثة ، يتم تجريد جميع الكائنات تقريبًا وتقسيمها في جزأين (ملفين). الأول قابل للتنفيذ نفسه والثاني هو رموز التصحيح ، التي تم تجريدها من قزم الأصلي. يتم إنشاء هذه الملفات مع
objcopy --only-keep-debug original.elf binary.dbg
mv original.elf binary
objcopy --strip-debug binary
كيف يمكنني الاندماج binary
و binary.dbg
في ملف ELF مع معلومات التصحيح؟ أريد إعادة إنشاء ثنائي أصلي. لا يمكن أن يكون بايت إلى بايت مساوياً للأصل ، ولكن يجب أن يكون لديه رموز تصحيح في الداخل.
ملاحظة نعم ، أنا أعرف عنها gnu.debuglink
القسم ، لكنه لا يعمل لبعض المصابين (ETNUS) و Disassemblers (لا يمكن لـ OBJDUMP استعادة معلومات الرموز)
المحلول
ل elf ، elfutils
تحتوي الحزمة على أداة تسمى eu-unstrip
هذا يفعل الوظيفة. في سياق مثالك:
eu-unstrip binary binary.dbg
binary.dbg
الآن لديه كل من الرموز الثنائية والتصحيح. سأقوم بتضمين إشارة إلى الوثائق إذا كان بإمكاني العثور على أي ...