Jar-Archive

Huhu,

kann man Jar-Archive auch wieder 'zurückverwandeln' ?
Wenn ich sie normal entpacke sind da ja nur die .class Dateien, wo eigentlich keiner meiner Codes enthalten ist...Zumindestens sieht das das dann so aus (Normaler Editor):

Java:
Êþº¾   2(  Window  javax/swing/JFrame  java/lang/Runnable vokabeln LVokabelnBerechnen; delData [[Ljava/lang/String; high answer [Ljava/lang/String; delTable Ljavax/swing/JTable; table frage Ljavax/swing/JLabel; fehler ergebnis zeit 	frageZeit maxZeit deutsch englisch idl deutschT Ljavax/swing/JTextField; 	englischT antwort name id drei Ljavax/swing/JRadioButton; fuenf acht zehn 
unbegrenzt jrbt Ljavax/swing/ButtonGroup; 
abschicken Ljavax/swing/JButton; restart copy start delete edit vor 
hinVokabel zurueck 
highSpeichern save jsp Ljavax/swing/JScrollPane; jsp2 del abfrage Ljava/lang/String; sprache nameV deut engl right I s zeitMal 	durchlauf time J abfragen Z editB end vok Ljava/util/ArrayList; 	Signature  Ljava/util/ArrayList<LVokabel;>; 
highscorer #Ljava/util/ArrayList<LTeilnehmer;>; writer Ljava/io/BufferedWriter; reader Ljava/io/BufferedReader; <init> ()V 
Exceptions X java/io/FileNotFoundException Z java/io/IOException Code
  ] T U _ javax/swing/ButtonGroup
 ^ ]	  b ' (	  d ? @	  f C @	  h F G j java/util/ArrayList
 i ]	  m N K
  o p q getContentPane ()Ljava/awt/Container;
 s u t java/awt/Container v w 	setLayout (Ljava/awt/LayoutManager;)V y VokabelnBerechnen
 x ]	  |  
  ~  U 
initWindow LineNumberTable LocalVariableTable this LWindow; … javax/swing/JLabel ‡ java/lang/StringBuilder ‰ 6Wie viele Vokabeln sollen abgefragt werden? (Maximal: 
 † ‹ T Œ (Ljava/lang/String;)V
 x Ž   getAnzahlVokabeln ()I
 † ’ “ ” append (I)Ljava/lang/StringBuilder; – )
 † ˜ “ ™ -(Ljava/lang/String;)Ljava/lang/StringBuilder;
 † › œ  toString ()Ljava/lang/String;
 „ ‹	  *  
 „ ]	  £   ¥ javax/swing/JRadioButton § 
Unbegrenzt
 ¤ ‹	  ª & " ¬ 3 Sek.	  ® ! " ° 5 Sek.	  ² # " ´ 8 Sek.	  ¶ $ " ¸ 10 Sek.	  º % " ¼ javax/swing/JButton ¾ <html><u>Speichern</html></u>
 » ‹	  Á 4 *	  Ã 3 *	  Å   Ç javax/swing/JTextField
 Æ ]	  Ê   	  Ì  	  Î   Ð Deutsch:	  Ò   Ô 	Englisch:	  Ö   Ø '<html><u>Vokabeln bearbeiten</u></html>	  Ú 1 * Ü Wie viele Sekunden pro Vokabel?	  Þ   à %<html><u>Ergebnis kopieren</u></html>	  â , *	  ä   æ ID:	  è  	  ê  	  ì   î <html><u>Abschicken</u></html>	  ð ) * ò <html><u>Neustarten</u></html>	  ô + * ö <html><u>Vor</u></html>	  ø 0 * ú <html><u>Zurück</u></html>	  ü 2 * þ <html><u>Start</u></html>	   - * <html><u>Löschen</u></html>	  . * <html><u>Editieren</u></html>	  / *
 Window$1
	 T
 (LWindow;)V
 Æ addKeyListener (Ljava/awt/event/KeyListener;)V Window$2

 » addActionListener "(Ljava/awt/event/ActionListener;)V Window$3
 Window$4
  Window$5
# Window$6
"	&(' java/awt/Color)* white Ljava/awt/Color;
 s,-. 
setBackground (Ljava/awt/Color;)V
 ¤,
 „123 	setBounds (IIII)V
 »1

