Announcement

Collapse
No announcement yet.

Dekompilieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dekompilieren

    Hallo,

    diesmal hab ich gleich ein paar Fragen:
    <p>1)wie kann ich es am besten und effektivsten verhindern, daß meine Applikation wieder dekompiliert wird?
    <p>2)wie kann ich gif-Bilder bearbeiten, so daß sie auch nachher noch das Verhalten haben wie zuvor? Jch meine v.a. die Eigenschaft eines Bildes, welches auf einem Button eingebunden wird und bei dem die "Hintergrundfarbe" des Bildes der Farbe des Buttons angepaßt wird - auch wenn der Button die Farbe ändert. Wenn ich ein Bild, das diese Eigenschaft hat, bearbeite, dann hat es nachher diese Eigenschaft nitcht mehr.
    <p>3)Wie kann ich meine Applikation am Besten konfigurieren, damit sich die Anordnung der Panels,... der Größe des Bildschirms anpaßt? Ich hab auf meiner Oberfläche vier große Panels - links untereinander drei Stück und rechts eines. Bei einem größeren Bildschirm soll das Programm natürlich auch noch einigermaßen vernüftig aussehen. Das tut es derzeit überhaupt nicht.

    Danke im Voraus,
    <br>Gruß,
    <br>Andreas
    <br>

  • #2
    Hi Andreas,<br>
    zu 1): Gar nicht! Aber Du kannst den decompilierten Code schwer lesbar machen. <br>
    Dazu gibt es Freeware und käufliche Tools (z.B. DashO, gut aber teuer!) - Stichwort "Java Obfuscator" für eine google Suche.<p>
    Zu 2) Das hört sich nach TRANSPARENTEN Gifs an. Ich habe noch nicht
    festgestellt, dass die Transparenz verloren geht beim Bearbeiten, aber
    Du musst sie dann eventuell nach dem Bearbeiten mit Deinem Tool wieder herstellen.
    <p>
    zu 3)Ich nehme an, Du hast auf Deiner Oberfläche 4 JFrames falls Du
    mit Swing arbeitest und in diesen Frames dann Panels. Du kannst diese
    Frames an die Bildschirmgrösse anpassen, z.B. so dass sich diese 4 den Platz optimal aufteilen. Dazu schreibst Du am besten einen WindowManager, bei dem sich jeder Frame beim Öffnen registriert und beim Schliessen de-registriert. Dieser WindowManager verwaltet dann mit Hilfe von <pre>
    /**
    * Return the screen size in pixel but handle the Windows taskbar setting:
    * this is controled by the property "showTaskBar" = "Yes/No". It should correspond
    * to the actual Windows settings.
    * The default is "Yes" (taskbar always on "top").
    *
    * @return The adjusted screen size
    */
    public static Dimension getScreenSize() {
    if (properties.getBoolean("showTaskbar", true) == true) {
    return new Dimension(Toolkit.getDefaultToolkit().getScreenSiz e().width,
    Toolkit.getDefaultToolkit().getScreenSize().height - 25);
    }
    else {
    return Toolkit.getDefaultToolkit().getScreenSize();
    }
    }
    <pre>
    die Bildschimrgrösse.<br>
    ich glaube, ab JDK1.4 kann man die Grösse der Windows Taskbar abfragen, bin aber nicht sicher.
    <p>
    Gruss Klau

    Comment


    • #3
      Ergaenzung zu 2)

      Bei GIFs kann eine Farbe beim Speichern als transparent definiert werden, wie Klaus beschriebn hat. Ggf. verwendest Du ein Tool, das beim GIF-Speichern diese Option nicht bietet, bzw. diese verpfuscht. Ein Tool, das diesbezueglich gute Dienste leistet, ist Paint Shop Pro. Einfach beim GIF-Speichern in die Optionen gucken, welcher Index der Farbtabelle als transparent dargestellt wird.

      Herzliche Gruesse aus Hannover,
      Stefa

      Comment


      • #4
        Hallo, Leute,

        danke für die Antworten.
        Das mit den Gif's hab ich gecheckt. Paint Shop Pro macht die Teile transparent. Tja, da hat man Programme auf dem PC, die genau das können, was man braucht, aber man weiß es nicht.

        Zum Dekompilieren: Ich muß mal etwas surfen, was solche Programme angeht. Ich bin mittlerweile auch schon über den Begriff "Diffusor" gestolpert. Ist das das Gleiche? Kennt jemand einen guten kostenlosen oder eine Shareware? Ich bräuchte das Teil derzeit nur für eine Akion.

        Zum Anpassen der Oberflächen: Ich hab ein JFrame, auf dem 4 JPanels sind. Ich hab's mittlerweile so hingekriegt, daß je nach Bildschirmgröße sich das JFrame und die Panels der Größe des Bildschirms anpassen, doch der Inhalt der Panels bleibt unverändert. Ich benutze in den Panles GridBagLayout. Das müßte doch eigentlich dazu führen, daß der Inhalt angepaßt wird. Tut's aber nicht. Wenn sich das Panel bei größerem Bildschirm vergrößert, dann ist der Inhalt genauso komprimiert wie zuvor und befindet sich in der Mitte des Panels mit riesigem leeren Rand. Sieht ziemlich Scheiße aus. Der Inhalt ist übrigens ziemlich komplex. Da sind nicht nur 1-2 Labels, ein Button und ein Textfeld drin, sondern einiges mehr. Daher schätze ich, könnte die Anpassung recht heftig werden.
        Übrigens rafft meine Applikation bisher nur beim Programmstart, daß wie groß die Bildschirmgröße ist, doch wenn ich das Fenster verkleinere, wenn das Programm gestartet ist, dann juckt das das Programm überhaupt nicht. Dann verschwindet einfach ein Teil meiner Oberfläche. Keine Anpassung!

        Könnt Ihr mir weiterhelfen?
        MfG,
        Andrea

        Comment


        • #5
          Hi Andreas,<br>
          GridLayout statt GridBagLayout für Dein JFrame sollte helfen: also die JPanels z.B. in einem 2x2 Grid. Geht mit GridBagLayout auch, man muss aber etwas an den Parametern (GridbagConstraints) drehen. Das ist nicht so heftig wie Du glaubst, aber man muss sich halt intensiver mit GridBagLayout und seinen Parametern und ihrer Wechselwirkung beschäftigen. Ich habe eine komplexe Oberfläche vernüftig nur mit diesem LayoutManager geschafft, aber das hat mich einen Arbeitstag gekostet.
          <p>
          Gruss Klau

          Comment


          • #6
            Was den Dekompilier-Schutz angeht, wuerd ich vorerst noch nicht SOVIEL Gedanken daran verschwenden. Du musst ja Deine Software nicht gleich als OpenSource vertreiben, ich verdien ja selbst mein Geld als Programmierer Bei einem etwas groesseren Programm ist der Source meistens schon schwer genug zu lesen, wenn man weiter keine Dokumentation hat, und aus dem Dekompiler faellt wirklich nur das allernoetigste heraus, keinerlei Kommentar (wenn Du mit javac -g:none uebersetzt, was kleinere und damit schneller geladene class-Dateien erzeugt, weil der Debug-Code wegfaellt). Falls es doch mal von Interesse wird: Versuch ueber "suchen" etwas rauszufinden, die Frage wurde schon mehrfach mit ein paar Links beantwortet.<p>
            Gruss, Marc

            Comment

            Working...
            X