Java Übergebenen Programmcode editieren - womit?

Beschreibe bitte Mal dein Problem genau.

Siehst du im JD den dekompilierten Code?
Fehlt dir nur das Speichern im JD?

Screenshots helfen uns evtl auch.
Wir werden die aber sicherlich nicht bei jedem kleinen Problem helfen. Ein wenig mehr Initiative von deiner Seite ist da schon notwendig. Sonst machen wir die Arbeit eines Freelancer und der Thread hat dann über 100 Seiten.
 
cumulonimbus8 schrieb:
Vorweg - vielleicht habe ich den falschen JD in Benutzung. Oder ich bin zu bekloppt damit irgendwas auf die wunderbare Weise zu öffnen wie es JAVA haben will.
Sag mal, hast du meinen Beitrag #55 überhaupt gelesen? Ich habe sogar den JD Compiler, den ich getestet habe, darin verlinkt ... hier nochmal für dich, und das hat dann auch nix mit "ich bin Laie" zu tun wenn du Dinge nicht liest resp. mal nachsiehst welches Programm ich verwendet habe.
abcddcba schrieb:
Ist n Witz, oder? Ich hab jetzt mal schnell JD Compiler runtergeladen und gestartet ...
File -> Save All Sources
speichert das Jar File xyz.jar als xyz.jar.src.zip
Probier es bitte aus, und evtl. antwortest du auch einfach mal darauf - Schritt für Schritt solltest du die Dinge hier angehen.
Wie du dann das Zip File entpackst, das weißt du?
Und wie man in Eclipse ein neues Projekt anlegt und dann den Quellcode dort importiert, das ist wohl klar, oder?
 
Hab jetzt JD auch mal ausprobiert. jar öffnen und dann File -> Save All Sources.
Ok, wenn du daran schon scheiterst (wir sind jetzt schon auf Seite 4) und schaffst nicht mal die paar Klicks...ich weiß nicht so recht, wo das hinführen soll...
 
cumulonimbus8 schrieb:
An die Hand nehmen? (Ich vergesse mich mal: ) Ja, genau das will ich von Experten die wissen was zu tun ist, aber offenbar mit den nötigen Infos ungewollt hinterm Berg halten, weil sie schon so weit weg sind, dass ihnen nicht die Idee kommt, dass Laien sog. Selbstverständliches gar nicht kennen können.
Ich finde es eher schade, dass Menschen in solchen Threads auch auf Seite 4 noch bereit sind zu helfen, sich selber zu verlinken, zu wiederholen und so 'macht mir das'-Leuten weiter helfen, die nicht das mehrmals kommunizierte Mindestmaß an Eigeninitiative aufweisen. Das ist schließlich Freizeit für die Menschen hier die aus auf Spaß an der Freude weiterhelfen und du willst hier Dinge kostenlos, die 70+ Euro die Stunde kosten.
 
Ich wollte ihm eigentlich nur aufzeigen, dass er gegen die Wand fährt. Das sieht er halt erst, wenn er den dekompilierten Code sieht :evillol:
Die nächsten Schritte wird er niemals schaffen (Projekt einrichten, usw....) und da kann auch hier kaum noch jemand helfen. Das ist zu individuell von Projekt zu Projekt.
 
  • Gefällt mir
Reaktionen: BeBur
Ich gebe @Ruheliebhaber vollkommen Recht. Hier bei cb liegt der Schwerpunkt nicht bei der Softwareentwicklung, sondern eher bei Hardware. Und in diesem Thread geht es sogar noch um einen Sonderfall "reverse engineering". Es sind also nur wenige User hier, die sich damit auskennen.

Grundsätzliches zu einem Forum:
  • man stellt konkrete Fragen und bekommt konkrete Antworten
  • zeigt der TE keine Eigeninitiative (oder versteht es nicht), bekommt er nur noch Verweise auf vorhandene Antworten
  • in Foren wird dir niemand die komplette Arbeit abnehmen und dir alles vorkauen
 
  • Gefällt mir
Reaktionen: pcBauer, Ruheliebhaber, Myron und 2 andere
BeBur schrieb:
Ich finde es eher schade, dass Menschen in solchen Threads auch auf Seite 4 noch bereit sind zu helfen, sich selber zu verlinken, zu wiederholen und so 'macht mir das'-Leuten weiter helfen, die nicht das mehrmals kommunizierte Mindestmaß an Eigeninitiative aufweisen.

Ich finde es spannend und unterhaltsam zu sehen, was der TE aus den Informationen macht, die ihm zugeworfen werden. Zwei Welten prallen aufeinander...

Selbst die direkte Kommunikation scheint nicht zu funktionieren:

cumulonimbus8 schrieb:
So viel noch, es ist bitter ironisch: die User die das Tool benutzen haben offenbar Murks eingestellt! Ich soll die Räder gerade ausrichten obwohl nur am Lenkrad gedreht wurde - und man das nicht erfährt.

Wenn nur etwas falsch eingestellt wurde, warum dann mit den Versuchen einen Java-Entwickler zu ersetzen weitermachen?
 
Ihr habt mehr Zeit als ich wie es scheint.

