![]() |
Text im RAM finden?
Moin,
Für ein kleines persönliches Hilfstool versuche ich auf den in der Adressleiste des Opera stehenden Text zuzugreifen und diesen auszulesen. Mein erster Ansatz war das Handle der Adressleiste zu finden, und dieses mit GetText auszulesen. Leider ist das bei Opera scheinbar nicht möglich - Leider sind lediglich OperaWindowClass Fenster zu finden. Mein zweiter Ansatz wäre jetzt den Text aus dem RAM auszulesen. Da das Tool ohnehin nur auf meinem PC verwendet wird, stehen die Chancen wohl ganz gut, dass die Adresse nur einmal gesucht werden muss. Allerdings frage ich mich jetzt wie ich Texte bzw. Buchstaben im Speicher finden kann? Nach welchem Schema wird ein Buchstabe denn in eine Zahl gewandelt? Sprich nach welchem Wert muss ich im RAM suchen wenn ich die Stelle finden will an der "Test" gespeichert wird? (Ich kenne mich mit der RAM Materie nicht all zu gut aus, daher kann es sein, dass an meinem Ansatz einiges falsch ist!) |
Re: Text im RAM finden?
Du müsstest auf den Speicherbereich einer anderen Anwendung zugreifen. Die Speicherbereiche der einzelnen Anwendungen sind (zum Glück) voneinander abgeschottet. Du müsstest also erst eigenen Code in diese Anwendung einschleusen um auf den Speicherbereich dieser Anwendung zuzugreifen. Wie das geht steht hier unter dem Stichwort dll injection.
Allerdings... Opera hat doch eine Automatisierungsschnittstelle wenn ich mich nicht irre. Guck mal lieber ob du nicht da drüber was reissen kannst. Alles andere ist wohl eher zu aufwändig. |
Re: Text im RAM finden?
Moin! Danke für deine Antwort.
Entweder ich blick es nicht ganz, oder wir reden aneinander vorbei. Meine Idee war folgende: Mit TSearch den RAM von Opera durchsuchen um die Adresse des Eingabefeldes zu erhalten. Die Adresse dann mit ReadProcessMemory auslesen. Ich habe die Erfahrung gemacht, dass sich die Adressen bei den meisten Programmen auch nach einem Neustart des PCs nicht ändern. Das bedeutet, dass ich die Adresse nur einmal finden müsste um sie auslesen zu können. |
Re: Text im RAM finden?
Darauf würde ich mich nicht verlassen.
Außerdem ist es nunmal einer normalen Anwendung nicht möglich, auf Fremd-RAM zuzugreifen, deine Anwendung befindet sich in einem eigenen, virtuellen Speicherbereich, du kommst nicht in den Speicherbereich anderer Anwendungen rein. Informier dich lieber mal über Handles. |
Re: Text im RAM finden?
Was wenn sich die Adresse mal ändert?
Versuch mal das Programm von Assarbad EDA(Enable Disable) wenns damit nicht auslesen kannst den Text von Opera, dann viel spaß mit dem Auslesen aus dem Speicher :D. |
Re: Text im RAM finden?
Zitat:
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Text im RAM finden?
OK, es geht vielleicht doch, aber es ist halt sehr umständlich.
In etwa so, als würdest du um eine Katze von einem Apfel zu pflücken den Baum fällen. |
Re: Text im RAM finden?
Zitat:
Über Handles brauche ich mich nicht kundig machen, wie du siehst wäre das mein erster Lösungsweg gewesen (sicherlich der sauberste und einfachste), leider funktioniert es so wie gesagt nicht. Eigentlich frage ich mich nur wie z.B. das Wort "Test" im Speicher abgelegt wird. Also mit z.B. unter 1001010101010101 oder was weiss ich was, damit ich nach dem Wert einfach mal suchen kann! Zitat:
|
Re: Text im RAM finden?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz