ELF এক্সিকিউটেবলে আমদানিকৃত প্রতীকগুলি কীভাবে তালিকাভুক্ত করবেন?


19

পিই এক্সিকিউটেবলের জন্য, আমি ব্যবহার করে আমদানি করা প্রতীকগুলি তালিকা করতে পারি

dumpbin /imports FILE.EXE

বা নির্ভরযোগ্য ইউটিলিটি যা জিইউআই অ্যাপ্লিকেশনটি ব্যবহার করে।

। nm ইএলএফ-বাইনারি 'কেবল "কোনও চিহ্ন নয়" দেয়।


উত্তর:


16

ইজডাম্প-টি 'ইএলএফ-ফাইল' ব্যবহার করে দেখুন


আমি ভেবেছিলাম
ইজডাম্প-টি

ভাল ... সত্যই নয়, যদি আমি করি :জেজডাম্প-টিন / বিন / এলএস এটি ফিরে আসে: "সিমবোল টেবিল: কোনও চিহ্ন নেই", -T সহ (যা ডাইমনিক সিম্বল টেবিলের তালিকাবদ্ধ করে) প্রচুর ডেটা দেয়, যেমন: "00000000 ডিএফ UND 00000000 GLIBC_2.0 strchr "
মিঃ শুঞ্জ

5

এজডাম্প থেকে আউটপুট এই উদ্দেশ্যে সামান্য অতিরিক্ত, এবং প্রকৃত আমদানিগুলি খুঁজে পেতে ভাল বিভাজন প্রয়োজন requires

আমি এই উদ্দেশ্যে পাঠ্যকে বেশি পছন্দ করি :

readelf -d dynamic-buffer-test

Dynamic section at offset 0x630a8 contains 23 entries:
 Tag                Type                 Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]

আপনি দেখতে পাচ্ছেন যে প্রয়োজনীয় গ্রন্থাগারগুলি "প্রয়োজন" দিয়ে চিহ্নিত করা হয়েছে।


এটি কেবল যে মোডে আপনি প্রার্থনা করেছেন তার উপর নির্ভর করে। ব্যবহার করে দেখুন objdump -p /path/to/binary | grep NEEDED
sherrellbc

এটি কেবল প্রতীক নয়, লাইব্রেরিগুলি তালিকাভুক্ত বলে মনে হচ্ছে।
প্লাগওয়াশ

5

আমি পছন্দ readelf

readelf -s <file>


এটি কেবল প্রয়োজনীয় লাইব্রেরি তালিকা করে। প্রশ্নটি হ'ল গ্রন্থাগারগুলি থেকে কী কী প্রতীক আমদানি করা হয় সে সম্পর্কে।
আলকারো

1

এখানে পোস্ট করা অন্যান্য উত্তরগুলির সাথে আমি আরও একটি প্রস্তাব দিতে চাই। মুদ্রিত সামগ্রীগুলি ফাইল ফর্ম্যাটের একটি ফাংশন, যেখানে ELF এই সমস্যাটি সমাধান করার জন্য নিজেকে সুন্দরভাবে ঘৃণা করে।

objdump -p /path/to/binary | grep NEEDED

গ্রেপ সহজেই এর সামগ্রীগুলি বের করে Dynamic Sectionতবে এর objdump -pআউটপুটটির বিন্যাস যা এটি একটি সহজ সমাধান করে তোলে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.