Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Fremdes Java-Applet auslesen

Empfohlene Antworten

Veröffentlicht

Hallo zusammen!

Ich arbeite gerade an einem Projekt und möchte hierzu ein Java-Applet aus dem Internet auslesen, das allerdings nicht von mir stammt. Weiß jemand, ob das möglich ist?

Ich persönlich könnte mir vorstellen, dass man das Ganze irgendwie aus der Virtual Machine auslesen kann, wenn man auf der Seite surft. Wobei ich zugeben muss, dass ich davon keine Ahnung habe... Die Programmiersprache mit der das geschieht ist eigentlich egal, wobei am wahrscheinlichsten wohl das Ganze in Java geschehen muss... VB und C++ wären auch okay.

Kann mir jemand helfen bzw. einen Tip geben oder Nachschlagewerk empfehlen? :confused:

Für gewöhnlich sind Java-Applets in HTML eingebettet.

Was meinst denn mit "auslesen"?

Bsp.:

Mathe-Funktionsplotter


<applet codebase="FunktionsPlotter" code="FunktionsPlotter.class" width="601" height="470">

Bedenke aber das Urheberrecht.

Mit freundlichen Grüßen,

Cadpax

Mit auslesen meine ich beispielsweise, dass man in einem Java-Applet einen Text oder eine Tabelle angezeigt bekommt. Mein Ziel wäre es, diesen Text auszulesen und anschließend mittels eines Programms zu verwerten. Es geht also nur um die Ausgabe beim Client, serverseitig will und kann ich auch gar nicht irgendwelche Dateien oder Klassen downloaden...

Urheberrechtlich sollte es keine Bedenken geben... Schließlich wäre eine manuelle Verarbeitung genauso möglich, würde allerdings deutlich länger dauern und wäre unpraktischer... Es ist auch nur für den Privatgebrauch. :)

Das kannste so gut wie vergessen. Schnittstellentechnisch kommst du nicht ran, somit bleibt nur die Möglichkeit direkt in die VM reinzugrätschen. Und dafür ist ein bisschen mehr Wissen von Nöten wie ein normaler Javaentwickler hat. Desweiteren wirst du mit Java nicht sehr weit kommen. Wohl am ehesten C oder Assembler und dann auf in den Register-Dschungel :)

Es gibt die Möglichkeit (z.B. mit C oder C++) an die Adresse eines Textfelds ranzukommen über dem sich z.B. die Maus gerade befindet. Damit kommst du auch an die Inhalte ran. Wie und ob das bei einem Java-Applet funktioniert weiß ich nicht. Vor allem bei einer JTable wirst du da wohl schnell an die Grenzen stoßen.

Hmm... unschön.

Nur aus Interesse: Wie funktioniert denn deine Möglichkeit in C++?

Ich bin ja nicht auf Java festgelegt, ich dachte nur, es wäre das logischste, da das Applet ja wohl auch in Java geschrieben sein wird...

Es muss irgendwie funktionieren... :) Die Frage ist nur wie.

Keine Ahnung wie das geht. :) - Ich bin Javaentwickler, kein C++ oder Assemblerguru :)

Es wird wohl über die aktuelle Mausposition die darunterliegende Komponente ermittelt. Über diese Komponente wird wohl die entsprechende Position im Speicher geholt und der Wert ausgelesen.

Natürlich ist Java naheliegend, aber eben nur wenn es eine direkte Schnittstelle zum Programm gibt.

Wenn du eine exe-Datei hast und dort eingreifen willst geht es ja auch nicht so ohne weiteres. Und für das was du benötigst ist es eigentlich sinnvoller das ausführbare Programm ein Stück weit auser acht zu lassen, das wichtige ist dass die Anwendung in der JavaVM läuft und dort musst du irgendwie eingreifen.

Alternativ schau dir mal nach C/C++/C#-Tutorials um welche Anwendungen bzw. Teile davon grabben können. Mit sowas kommst du sicher auch an das Applet ran und auf umwegen wohl auch auf die Inhalte.

Ist nur die Frage was du damit anfangen kannst wenn irgenwelche bytes rauskommen :)

Es wird wohl kaum funktionieren, die Daten eines Objektes auszulesen, daß irgendwo auf dem Heap einer JVM liegt. Da spricht nicht nur die Sicherheit und die Komplexität des Vorgehens, sondern auch dessen Fehleranfälligkeit dagegen.

Die Möglichkeit, die mir sofort einfiel, war das Auslesen eines Screenshots. Dazu ist aber viel Mathematik erforderlich.

Die ganze Idee bringt schon so viel Komplexität und Fehleranfälligkeit mit Sich dass man sowas glaub ich auch nicht irgendwo produktiv laufen lassen könnte.

Für mich hört sich das eher nach so einem kranken Entwicklertest(tool) mit hässlicher UI und ohne Fehlerhandling an *gg*

Hört sich alles nicht ganz so gut an... :)

Dachte eigentlich, man könnte mit den richtigen Tricks relativ unkompliziert an die Ausgabe aber dem ist wohl nicht so...

Gibt es denn zumindest eine Möglichkeit, mit Java-Applets zu interagieren?

Beispielsweise in eine Textbox automatisch einige Buchstaben einzugeben oder so?

Auslesen oder reinschreiben -> beides das gleiche gepfusche

Du könntest über java.awt.Robot Mausklicks simulieren, geht aber imho auch nur wenn die Javaanwendung den Focus hat. Somit bringt es dir nix da du quasi im "leeren rumklickst".

Hallo ksg9-sebastian,

ich habe mir mal einen Überblick über java.awt.Robot verschafft, danke übrigens über den Tip.

Aber ich glaube, damit komme ich nicht weiter. Zumindest weiß ich nicht, wie ich damit auf das Applet zugreifen soll. Außerdem brauche ich die Maus permanent, auch wenn das Programm läuft... :( Obwohl man dafür vielleicht noch eine Möglichkeit finden könnte, das zu umgehen...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.