Darstellung auf dem Bildschirm

Hi!

Eine Frage anhand eines Beispiels:

Sagen wir, ein Programm soll einen Wert, z.B. eine Zahl, berechnen, und diesen Wert danach auf dem Bildschirm ausgeben.

Mich interessiert:

Gibt es eine Möglichkeit, die Zahl auf dem „Weg“ von der Berechnung innerhalb der CPU bis zur Darstellung auf dem Bildschirm „abzufangen“? Ich meine, ich würde gerne auf diesen Wert zugreifen, aber ohne Screenshot, OCR usw. Ich frage mich, ob ich nicht auch „direkt“ auf diese Zahl Zugriff erhalten kann?! Irgendwo muss doch diese Zahl „verarbeitet“ und für die Darstellung aufbereitet werden.

Könnt Ihr mir einen Tip dafür geben?

Besten Dank,

Tom.

Hallo Heinz

Die Zahl wird doch in einer Variablen gespeichert.
Da kannst Du dann nach Lust und Laune draufzugreifen.

z. B. in einem PASCAL-Programm

a:=IrgendeinAusdruck;

dann steht das Ergebnis in der Variablen a und dann kannste damit machewn was du willst.

Oder was meinst du?

Tommy

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Tom Heinz,

Hi!

Eine Frage anhand eines Beispiels:

Sagen wir, ein Programm soll einen Wert, z.B. eine Zahl,
berechnen, und diesen Wert danach auf dem Bildschirm ausgeben.

Mich interessiert:

Gibt es eine Möglichkeit, die Zahl auf dem „Weg“ von der
Berechnung innerhalb der CPU bis zur Darstellung auf dem
Bildschirm „abzufangen“? Ich meine, ich würde gerne auf diesen
Wert zugreifen, aber ohne Screenshot, OCR usw. Ich frage mich,
ob ich nicht auch „direkt“ auf diese Zahl Zugriff erhalten
kann?! Irgendwo muss doch diese Zahl „verarbeitet“ und für die
Darstellung aufbereitet werden.

Was Du machen willst ist ein sogenannter „Man-in-the-Middle“ Zugriff. I.A. funktioniert das nur wenn Du die Schnittstelle zwischen dem Algorithmus (der die Zahl berechnet) und der Ausgabe (eigentlich auch wieder ein Algorithmus, der als Eingabeparameter die Zahl entgegennimmt und dann für eine Ausgabemedium aufbereitet) kennst. Dann musst Du noch eine Möglichkeit finden Dich zwischen diese Schnittstelle zu setzen und Verteiler zu spielen.
Ein Stichwort dafür wären sogenannte „Hooks“.

Gruss,
Frank

Hi nochmals,

der Kniff ist, dass mir der Sourcecode von dem Programm eben NICHT vorliegt! Es kann sich um ein x-beliebiges Programm handeln, das auf dem PC läuft! D.h. ich kann nicht einfach so auf die Variablen im Programm zugreifen.

Tom.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Gibt es eine Möglichkeit, die Zahl auf dem „Weg“ von der
Berechnung innerhalb der CPU bis zur Darstellung auf dem
Bildschirm „abzufangen“?

Hallo!

Manche grafischen Oberflächen erlauben die Ausgabeumleitung auf andere Medien als den Bildschirm, also z.B. auf einen Drucker oder über das Netzwerk. Vielleicht ist es da für dich einfacher, einzugreifen?

Gruß,
Stefan :smile:

Hallo
Die Zahl wird als Text ausgegeben .
Das Betriebssystem bereitet meistens die Ausgabe vor und nimmt die grafische Darstellung war .
Es gibt den Debugmodus und die Math-Unit des Pentiums , nur ein Beispiel .
Dein Problem ist , das niemand es Dir ermöglichen möchte , eine
potentielle unsichtbare Spionagesoftware ( oder auch Sabotage ) zu schreiben , ohne das Du selbst clever genug dazu bist .
MfG

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

bei unbekannten Programmen ist dieses Problem a priori nicht lösbar. Wenn das Programm bekannt ist, solltest Du Dich mit Disassemblern befassen.

Ciao,

Herb

eine möglichkeite (zumindest war es früher so), direkt auf den tastatur- bildschirmtreiber zuzugreifen bzw. selber einen zu schreiben - am besten mit assembler … mußt dir nur die sw-interrupts holen und ein „primitiver“ treiber ist relativ schnell geschrieben - kannst natürlich auch die vorhanden debuggen (wobei der bildschirm aufgrund der graphikoberfläche heutzutage nimmer so zu empfehlen ist) … ach, was haben wir damit früher für scherze angestellt … remember int19h :wink:

grüße
tomh

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]