Java Decompiler

...IDE, compilers, κλπ

Συντονιστής: konnn

Java Decompiler

Δημοσίευσηαπό T3rmInAt0r » 25 Μαρ 2009, 21:22

Αυτή τη φορά ψάχνω για ένα καλό decompiler java για να μετατρέψω τα *.class σε *.java ώστε να μπορώ να τα επεξεργαστώ και να παράγω κάτι δικό μου και να μπορώ να το κάνω compile χωρίς να υπάρχει πρόβλημα στο αρχικό class που δανείστηκα.
Αρχικά βρήκα τον jadclipse που είναι plugin για το eclipse. Ακολούθησα το tutorial του όμως τελικά δε κατάφερα να το κάνω να δουλεύει.
Έτσι λοιπόν αποφάσισα να βρω κάποιο άλλο πρόγραμμα που να μην είναι plug in σε κάτι άλλο.
Βρήκα το jd-gui (απλό και λητό και με gui....) δυστυχώς τα "καλά" σταματούν εδώ καθώς κάνοντας decompile την αρχική μου class σε java και στη συνέχεια ξανά compile δε μπορούσα να παράγω το ίδιο class με πριν (στην περίπτωσή μου είναι ένα applet, όπου δεν ξεκινούσε καν)
Τελικά ανακάλυψα το jode http://jode.sourceforge.net/download.php . Στο τρέχον site υπάρχει και σε applet ο decompiler. Ο οποίος δουλεύει μια χαρά. Έτσι λοιπόν αποφάσισα να το εγκαταστήσω και στο μηχάνημά μου.
Κατέβασα τα jar και tar.gz για αυτό. Διάβασα το readme και το install.... όμως κόλλησα στη διαδικασία. όταν εκτελώ το configure μου εμφανίζεται το παρακάτω σφάλμα....

checking for /usr/lib/java/lib/classes.zip... no
checking for /usr/lib/java/lib/rt.jar... no
checking for /usr/lib/java/jre/lib/classes.zip... no
checking for /usr/lib/java/jre/lib/rt.jar... no
checking for /usr/lib/java/shared/classes.zip... no
checking for /usr/lib/java/shared/rt.jar... no
checking for jikes... no
checking for unzip... /usr/bin/unzip
checking for java.lang.Object... no
configure: error: Please specify location of core java class library <---- ???????

μπορεί κάποιος να καταλαβει τι είναι????

ο κώδικας του configure στο αντίστοιχο σημείο είναι:


echo $ac_n "checking for java.lang.Object""... $ac_c" 1>&6
echo "configure:1827: checking for java.lang.Object" >&5

if (IFS=":"
clazz=`echo java.lang.Object | sed -e 's/\./\//g' -e 's/\(.*\)/\1.class/'`
myclasspath=$CLASSLIB;
for path in $myclasspath; do
if test -d $path; then
if test -f $path/$clazz; then
exit 0
fi
elif CLASS_CHECK $path $clazz ; then
exit 0
fi
done;
exit 1)
then
echo "$ac_t""yes" 1>&6
else
echo "$ac_t""no" 1>&6
{ echo "configure: error: Please specify location of core java class library" 1>&2; exit 1; }
fi


echo $ac_n "checking for java.lang.ref.WeakReference""... $ac_c" 1>&6
echo "configure:1851: checking for java.lang.ref.WeakReference" >&5

if (IFS=":"
clazz=`echo java.lang.ref.WeakReference | sed -e 's/\./\//g' -e 's/\(.*\)/\1.class/'`
T3rmInAt0r
babeTUX
babeTUX
 
Δημοσιεύσεις: 44
Εγγραφή: 19 Νοέμ 2008, 04:32
Εκτύπωση

Re: Java Decompiler

Δημοσίευσηαπό DarkFire21 » 11 Απρ 2009, 15:16

Χαιρετω τα παιδια.Ειχα λιγο καιρο να μπω στο forum :D

--

Ριξε μια ματια εδω.Αν και απο οτι ξερω δεν δινει εγγυημενα σωστα αποτελεσματα το decompiling.

Επισης χωρις να εχω σκοπο να σου κανω κυρηγμα, κατα κανονα ειναι παρανομο.Αν δεν ειναι ζητα το source code απο τον δημιουργο ;)
Επίπεδο Γνώσεων: Linux:Μέτριο/Προγραμματισμός:Ναι:Αγγλικά:Μέτρια
Ubuntu 8.04 32bit
Intel Celeron 2.4/2x1024/Nvidia 7600 GeForce/IBM 1024x768
DarkFire21
babeTUX
babeTUX
 
Δημοσιεύσεις: 50
Εγγραφή: 11 Νοέμ 2008, 17:24
Εκτύπωση

Re: Java Decompiler

Δημοσίευσηαπό mathpoet » 13 Απρ 2009, 12:33

Δεν χρειάζεται να το κάνεις build...

Αν έχεις στήσει java, αρκεί να κατεβάσεις το jode-1.1.2-pre1.jar και να το τρέξεις δίνοντας:
Κώδικας: Επιλογή όλων
java -jar jode-1.1.2-pre1.jar

Αφού ανοίξει, πας "options - set classpath" και εκεί προσθέτεις το jar/class/... που θες να κάνεις decompile
mathpoet
babeTUX
babeTUX
 
Δημοσιεύσεις: 72
Εγγραφή: 27 Νοέμ 2008, 16:27
Εκτύπωση

Re: Java Decompiler

Δημοσίευσηαπό T3rmInAt0r » 13 Απρ 2009, 14:56

παιδιά ευχαριστώ πολύ για τα σχόλιά σας,
Θα το δοκιμάσω (σε 1-2 εβδομάδες) και θα σας πώ αποτελέσματα.

thanx again!
T3rmInAt0r
babeTUX
babeTUX
 
Δημοσιεύσεις: 44
Εγγραφή: 19 Νοέμ 2008, 04:32
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού