ईएलएफ निष्पादन योग्य में आयातित प्रतीकों को कैसे सूचीबद्ध करें?


20

पीई निष्पादन योग्य के लिए, मैं उपयोग किए गए आयातित प्रतीकों को सूचीबद्ध कर सकता हूं

dumpbin /imports FILE.EXE

या निर्भरता उपयोगिता का उपयोग करके जो GUI अनुप्रयोग है।

`एनएम ईएलएफ-बाइनरी 'सिर्फ" कोई प्रतीक नहीं "देता है।


जवाबों:


16

Objdump -T 'ELF-file' आज़माएँ


मैंने सोचा कि objdump -T ने मुख्य रूप से साझा पुस्तकालयों पर काम किया है ...
jim mcnamara

अच्छा ... वास्तव में नहीं, अगर मैं करता हूं: objdump -t / bin / ls यह रिटर्न करता है: "सिम्बॉल टेबल: नो सिंबल", -T (जिसमें डायनामिक सिम्बॉल टेबल को सूचीबद्ध करता है) बहुत सारे डेटा को आउटपुट करता है, जैसे: "00000000 DF UND 00000000 GLIBC_2.0 strchr "
श्री शुनज

5

Objdump से उत्पादन इस उद्देश्य के लिए थोड़ा अधिक है, और वास्तविक आयातों को खोजने के लिए एक अच्छे पार्सिंग की आवश्यकता है।

मैं इस उद्देश्य के लिए तत्पर हूं :

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

Grep बस की सामग्री को निकालता है Dynamic Section, लेकिन इसके objdump -pआउटपुट का प्रारूप जो इसे सरल समाधान बनाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.