سؤال

أنا أعمل على استنساخ elfdump أمر.

برنامجي يعمل بشكل جيد عند التشغيل elfdump -ecps *file* على جميع الملفات التنفيذية. ومع ذلك، عندما أقوم بتشغيل برنامجي في ملف مكتبة، أقول Libc.So، فإنه يطبع رقم إصدار غير صحيح لجميع الرموز في قسم .symtab (على وجه التحديد، كل صفر). لقد نظرت إلى توثيق أطنان من المرات، لكنني لا أستطيع معرفة سبب حدوث ذلك.

يمكن للشخص يرجى تقديم بعض النصائح؟ أو ربما كيفية اكتشاف ما إذا كانت مكتبة أم لا، حتى أتمكن من الحصول على رمز بجد 0 في؟

هل كانت مفيدة؟

المحلول

يمكنك تحديد ما إذا كنت تعمل مقابل مكتبة مشتركة عن طريق التحقق لمعرفة ما إذا كان حقل e_type et_dyn، أعتقد. (رجل العفريت (5))

هناك شرط بواسطة Ulrich Driepper الذي يغطي الحيل Glibc لكل رمز الحيل في ELF. ربما هناك معلومات إضافية هناك التي لم تواجهها من قبل. لا يبدو أن صفحات الرجل على Linux لتغطية معلومات الإصدار لكل رمز في مستندات ELF.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top