Variablen Verwirrend Breaks

Elias177

Mitglied
Guten Tag,
ich habe einen Code Decompilet da ich diesen gerne Bearbeiten möchte und ein Paar anpassung machen möchte, dabei sind mir ein Paar fehler entgegengekomen die ich so weit behoben gabe aber nun ist mir ein Fehler entgegengekommen den ich nicht so einfach behebn kann da er mich verwirrt. Vlt. habt ihr ja eine Idee was es sein kann.

Code (Snippet):
Java:
double d22 = calculateSpeed(d4, d5, d12, str2);
              double d18 = calculateReynold(str2, d4, d12, d6);
              double d19 = calculateLambda(d18, d12);
              double d20 = calculateDeltap(d4, d19, d5, d6, str2, d12, d11, d13, d14, d16, d15);
              if (d20 <= d1 * 0.9D * (this.UnitRadioEnglish.isSelected() ? 14.50377439D : 1.0D))
              {
                d20 = Math.round(d20 * 100.0D) / 100.0D;
                d22 = Math.round(d22 * 100.0D) / 100.0D;
                

                if (str1.equalsIgnoreCase("L"))
                {
                  if (d22 > 10.0D * (this.UnitRadioEnglish.isSelected() ? 3.2808D : 1.0D)) {}
                }
                else
                {
                  if (!str1.equalsIgnoreCase("G")) {
                    break label722;
                  }
                  if (d22 <= 75.0D * (this.UnitRadioEnglish.isSelected() ? 3.2808D : 1.0D)) {
                    break label722;
                  }
                }
                bool = false;
                label722:
                String str3;
                if (this.AccuracyRadioStandard.isSelected()) {
                  str3 = (String)localVector1.elementAt(23);
                } else {
                  str3 = (String)localVector1.elementAt(22);
                }

In dem Code kommt zweimal
Java:
break label722;
vor, es verwirrt mich da eis keine Variable names "label722" gibt und Zude kommt noch etwas weiter unten
Java:
label722:
.

Jetzt meine Frage: Wie kann ich das am besten Fixxen ? weil wenn ich einfach das "label722" herausnehme kann ich das Progrramm ausführen us.. aber es Funktioniert nicht so wie es sollte. (Es ist ein Programm in dem man Werte eintragen kann und es dan anzeigt in einer Tabele welches Gerät dies unterstüzt in Schwarz und die es nicht tuhen in Rot, und es werden alle Geräte Rot angezeigt obwohl mansche Schwarz sein sollten).
 
K

kneitzel

Gast
Also generell halte ich es für fragwürdig, Code zu decompilen um diesen zu bearbeiten.

Aber:
Wenn das Ergebnis des Decompilers sich nicht erneut übersetzen lässt, dann ist der decompiler unbrauchbar oder nicht auf den Code anwendbar (weil der irgendwie geschützt wurde).

Und was das break angeht: Das nutzt ein Label und wenn Du schaust, dann siehst Du auch das gesetzte Label zwischen dem bool = false und String str3;
Aber so wie da das Label gesetzt ist, ist es falsch, denn es wird dadurch kein das break umgebener Block definiert.
(JLS 14.15)
 

Neue Themen


Oben