2009-09-06 10 views
31

मैं जावा वर्गों विघटित बैच के लिए एक कार्यक्रम के लिए देख रहा हूँ। मैंने जेएडी पाया, लेकिन यह जावा की कुछ नई सुविधाओं का समर्थन नहीं करता है, और इस कार्यक्रम का लाभ यह है कि यह कमांड लाइन से निष्पादित हो सकता है और स्वचालित रूप से * .java फ़ाइल उत्पन्न कर सकता है।बैच decompiling जद-जीयूआई के साथ फ़ाइलें

मैं भी जद-जीयूआई पाया। यह जावा की अधिकांश सुविधाओं का समर्थन करता है, लेकिन कमी यह है कि यह बैच प्रोसेसिंग नहीं कर सकता है। आपको प्रोग्राम के साथ कक्षा फ़ाइल खोलने और सहेजने पर क्लिक करना होगा।

वहाँ जद-जीयूआई JAD तरह बैच प्रोसेसिंग कर बनाने के लिए एक तरीका है? जद-जीयूआई के लिए

उत्तर

48

कमांड लाइन decompilation एक highly requested सुविधा है, लेकिन यह अभी तक लागू नहीं किया है। शायद आप इस दौरान निम्नलिखित कार्यवाही का उपयोग कर सकते हैं:

  1. जार (या ज़िप) उन सभी कक्षाओं को जिन्हें आप एक साथ अपनाना चाहते हैं।
  2. लॉन्च जद-जीयूआई और अपने जार (ज़िप) संग्रह को खोलने।
  3. उपयोग "फाइल" - "जार सूत्रों का कहना है सहेजें" मेनू विकल्प। यह आपके संग्रह से सभी वर्गों को विघटित कर देगा और अपने स्रोतों को किसी अन्य ज़िप फ़ाइल में सहेज देगा।

मैं कमांड लाइन समर्थन के साथ किसी अच्छे ओपन सोर्स जद-जीयूआई विकल्प नहीं देखा है, दुर्भाग्य से, इसलिए मुझे लगता है इसके बाद के संस्करण के रूप में यह अब के लिए हो जाता है के रूप में अच्छा है।

+10

मैं सिर्फ एक CLI आवरण जद का उपयोग करता है की खोज की है - https://github.com/nviennot/ देखना जेडी-कोर-जावा –

+1

यह भी वादा करता है (वास्तव में यह रॉब डब्ल्यू द्वारा उपर्युक्त का एक कांटा है) और यह एक पुस्तकालय भी प्रदान करता है; लेकिन मैंने अभी तक इसका परीक्षण नहीं किया है: https://github.com/kwart/jd-cmd – ozeebee

+0

मुखपृष्ठ में अब ड्रैग और ड्रॉप डिकंपेलर है। आप जानते हैं इसका क्या अर्थ है ...;) –

3

मैं JadRetro के साथ conjuction में Jad उपयोग करने की अनुशंसा कर सकता है - निश्चित रूप से, यह Jad जावा जेनरिक लेकिन (जावा 1.5+ कक्षाओं के लिए भी शामिल है) decompiled स्रोत का उत्पादन नहीं कर सकते हैं कार्यात्मक मूल (और वापस सबसे में compilable के बराबर है मामले)।
इसका उपयोग सरल है:

jadretro * .class
jad .class

नोट्स:
1. JadRetro इस तरह बैच मोड में इस्तेमाल किया जा सकता: jadretro ...
2. आप तो जाड v1.5.8e (नवीनतम v1.5.8g के बजाय) का उपयोग कर रहे हैं, फिर "-c" विकल्प जेडेट्रो को पास किया जाना चाहिए (अन्यथा जाड जावा 1.5+ कक्षाओं को डीकंपाइल करने से इंकार कर देगा)।

1

ऐसा लगता है कि आप कमांड लाइन का उपयोग करके एक बार में libs के पूरे समूह के साथ जीयूआई लॉन्च कर सकते हैं और फिर CTRL + ALT + s/CTRL + w प्रत्येक टैब को जल्दी से सहेजने/बंद करने के लिए लॉन्च कर सकते हैं। यह निर्भरता के ढेर को कम करने के दौरान स्वचालित लेकिन सहनशील नहीं है। (ध्यान दें कि "^" बस बहु लाइन Windows में आदेश करने के लिए एक चाल है।)

"c:\jd-gui-0.3.6.windows\jd-gui.exe"^
c:\my-libs\lib-a.jar^
c:\my-libs\lib-b.jar^
c:\my-libs\lib-c.jar^
c:\my-libs\lib-d.jar^
c:\my-libs\lib-e.jar 
संबंधित मुद्दे