.Jar फ़ाइल से स्रोत कोड निकालें


172

क्या निष्पादन योग्य .jar फ़ाइल (Java ME) से स्रोत कोड निकालने का कोई तरीका है?


3
लेकिन ध्यान दें कि ऐसा करना इस बात के आधार पर अवैध हो सकता है कि क्या आप जार के कॉपीराइट के मालिक हैं, जिस देश में आप रहते हैं और उसे करने का आपका उद्देश्य है।
रिचर्ड

2
यदि यह खुला स्रोत है, तो डेवलपर से स्रोत प्राप्त करें। अन्यथा "EULA के साथ किसी भी अनुपालन की सराहना की जाएगी"।
एंड्रयू थॉम्पसन

प्रोसीओन डिकंपाइलर की जाँच करें। डाउनलोड यह जार फ़ाइलों को विघटित करने के लिए जार है। मैंने नीचे चरण दिए हैं
नितिन अंगड़ी

जवाबों:


146

JD GUI का उपयोग करें । एप्लिकेशन खोलें, अपनी JAR फ़ाइल को इसमें खींचें और छोड़ें।


6
क्या जेडी जीयूआई के बिना .jar से स्रोत कोड प्राप्त करने का एक तरीका है?
जुलकरनैन जट्ट

@ ज़ुलकेन के जवाब में @ZulqainainJutt का उपयोग करेंjar xf filename.jar
अरविंद श्रीधरन

46

आप कमांड के साथ जार फ़ाइल निकाल सकते हैं:

jar xf filename.jar

संदर्भ: ओरेकल के जार प्रलेखन


18
यह नाम बदलने के बराबर है filename.jarकरने के लिए filename.jar.zipऔर फिर बस यह अनज़िप।
मथियास बीनेंस

27
यह स्रोत कोड नहीं निकालता है। यह संकलित स्रोत कोड निकालता है।
0xcaff

5
@caffinatedmonkey जब यह java फाइल होता है, तो यह स्रोत कोड को निकालता है, उदाहरण के लिए "-source" में समाप्त होने वाले नामों के साथ jars। यह वास्तव में केवल .class फ़ाइलों को निकालता है जब जार में कोई जावा स्रोत फ़ाइलें नहीं होती हैं।
edwardmp

37

मेरा मानना ​​है कि यह बहुत आसानी से किया जा सकता है। आप हमेशा जार फ़ाइल के स्रोत फ़ाइलों (जावा फ़ाइलों) को ज़िप में निकाल सकते हैं।

ज़िप फ़ाइल के स्रोतों को ज़िप के रूप में प्राप्त करने के लिए चरण:

  1. से डाउनलोड JAD http://techieme.in/resources-needed/ किसी में है और इसे बचाने
    के लिए अपने सिस्टम पर स्थान।
  2. उस जार को खींचें और छोड़ें जिसके लिए आप JAD पर स्रोत चाहते हैं। 3 JAD UI एक ट्री फॉर्मेट में सभी पैकेज स्ट्रक्चर के साथ खुलेगा।
  3. फ़ाइल मेनू पर क्लिक करें और जार स्रोतों को चुनें।
  4. यह जार के रूप में एक ही नाम के साथ एक ज़िप के रूप में स्रोतों को बचाएगा।

उम्मीद है की यह मदद करेगा।

लिंक किसी कारण से मृत हो गया है इसलिए लिंक को जोड़ना जहाँ से आप JDGUI डाउनलोड कर सकते हैं


1
@ नीतेश ... मैं अपनी वेबसाइट पर होस्ट किए गए लिंक को पोस्ट कर रहा हूं ... कृपया इसे वहां से डाउनलोड करें
धाम

4
Techieme लिंक में संस्करण खूबसूरती से काम करता है, धन्यवाद!
DerStrom8

29

आपके JAR में स्रोत और javadoc हो सकते हैं, जिस स्थिति में आप बस jar xf my.jarउन्हें निकालने के लिए उपयोग कर सकते हैं।

अन्यथा आप एक डिकम्प्रेसर का उपयोग कर सकते हैं जैसा कि एडारश के उत्तर में उल्लिखित है:

JD GUI का उपयोग करें । एप्लिकेशन खोलें, अपनी JAR फ़ाइल को इसमें खींचें और छोड़ें।


21
ध्यान दें कि .jar फाइलें वास्तव में .zip फाइलें हैं और किसी भी ज़िप उपकरण के साथ खोली जा सकती हैं।
क्रिस नवा

11

मुझे पता है कि यह एक पुराना सवाल है फिर भी सोचा कि यह किसी की मदद करेगा

