2012-05-26 19 views
5

यदि मैं असेंबली कोड प्राप्त करने के लिए javap -c ASM.class > ASM.java चलाता हूं, तो मैं इसे वापस जेवीएम बाइटकोड में कैसे पुन: संकलित करूं?मैं जेवीएम असेंबली कोड को बाइटकोड में कैसे संकलित करूं?

+1

पहले .java' का उपयोग नहीं कर 'विधानसभा जावा के लिए के रूप में यह भ्रम की स्थिति है की कोशिश करो। मैं '.jasm' –

+0

@ColeJohnson धन्यवाद का उपयोग करता हूं। मुझे उस फ़ाइल एक्सटेंशन के बारे में पता नहीं था। डेवलपर के रूप में – Orcris

+2

, आप जो भी चाहें अपनी फाइलों को लेबल कर सकते हैं। कोई मानक नहीं है। मैंने बस जैस्म को इसे .asm के बीच अंतर करने के लिए चुना और जम्मू चुना क्योंकि यह नस्ल, मस्तिष्क, आदि की तरह है (??? ASEMbler) –

उत्तर

5

Jasmin जावा बाइटकोड के लिए एक असेंबलर है। हालांकि, मुझे नहीं पता कि यह जवाप से आउटपुट का सामना कर सकता है या नहीं।


अद्यतन

जैस्मिन प्रलेखन इस बारे में javap उत्पादन का कहना है:

सूर्य एक javap प्रोग्राम है जो एक वर्ग फ़ाइल में विधानसभा कोड मुद्रित कर सकते हैं प्रदान करता है। हालांकि, javap आउटपुट एक असेंबलर प्रारूप के रूप में उपयोग के लिए अनुचित है। इसे किसी व्यक्ति द्वारा पढ़ने के लिए डिज़ाइन किया गया है, जिसे एक असेंबलर द्वारा पार्स नहीं किया जाना चाहिए, इसलिए इसमें कई चूक और कमीएं हैं।

इस के आधार पर, मैं कहना चाहता हूँ वहाँ एक कोडांतरक कि अपने इनपुट के रूप में javap उत्पादन लेता है पाने की संभावना बहुत कम है।

-2

आप एएसएम द्वारा यह करने के लिए कोशिश कर सकते हैं, यह वर्ग उत्पन्न या क्रम में वर्ग को संशोधित किया जा सकता है

+0

यह सवाल का जवाब नहीं देता है, आईएमओ। –

+0

एएसएम आपको रनटाइम पर जावा बाइटकोड को संशोधित करने की अनुमति देता है, असेंबली कोड नहीं लेता है और इसे बाइटकोड में परिवर्तित नहीं करता है, हालांकि यह असुरक्षित नहीं है कि कोई भी असेंबली पढ़ने और एएसएम के साथ बाइटकोड उत्पन्न करने के लिए प्रोग्राम बना सकता है। – mailmindlin

संबंधित मुद्दे