NetBeans jar2exe

Bluedaishi

Bekanntes Mitglied
Guten Morgen zusammen
Ich hab ein riesiges Problem
Und zwar ist mir bei einem Einbrauch mein Laptop geklaut worden auf diesem befand sich mein Java Projekt an dem ich seit 3,5 Jahren Arbeite ich habe davon leider keine Kopie gemacht . Aber einem Kunden von mir hatte ich zwei Tage zuvor eine Vorab Version die ich mittels jar2exe verschlüsselt habe geschickt . Diese ist jetzt auf dem Weg zurück zu mir jetzt ist meine Frage gibt es eine Möglichkeit diese jar Datei wieder aus dem exe file zuholen
Ich brauche dringend dabei Hilfe sonst waren die 3,5 Jahre umsonst . Ich hoffe hier kann mir jemand weiterhelfen
 

Bluedaishi

Bekanntes Mitglied
Hallo das war einfach Dummheit das nicht zu sichern aber das hilft mir auch nicht weiter ich habe mir die Links von euch angesehen und muss sagen ich komme damit nicht klar
 
K

kneitzel

Gast
Jooses Google Suche bietet doch eine nette Anleitung, wie das extrahieren der jar Datei funktioniert:
http://reverseengineeringtips.blogspot.com/2014/12/unpacking-jar2exe-21-extracting-jar.html

Aber gib mal Details - welche Version von jar2exe hast Du eingesetzt? Welche Parameter hast Du verwendet?

Und das mit den fehlenden Backups ist extrem. Hast Du keine Versionsverwaltung benutzt? Oder die nur lokal laufen gehabt? Hier gibt es sogar auch einige freie Angebote, so man nicht mit vielen Usern und/oder nicht zu viel Platz braucht. Zumal da ja jetzt die Sourcen auch nicht komplett wieder zur Verfügung gestellt werden sondern nur etwas, das decompiliert wurde.

Backups von Sourcen sind doch zu Zeiten der vielen Cloud-Angebote auch kein Thema. Sourcen nehme nun einmal relativ wenig Platz weg, so dass die freien Angebote von Google, Apple, Dropbox, Microsoft, .... alle mehr als ausreichend sein sollten ...

Konrad
 

Bluedaishi

Bekanntes Mitglied
Diese Seite hab ich schon versucht aber irgendwie stelle ich mich zu blöd an .
Ich habe die jar2exe Version 2.1 benutzt also die relative neue.
Parameter hab ich so gemacht wie die letzte Position auf dieser Seite die du mir gezeigt hast
als mit Verschlüsselung
 

Bluedaishi

Bekanntes Mitglied
Ansonsten hatte ich alles nur lokal laufen . Ich habe noch eine Platte gefunden von Mitte letzten Jahres .
Von da an sind noch so viele Änderungen gemacht worden das ich gar nicht mehr weiss wo ich anfangen soll deshalb war meine Hoffung das jar File aus der exe datei herraus zubekommen
 
K

kneitzel

Gast
Also dann stelle ich jetzt einfach einmal die Frage, in wie weit es sich lohnt, da jetzt noch Zeit zu investieren. Ich vermute, dass Du schon an der Ermittlung des Offsets im ersten Schritt hängst (Das ist auf dem ersten Blick irgendwie unverständlich), was aber kein Problem ist, da das Binary-Format erklärt ist und so Blöcke lassen sich ausfindig machen - Zur Not über die Beschreibung des Binary-Formats und viel manueller Prüfung im HexEditor.
Der Schritt mit dem Debugger ist hier schon recht komplex, aber auch das wird sich mit etwas Glück leicht nachvollziehen lassen, so die gleiche Version zum Einsatz kommt. (Dann muss man kein Assembler/Maschinencode im Detail analysieren sondern kann einfach das Beschriebene nachvollziehen).
Wenn man dann aber nach ganz viel Arbeit endlich das Jar File hat, dann weiss ich nicht, wie hilfreich das am Ende sein wird:

"As you can see here, the names of our classes and manifest files have been completely obfuscated. As a result, we need to recover these names manually."

Das ist durch einen Obfuscator gelaufen. Den Code aus dem Disassembler wirst Du somit kaum als Source verwenden wollen. Vergleiche mit vorhandenem alten Code werden recht schwer. Evtl. kann man dann zwar viel anpassen, indem man halt versucht vorhandenes wieder zu erkennen um dann die Namen wieder zu korrigieren, aber diese Arbeit ist extrem heftig. Ich bezweifle, dass diese Arbeit zeitlich besser kommt als ein Neuanfang.

-> Also sorg für Backups.
-> Leg so Sourcen von mir aus in irgendwelche Clouds. Hast Du Konten bei Microsoft, Google, Dropbox, ....? Da hast Du schnell zig GB und hast damit viel Platz für Backups.
-> Nutz auf jeden Fall eine vernünftige Sourcecode Verwaltung. Ich bin immer noch bei SVN aber GIT ist wohl ein Tool, auf das schon viele gewechselt sind. Aber natürlich ist die Auswahl an Tools noch deutlich größer!
-> Wenn Du schon dabei bist - ein Tool zum Managen von Veränderungen ist immer gut. Dann hast Du eine Dokumentation von erledigten Arbeiten, Arbeiten an denen Du dran bist und was es so für Ideen oder Anforderungen es so gibt. Da gibt es auch einige Tools für. Richtig sinnvoll sind die zwar erst im Team, aber ich habe die für mich auch immer im Einsatz.

Und dann viel Spass bei der erneuten Implementation der Änderungen...
Und viel Erfolg beim halten der Kunden ...

Konrad
 

Bluedaishi

Bekanntes Mitglied
Hallo danke erstmal für deine ausführliche Antwort . Der Versuch allein würde schon viel ausmachen auch wenn davon nur ein Bruchteil brauchbar ist . An dem Offset liegt es nicht viel mehr daran das ich mit dem odbg nicht so ganz klar komme . Ich finde die Hardware breakpoints nicht
 
K

kneitzel

Gast
Ja, ist richtig. Das ist nur zum Anzeigen. Du willst ja auf dem Speicher den Brakepoint setzen, d.h. du musst in dem Teil vom ollydbg mit der Speicheradresse, HEx Dump und ASCII zu dem Offset gehen, das markieren und dann Rechtsklick und im Menu wie Abgebildet Breakpoint -> Hardware -> On Access gehen.
 
K

kneitzel

Gast
Da werde ich nicht da sein, da ich morgen Abend und übermorgen bei der Feuerwehr sein werde.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
pikay Jar2Exe Alternative? Allgemeine Java-Themen 17

Ähnliche Java Themen

Neue Themen


Oben