Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Aus Jar-Dateien erstellte Exe-Dateien sind in der Java-Welt was ganz hässliches. Immer wieder kommt hier die Frage danach.
Dabei ist eine Jar-DAtei schon sowas wie eine Exe-Datei. Und auf den meisten Systemen sogar per Doppelklick startbar.
Die Frage ist, willst du die Datei nur mit einem Exe-Launcher starten? Oder willst du aus dem Java-Code nativen Code kompilieren?
Mal unabhängig davon, wofür du es verwenden möchtest, kann ich dir in der FAQ unter "6 Varianten Java-Programme zu starten - .jar, .bat, .exe, CD" die Punkte 4 und 5 emfpehlen:
Nahezu jeder Rechner hat mittlerweile eine JVM installiert. Die wenigen bei denen das nicht der fall ist, holen das gerne nach wenn dein Programm es wert ist.
also mein Ziel, habe eine Java-Applikation geschrieben, die ich dem Anwender zur verfügung stellen möchte, aber so, dass man nicht ans Quellcode dran kommen kann. Gibts da einen Tool oder der gleichen??
generell kann man jedes Programm wieder in Quellcode zurückwandeln. Bei Java geht dies etwas leichter da in den .class dateien oft noch die bezeichner der Variablen gespeichert sind. Bei anderen Programmiersprachen wie z.B. C ist dies genauso möglich dort sind nur die Variablennamen usw. weg, wenn sich aber jemand sehr gut auskennt ist es kein Problem C in Assembler zurück zu wandeln. Sprich du kannst nie 100'% sicher sein das jemand dein Prog zurück in den Quellcode zurück wandelt.
Man kann den Code nicht komplett zurück verwanden, jedoch gibt der Code genügend informationen um den Code abzuändern und dann erneut zu compilieren. Es kann damit nicht der Orginalquellcode wieder hergestellt werden, jedoch ein Quellcode mit dem es Möglich ist z.B. unter Assembler das Prog neu zu kompillieren. Dies zeigen die Cracker, die Spieldateien abändern und neu kompilieren ohne den Qeuellcode zu besitzen.
edit// Man kann aus Maschinencode keinen Quelltext einer Hochsprach Erzeugen, da im Maschinencode viele infos wie die Variablennamen verloren gehen, es ist aber problemlos möglich Maschinencode in Assembler, der ja maschinencode in einer für den Menschen lebbareren Form darstellt, zurück zu verwandeln.
ich wollte auch nur zeigen das C genauso abgeändert werden kann wie Java und ob jemandem, der Teile eines Progs stehlen bzw. anderes damit vor hat ein Quellcode oder Assemblercode vorliegt egal ist. Er kann in beiden Fällen das Prog abändern.
Während ich bei Java wirklich den größtenteil des Quellcodes zurückbekomme, muss ich in C/C++ auf dissambler und assembler ausweichen.
Das wäre so, als ob ich Java Klassen nur mit einem Bytecode manipulator ändern könnte... da ist der Quellcode viel besser
also wie lautet jetzt die simpelste Lösung?? Es handelt sich hier um keine Hacker, sondern normale Anwender. Die sich auch nicht sonderlich mit Programmieren auskennen. eine unklare struktur in C würde hier auch schon ausreichen. Möchte aber keine meiner Java-Klassen hinterlassen. So war das ungefähr gemeint. Das wenn jemand da was machen möchte schon sehr viel Mühe einstecken muss.
Dann ist es völlig unnötig den Code unlesbar zu machen (zu obfuskieren). Du wirst ja keine bahnbrechenden Erfindungen in deinen Code geschrieben haben. Es reicht schon eine ordentliche Lizenzschrift, um festzulegen, was mit dem Programm gemacht werden darf und was nicht.
Ist dein Code so schlecht, oder warum willst du ihn unbedingt verstecken? :bae:
Nein, mal ehrlich: Wenn dein Programm von "normalen" Anwendern verwendet wird, würde ich an deiner Stelle überhaupt keine Mühe ins Verstecken investieren. Mach es, wie L-ectron-X sagt: Hinweis zu den Lizenzbedingungen, und gut ist.