1) अपने जार फ़ाइल के फ़ोल्डर में जाएं।

2) यह .zip तक विस्तार है।

3) आप जाने के लिए अच्छे हैं और आसानी से इसे डबल क्लिक करके आसानी से निकाल सकते हैं।

नोट: मैंने मैक में यह परीक्षण किया है, यह काम करता है। उम्मीद है कि यह खिड़कियों पर भी काम करेगा।


2
@ जेकोडेक्स, मैं सेंटीमेंट एनालिसिस टूल "ओपिनफाइंडर" पर एक रिसर्च प्रोजेक्ट कर रहा हूं और इसके जार में वास्तव में जावा और क्लास फाइल्स दोनों हैं। इसलिए आपकी टिप्पणी 100% सत्य नहीं है। मुझे पता है कि इसमें आमतौर पर केवल .class होता है, लेकिन इस मामले में कम से कम
wired00

2
आपका समाधान केवल स्रोत कोड नहीं बल्कि .class फ़ाइलें निकालेंगे।
कार्लोस साए

लगता है JD-GUI एक बहु-प्लेटफ़ॉर्म उपकरण है जो वास्तव में कोड को डिकंपाइल करता है और सभी पैकेजों में कक्षाओं के लिए स्रोत कोड दिखाता है। मैंने इसे आज़माया और मैकओएस में एक सेकंड में स्रोत कोड प्राप्त कर सकता था। मेरे पास जावा 8 स्थापित है। आप इसे jd.benow.ca पर प्राप्त कर सकते हैं यदि यह बड़ी परियोजनाओं के लिए काम करता है तो निश्चित नहीं है।
कार्लोस सा से

1
स्रोत कोड की आवश्यकता है जो आपके द्वारा बताए गए तरीके से प्रदान नहीं करता है
chiragchavda.ks

3

अपने लिनक्स बॉक्स पर निम्न कार्य करें जहाँ जावा काम करता है (यदि आप चीजों को करने का टर्मिनल तरीका पसंद करते हैं)

cd ~
mkdir decompiled_code && cd decompiled_code
wget https://bitbucket.org/mstrobel/procyon/downloads/procyon-decompiler-0.5.36.jar
java -jar procyon-decompiler-0.5.36.jar /Path/to/your/jar -o .

ध्यान दें : जैसा कि @Richard ने टिप्पणी की "यह इस बात पर निर्भर करता है कि आप जार के कॉपीराइट के मालिक हैं, जिस देश में आप रहते हैं और इसे करने के लिए आपका उद्देश्य।"


एक विशिष्ट वर्ग फ़ाइल के लिए आप java-kar procyon-decompiler-0.5.36.jar पैकेज / ऑफ / / java / class.class> className.java
nitin angadi

0

AndroChef Java Decompiler बहुत ही अच्छा कोड बनाता है जिसे आप अपनी परियोजनाओं में सीधे उपयोग कर सकते हैं ...


-2

उपरोक्त उपकरण जार को निकालते हैं। जार को निकालने के लिए कुछ अन्य उपकरण और कमांड भी हैं। लेकिन AFAIK आप खिचड़ी भाषा में जावा कोड प्राप्त नहीं कर सकते हैं क्योंकि कोड को बाधित किया गया है।


7
सबसे बड़ा जवाब
fnc12

-6

मान लीजिए कि आपकी JAR फ़ाइल C: \ Documents and Settings \ mmeher \ Desktop \ jar में है और JAR फ़ाइल का नाम xx.jar है, तो कमांड प्रॉम्प्ट में नीचे दो कमांड्स लिखें:

1> cd C: \ Documents and Settings \ mmeher \ Desktop \ jar

2> जार xf xx.jar


-6

-Covert .jar फ़ाइल .zip (विंडोज़ में सिर्फ एक्सटेंशन बदलने के लिए) -Unzip .zip फ़ोल्डर में -आप को पूरी .java फाइलें मिलेंगी।


3
इस पद्धति पर एक छोटे नोट के रूप में ... यह सच है कि जार फाइलें फैंसी ज़िप फाइलें हैं। हालांकि, एक जार खोलना सबसे अधिक संभावना है * .class फ़ाइलें, कि "संकलित" जावा फ़ाइलें है। सामान्य जावा फ़ाइलों के लिए "डिकंपाइल" श्रेणी की फाइलें संभव है। यह कार्यक्षमता कई आईडीई में शामिल है
डैनियल हर्नांडेज़

यह सिर्फ कक्षा फ़ाइलों को अनलॉक करेगा
हर्षिल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.