मैं निम्नलिखित विशेषताएं होनी चाहिए कि एक जावा 86 disassembler पुस्तकालय रहा हूँ:कोई ऑब्जेक्ट-ओरिएंटेड फ्लेक्सिबल जावा x86 डिससेबलर लाइब्रेरी?
- वियोजन X86 कोड
- बताते X86 जावा वर्गों के साथ आदेश और
- आदेश कक्षाएं ऑब्जेक्ट्स एक आगंतुक जो एक है स्वीकार करना चाहिए सामान्य वापसी मान
तो, अगर मैं कुछ कोड है कि इस तरह एकत्रित न होता है:
MOV EAX, EBX
CALL 1234
JMP 88
तब लाइब्रेरी को MOV, कॉल और जेएमपी के लिए तीन ऑब्जेक्ट्स बनाना चाहिए। फिर मैं एक आगंतुक को लागू करता हूं जो विविध चीजें करता है (उदा: व्याख्या करना, x64 में परिवर्तित करना या किसी अन्य प्रोसेसर आर्किटेक्चर के लिए निर्देश)।
अग्रिम धन्यवाद।
मुझे विश्वास नहीं है कि इस तरह के एक डिस्सेबलर मौजूद है, क्योंकि असेंबलर प्रक्रियात्मक है। तो आप प्रक्रिया को फिर से डिजाइन किए बिना प्रक्रियात्मक से ऑब्जेक्ट ओरिएंटेड में परिवर्तित नहीं कर सकते हैं और यह हाथ से किया जाना चाहिए। – Zemzela
बिंदु प्रक्रियात्मक रूप से ऑब्जेक्ट उन्मुख डिजाइन में कनवर्ट करने के बारे में नहीं है। मैं सिर्फ एक पुस्तकालय चाहता हूं जो जावा ऑब्जेक्ट्स के रूप में प्रक्रियाओं का वर्णन करता है और मैं जो कुछ भी चाहता हूं वह कर सकता हूं। – belgther
लेकिन आप बाइनरी को अलग करने और जावा-प्रोग्राम के साथ आउटपुट को पार्स करने के लिए नियमित x86 डिस्सेबलर का उपयोग क्यों नहीं करते हैं। इसके बाद आप ऑब्जेक्ट्स की सूची में अलग-अलग कोड को पढ़ सकते हैं जो एमओवी या कॉल निर्देशों का प्रतिनिधित्व करता है; या आप जंप निर्देशों द्वारा उपखंडों की पहचान करने की कोशिश कर रहे वृक्ष संरचना का निर्माण करने का प्रयास कर सकते हैं। –