(...)

Weaverslave:
Java:
Êþº¾.³¶.Ó·.Ö¶.ØS*´.Î..2.».ÚY*´

Unter Eclipse lassen sie sich gar nicht öffnen...

Gruß cRaZyYy

Danke im voraus!
 
M

maki

Gast
Du startest die JD-GUI und öffnest dann damit Jar Archive, oder du öffnest ein Jar Archiv mit der JD-GUI.

Wozu sollte jemand das Equinox Project SDK dekompilieren wollen???
 
Du startest die JD-GUI und öffnest dann damit Jar Archive, oder du öffnest ein Jar Archiv mit der JD-GUI.

Wozu sollte jemand das Equinox Project SDK dekompilieren wollen???

Nein... So meint ich das gar nicht...

Auf alle Fälle habe ich jetzt ein Problem...
Ich habe ja meinen Vokabeltrainer... Er funktioniert als .jar Datei auch.. Nach dem dekompilieren aber nicht mehr... Öhm.. Und ja... Es funktioniert auch nicht, wenn ich ihn wieder zu einem Jar-Archiv hinzufüge...

Er erstellt, wenn nicht vorhanden, zwei Textdatein.. Einmal für den Highscore und einmal für die Vokabeln.

Wenn ich nun eine hinzufüge, wird dieser zwar in die Textdatei geschrieben, aber irgendwie wird "nichts" ausgelesen. Er bekommt zwar mit, dass etwas drinsteht, aber hat sozusagen Leerstrings... oder so... Zumindestens steht dort: "Maximale Anzahl an Vokabeln: 1".

Hier liest er sie ein:
Java:
  public VokabelnBerechnen() throws IOException {
    String zeile = "";
    int i = 0;
    try {
      this.reader = new BufferedReader(new FileReader("eng.txt"));
    } catch (FileNotFoundException e) {
      e.printStackTrace();
      File eng = new File("eng.txt");
      eng.createNewFile();
      this.reader = new BufferedReader(new FileReader(eng));
    }
    do
      try {
        zeile = this.reader.readLine();
        if (zeile != null) {
          String[] tmp = zeile.split(";");
          Vokabel vokabel = new Vokabel(tmp[0], tmp[1]);
          this.vokabeln.add(i, vokabel);
          ++i;
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
    while (zeile != null);
    this.anzahlVokabeln = this.vokabeln.size();
  }

Hier füge ich eine hinzu:
Java:
    try {
      if ((this.deut.matches("[A-Za-z ßäöü']+")) && (this.engl.matches("[A-Za-z ']+"))) {
        BufferedReader ueReader = new BufferedReader(new FileReader("eng.txt"));
        for (int z = 0; this.vokabeln.getAnzahlVokabeln() > ++z; ) {
          String rVok = ueReader.readLine();
          if (neueVok.equals(rVok)) {
            exist = true;
          }
        }
        if (!exist) {
          this.writer = new BufferedWriter(new FileWriter("eng.txt", true));

          this.writer.write(this.deut + ";" + this.engl);
          this.writer.newLine();
          this.writer.close();
          this.frage.setText("Geben sie nach Bedarf eine weitere Vokabel ein!");
          this.vokabeln.getVokabeln().add(new Vokabel(this.deut, this.engl));
          this.vokabeln.setAnzahlVokabeln(this.vokabeln.getVokabeln().size());
        } else {
          this.frage.setText("Vokabel bereits vorhanden!");
        }
      } else {
        this.frage.setText("Eingabe ungültig! Versuchen Sie es erneut!");
      }
    } catch (Exception e) {
      e.printStackTrace();
    }

Hat wer eine Idee?

EDIT:
bzw.
... Die erste Vokabel funktioniert nicht?!
 
Zuletzt bearbeitet:
M

maki

Gast
Ich habe ja meinen Vokabeltrainer... Er funktioniert als .jar Datei auch.. Nach dem dekompilieren aber nicht mehr... Öhm.. Und ja... Es funktioniert auch nicht, wenn ich ihn wieder zu einem Jar-Archiv hinzufüge...
Dekompilierter Code ist nur selten wieder 100% Kompilierbar.

Ansosnten habe ich weder dein problem verstanden, noch wozu du einen Decompiler brauchst... :bahnhof:
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...

Oben