2012-07-16 41 views
6

द्वारा उपयोग की जाने वाली डिस्सेप्लिब्स लाइब्रेरी मैं एक लाइब्रेरी खोज रहा हूं जो बाइनरी कोड के डिस्सेप्लर करता है।objdump

मैंने पाया कि libdisasm वही कार्य करता है जैसा मैं चाहता हूं। हालांकि, मुझे कुछ लिंक मिलते हैं जो दर्शाते हैं कि libdisasm 64-बिट निष्पादन योग्य के लिए काम नहीं करता है। क्या यह सही है ?

लेकिन 64-बिट निष्पादन योग्य के लिए objdump का आउटपुट विश्वसनीय है (मेरे सर्वोत्तम ज्ञान के लिए)। तो, objdump भी disassembly के लिए एक समान पुस्तकालय का उपयोग करता है ?? प्रारंभ में, मैंने सोचा था कि objdump libdisasm का उपयोग करता है।

उत्तर

10

objdump से libopcodes का उपयोग करता है। हालांकि, यह बहुत बुनियादी है, क्योंकि यह केवल पाठ प्रतिनिधित्व और निर्देशों के बारे में कोई संरचित जानकारी प्रदान नहीं करता है। अन्य विकल्प:

+0

ठीक है धन्यवाद। लेकिन क्या आप जानते हैं कि libdisasm 64-बिट का समर्थन करता है या नहीं ?? –

+0

लिंक के लिए धन्यवाद - दिलचस्प पढ़ता है। –

1

यह एक टिप्पणी में एक प्रश्न मूल पोस्टर से पूछा स्पष्ट करने के लिए बस है (मेरे पास टिप्पणी करने के लिए अपर्याप्त अंक हैं)।

libdisasm परियोजना को कई वर्षों में सक्रिय रूप से बनाए रखा नहीं गया है। यह x86-64 (64-बिट) निर्देश सेट, या SSE3 के बाद x86 (32-बिट) एक्सटेंशन का समर्थन नहीं करता है।

ओपिसिस परियोजना libdisasm के प्रतिस्थापन है। Libdisasm के लेखक ने इंटेल और एएमडी के निरंतर बदलते निर्देश सेटों का समर्थन करने के लिए आवश्यक लगातार अपडेट से बचने के लिए ओपिसिस लिखा था। ऑप्डिस में वास्तविक ऑपोड डिस्सेप्टर्स को जीएनयू बिनुटिल्स (ओब्जेडम्प द्वारा उपयोग किए जाने वाले डिस्सेबलर) से लिबोपोड्स द्वारा नियंत्रित किया जाता है, जिसमें ऑप्डिस निर्देश मेटाडाटा और उच्च स्तरीय डिस्सेप्लर फ़ंक्शन प्रदान करता है।