मुझे लगता है कि कुछ जावा डीकंपलर पठनीय जावा स्रोतों के लिए बाइटकोड को विघटित कर सकते हैं, मुझे आश्चर्य है कि जावा से आने वाले सभी बाइटकोड (अन्य जेवीएम भाषा नहीं) को जावा स्रोतों में फिर से तैयार किया जा सकता है?यदि जावा स्रोतों से संकलित सभी बाइटकोड जावा स्रोतों के लिए decompiled किया जा सकता है?
अद्यतन
क्षमा करें, मुझे सवाल और अधिक स्पष्ट करते हैं।
बस जेवीएम पर सामान्य जावा कोड (कोई एंड्रॉइड, कोई बाइटकोड एन्हांस नहीं, कोई एओपी, कोई obfuscation) के बारे में बात करते हैं, और मुझे उम्मीद है कि बाइटकोड decompiled किया जा सकता है। लेकिन मुझे नहीं पता कि जावा कोड के रूप हैं जो बाइटकोड में संकलित हैं, कभी भी पठनीय जावा स्रोतों के लिए तैयार नहीं होंगे।
अधिकांश जावा कोड मूल भाषा में लिखे गए हैं ... इसलिए आप विधि घोषणा कर सकते हैं लेकिन इसका शरीर नहीं ... इसके अलावा, उदाहरण के लिए एंड्रॉइड स्रोतों को खराब कर देगा .. यह आपके लिए कठिन बना रहा है अगर आप इसे संकुचित करते हैं तो भी पढ़ने के लिए। – chuthan20
सिद्धांत रूप में, किसी भी nonobfuscated कक्षा उचित रूप से अच्छी तरह से decompiled किया जा सकता है। व्यावहारिक रूप से, सभी मौजूदा डिकंपलर विशेष रूप से विचित्र और जटिल कक्षाओं के लिए असफल हो जाएंगे। कई संकीर्ण प्राइमेटिव्स के प्रकार कास्टिंग अच्छी तरह से संभाल नहीं करते हैं। – Antimony