Ich habe im Eingangspost mit JD angfefangen, damit habe und hatte ich das Tool - somit ist es recht unverschämt mich als zu blöd hinzustellen einen Link zu klicken weil man offenbar den Thread nicht gelesen hat.

#60 scheint niemand gelesen zu haben? (ich setze ungern so viel in fett)
Am Ende steht eine Frage - ich bin einige vorgeschlagene Schritte gegangen, aber ich komme da nicht weiter.

@Ruheliebhaber
Dein Link scheint einer für Leute zu sein die sich auskennen, ich gehöre nicht da zu.
„Du baruschst das AddIn XY. Damit öffnest du Dieses (was du da herbekommst) und führst dann Jene Fnktion aus. Abschließend kannst du dann Dies und das Machen und speicherst das auf diese Weise als Soetwas.“
Mit solchen Wegfindungen komme ich zurecht wenn sie an Stellen an dene der Laie nicht weiterwissen kann die nötigen Infos gibt.

@wahli
Ich formuliere es mal nett: wenn man was weiß und es nicht weitergibt, den Laien aber, der nie auf die Idee kommen kann es genau so anzufassen, runterputzt spricht das Bände.
Ok, wenn du daran schon scheiterst
Setzt voraus, dass ich weiß, dass ich genau das wollen muss. Was mache ich mit dem Output? Eclpse nativ öffnet ihn nicht…
Das sieht er halt erst, wenn er den dekompilierten Code sieht
Halte jemanden der solche Sprachen vom Grundsatz her kennt nicht für so blöd nicht zu finden was er sucht.
Die nächsten Schritte wird er niemals schaffen
Stimmt. Weil ich diese Konzepte nicgelernt habe - aber ähnliche. So eine Herabwürdigung statt Konzepte, Vorgeehnswege, zu erklären, die ist… bedauerlich.
Klartext, durchsucht, gefunden, geändert. Und dann? Wie speichert man das, welche Bedienungen wünscht die Software die von primitivem Speichern [Unter] abweicht? Ist man sich zu fein diese Info zu übergeben wqeil man weiß, dass „er es niemals schafft“?

man stellt konkrete Fragen und bekommt konkrete Antworten
Man ist intelligent und erkennt welche konkreten Fragen nicht gestellt werden können, mangels Wissen.
Damit die laienhafte Frage: wie kriege ich eine .JAR denn editierfähig geöffnet um mein Glück mit dem Ändern von Ports und «Wahr» für TLS zu versuchen?
zeigt der TE keine Eigeninitiative (oder versteht es nicht), bekommt er nur noch Verweise auf vorhandene Antworten
Wie soll er das wenn er die Erklärungen der vorhandenen Seiten niocht versteht, verstehen kann, weil die für ihn zu abgehoben sind? Gerade du haust mir um die Ohren, dass Eclipse nur Klartext verstände - aber wie nicht mit dem JD solchen Klartext (eine ZIP, am Ende…) herstelle - das hätte weiter anderthalb Zeilen zu jenem Zeitpunkt gebraucht.
in Foren wird dir niemand die komplette Arbeit abnehmen und dir alles vorkauen
In Foren sollte man aber helfen bestimmte Klippen zu überwinden, Wegpunkte anzugeben, simple HowTos:
JD - als ZIP speichern. Eclipse - braucht ein ZIP-AddIn, damit geht es zu öffnen.

Und nun eben die Frage wie ich das (wieder) als eine .JAR speichere die mir im Dialog in Eclipse auch zu Verfügung steht - da sehe ich sie nämlich nicht. Ich sitze 5m vor dem Ziel fest.



Und in diesem Thread geht es sogar noch um einen Sonderfall "reverse engineering". Es sind also nur wenige User hier, die sich damit auskennen.
Dekompilieren tut ein Tool.
Reverse Engineering ist für mich die Herstellung eines validen, eloquenten Quellcodes. Oder einfach nur das Nachvollziehen der Funktion(en).
Ich will nur winzige Fragmente verändern von denen ich weiß, der Rest (Gott bewahre) der interessiert mich allein deshalb nicht weil ich ihn auch gar nicht kennen will.
Ginge es um ein größeres Verändern der Funktionalität ganzer…. Module… wäre das wahrhaftig mehr als ich vom Forum verlangen dürfte und verlangt hätte.

Verlangen tue ich Bedienungsanleitungen (Erklärung der was zu tun ist wie sich die Erfinder das dachten) der entscheidenden Schritte: Dekompilieren, Auswerfen; Öffnen, Ändern (id est: Änderungsfähig Öffnen), final Auswerfen.
Ist das bisschen so schwer?


Wenn nur etwas falsch eingestellt wurde, warum dann mit den Versuchen einen Java-Entwickler zu ersetzen weitermachen?
Sehr Witzig… Weil ich des erst viele Tage nach Threaderöffnung herausgefunden habe, und das auch mehr zufällig.
Am aufgeworfenen Problem, dass da was nicht so arbeitet wie es das tun sollte, und ich besser mal rausfinde wie ich da möglicherweise was anpasse, ändert es nichts.

