Frage

ich eine Anwendung, die zeigt mir einige Daten. Ich muss dieses App Prozess anhängen, die Daten finde ich im Speicher benötigen (eine einzelne Zahl, tatsächlich), und es irgendwo speichern. Diese Anwendung scheint nicht Standard-Windows-Steuerelemente zu verwenden, so dass die Dinge nicht so einfach sein würden als Kontrollen Daten mit AutoIt oder etwas ähnliches zu lesen.

Zur Zeit bin ich ein Selbstlern Datenbank Typ und haben ziemlich flach Wissen über Windows-Anwendungen debuggen. Nicht einmal sicher, ob ich meine Frage gestellt richtig genug.

So können Sie mir einige Starter Richtlinien über, sagen wir, was soll ich zuerst gelesen und allgemeine Richtungen soll ich arbeiten?

Danke.

War es hilfreich?

Lösung

Mein primärer Rat: versuchen finden jede ein andere Methode der Integration als diese. Selbst wenn Sie Erfolg haben, werden Sie als Geisel auf alle Arten von Veränderungen in den Zielprozess sein und möglicherweise in der Windows O / S. Was Sie beschreiben, ist das Verhalten meisten Virenscanner sollten Flag und hinder: wenn nicht jetzt, dann in der Zukunft.

sagte, dass, können Sie einen Blick auf DLL-Injektion . Allerdings klingt es, als ob Sie das Heck aus dem Zielprozess bei der Demontage Ebene zu haben zu debuggen gehen: sonst, wie wollen Sie wissen, was Speicheradresse zu lesen?

Andere Tipps

Zur Erinnerung an anderer Anwendung benötigen Sie den Prozess mit Bezug auf zu öffnen Open mit mindestens PROCESS_VM_READ Zugriffsrechte und verwenden Sie dann Readprocessmemory jede Speicheradresse aus dem Prozess zu lesen. Wenn Sie ein Administrator oder haben Debug-Privileg sind, werden Sie in der Lage sein, jeden Prozess zu öffnen, mit einem maximalen Zugriffsrecht, müssen Sie nur SeDebugPrivilege zu aktivieren, bevor (siehe zum Beispiel http://support.microsoft.com/kb/131065 ).

Wenn Sie nicht über einen viel über die Erinnerung an den Zielprozess kennen, können Sie nur die Speicherblöcke mit Bezug auf a href aufzählen <= "http://msdn.microsoft.com/en-us/library/aa366907 aspx "rel = "nofollow noreferrer"> VirtualQueryEx (siehe wie macht man Gebrauch VirtualAllocEx tun Platz machen für einen Code Höhle? als Beispiel , wo ich den Programmcode untersuchen. die Programmdaten, die Sie auf die gleiche Art und Weise untersuchen können ).

Das praktischste Problem, das ich sehe, ist, dass Sie bitten, Ihre Frage in zu allgemein Art und Weise. Wenn Sie mehr, welche Art von Daten zu erklären suchen Sie denn ich Sie wahrscheinlich einen besseren Weg vorschlagen könnte. Zum Beispiel, wenn Sie die Daten sehen könnte irgendwo konnte man die entsprechenden Fenster und Kontrollen bezüglich der Spy ++ (ein Teil von Visual Studio Tools) untersuchen. Die wichtigsten sind die Klasse von Fenstern (oder Kontrollen) und die Nachrichten, die Send im Moment sein wird, wenn das interessanteste Fenster angezeigt. Sie können auch Process Monitor verwenden alle Datei- und Registry-Zugriffe verfolgen auf die Zeit, wenn die Fenster mit den interessanten Informationen angezeigt werden. Zumindest am Anfang sollten Sie die Erinnerung an den Prozess mit Readprocessmemory zur Zeit, wenn die Daten, die Sie suchen, auf dem Fenster angezeigt werden.

Wenn Sie keinen Erfolg bei Ihren Untersuchungen haben werden ich Sie empfehlen würde in Ihrer Frage mehr Informationen einzufügen.

ich verwenden, um die Fenster zu wissen API Debuggen, aber es ist lange Gedächtnis verloren. Wie wäre es mit OllyDbg:

http://www.ollydbg.de/

Und steuern, daß sowohl mit OllyDbg Skript und autoit?

Sounds interessant ... aber sehr schwierig. Da Sie sagen, dies ist ein ‚one-off‘, was so etwas wie dieses stattdessen?

  • Nehmen Sie einen Screenshot von dieser Anwendung.
  • Führen Sie den Screenshot über ein OCR-Programm
  • Wenn Sie in der Lage sind, den Text lesen Sie in vorhersehbarer Weise suchen, sind Sie auf halbem Weg da!

So, jetzt, wenn Sie einen OCR-Screenshot der Anwendung lesen können, ist es eine einfache Sache, ein Programm zu schreiben, die die folgenden:

  • Scripts die Schritte, um die Daten auf dem Bildschirm zu bekommen
  • Erstellt einen Screenshot der betreffenden Daten
  • Führt es durch ein OCR-Programm wie Microsoft Office Document Imaging
  • Extrahiert den entsprechenden Text und bedeutet ‚was auch immer‘ mit ihm.

Ich habe so etwas wie dies zuvor mit recht guten Ergebnissen gemacht, aber ich würde sagen, es ist eine fragile Lösung ist. Wenn die Anwendung ändert, ist es nicht mehr funktioniert. Wenn die OCR den Text nicht lesen kann, stoppt sie arbeiten. Wenn die OCR den falschen Text liest, könnte es Schlimmeres tun, als nicht mehr funktioniert ...

Wie die anderen Plakate gesagt haben, in dem Speicher zu erreichen und Daten herausziehen ist ein ziemlich fortgeschrittenes Thema ... ein dickes Lob an Sie, wenn Sie einen Weg herausfinden können, das zu tun!

Ich weiß, dass dies nicht eine beliebte Antwort sein kann, aufgrund der Art dessen, was diese Software für verwendet wird, aber Programme wie Cheatengine und ArtMoney können Sie durch einen Prozess für einen bestimmten Wert reserviert durch den gesamten Speicher suchen, dann verfeinern, bis Sie die Ergebnisse die Adresse des Wertes finden Sie suchen.

Ich lernte zunächst das bei dem Versuch, zu lernen, wie man besser meine Spiele zu schützen, nachdem für einen von ihnen über einen Trainer kam, aber habe herausgefunden, die Technik gelegentlich nützlich bei der Fehlersuche.

Hier ist ein Beispiel für die Technik, die oben in Gebrauch beschrieben: https: // www. youtube.com/watch?v=Nv04gYx2jMw&t=265

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top