CN8
 
Die gewünschte Hilfe kostet dich normalerweise mehrere Tausend Euros. Ich vergeude doch keine 20h oder mehr für dich. Ich wünsche dir trotzdem viel Erfolg.

Vergleich: du möchtest Autofahren lernen, scheiterst aber beim Aufsperren.
 
Keine Ahnung, was der JD fabriziert, wenn im zip aber ein "src" Ordner ist, wäre das von Vorteil.
Ich würde ja ganz naiv die zip in einen Ordner im eclipse workspace entpacken und in eclipse ein neues Project mit gleichnamigen Namen anlegen.
 
Im einfachsten Fall dauert das Ganze nur 1 Minute.
Nehmen wir an ich habe eine Jar-Datei mail.jar und muss Änderungen an einer Datei com/mail/Mail.class durchführen.

Ich kopiere die Datei mail.jar in ein Verzeichnis meiner Wahl und öffne in selbigem Verzeichnis eine Eingabeaufforderung.
Ich packe die Jar-Datei in dem Verzeichnis aus:
> jar xf mail.jar
Ich öffne die Datei com/mail/Mail.class in JD und speichere die erzeugte Quelldatei an der Stelle von der ich das class File geöffnet habe unter dem Namen Mail.java. Dann öffne ich Datei und führe meine Änderungen durch.
Ich kehre zu meiner Eingabeaufforderung zurück und kompiliere die Datei:
> javac com/mail/Mail.java
Ich packe alles wieder ein:
> jar cMf mail.jar .
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: GustlPC
cumulonimbus8 schrieb:
Am aufgeworfenen Problem, dass da was nicht so arbeitet wie es das tun sollte, und ich besser mal rausfinde wie ich da möglicherweise was anpasse, ändert es nichts.

Meiner unmaßgeblichen Auffassung nach ist es ein großer Unterschied, ob lediglich die (vorgesehenen) Einstellungen eines Programms fehlerhaft vorgenommen wurden und mithin mit Bordmitteln korrigiert werden könnten oder ob auf nicht vorgesehene (vielleicht sogar illegale) Weise direkt in das Programm eingegriffen werden soll, um im Endeffekt das gleiche Ergebnis zu erzielen (nehme ich mal an).

Dass einen die bisherigen dürftigen Fortschritte mit dem zweiten Ansatz da nicht sofort zum Umdenken bringen, kann ich nicht nachvollziehen. Aber jeder wie er mag. Viel Erfolg.
 
cumulonimbus8 schrieb:
Und nun eben die Frage wie ich das (wieder) als eine .JAR speichere die mir im Dialog in Eclipse auch zu Verfügung steht - da sehe ich sie nämlich nicht. Ich sitze 5m vor dem Ziel fest.
Man kommt sich hier langsam ein bisschen verarscht vor ... ich hab dir bereits in Beitrag #55 geschrieben und spater nochmal mich slebst zitiert
abcddcba schrieb:
Ist n Witz, oder? Ich hab jetzt mal schnell JD Compiler runtergeladen und gestartet ...
File -> Save All Sources
speichert das Jar File xyz.jar als xyz.jar.src.zip
darauf hast du nie reagiert, was eigentlich schon ne Frechheit ist.

Du bekommst ein Zip File mit dem Quellcode.
Ein Zip File entpackt man und erhaelt die Pakete als Ordnerstruktur.
Die importierst du in ein neues Eclipse Projekt.
Selbst wenn du nur eine Zeile aendern willst, am Ende des Tages musst du die Klasse neu kompilieren. Es ist faktisch einfach einfach das ganze neue Projekt zu kompilieren und als Jar zu exportieren.

Und nochmal, ich sehe immer noch nicht wie du auch nur annaehernd die eine Zeile Code aendern willst, um den Port zu aendern.

Eine letzte Sache noch:
cumulonimbus8 schrieb:
Verlangen tue ich Bedienungsanleitungen (Erklärung der was zu tun ist wie sich die Erfinder das dachten) der entscheidenden Schritte: Dekompilieren, Auswerfen; Öffnen, Ändern (id est: Änderungsfähig Öffnen), final Auswerfen.
Ist das bisschen so schwer?
denk nochmal drueber nach wo du hier bist ...
 
@abcddcba
Ich habe es laut deiner Anleitung auch kurz mit dem JD getestet und ihm geschrieben. Aber er will nicht.
Bzw. er will ein einziges Tool, das genau sein Problem in Gänze mit möglichst wenig Klicks erledigt. Das gibt es halt nicht.
 
  • Gefällt mir
Reaktionen: abcddcba
Es sind doch wirklich nur 3 kurze Befehle auf der Eingabeaufforderung einzugeben (Beitrag #72). Natürlich könnte man dafür eine Anwendung schreiben, die die beiden Dateinamen abfragt und das dann ausführt, aber das steht in keinem Verhältnis zum ursprünglichen Aufwand. Ein Projekt in einer IDE aufzusetzen und wieder korrekt als Jar zu exportieren ohne möglicherweise das Manifest zu überschreiben, dauert vermutlich wesentlich länger.
 
Zurück
Oben