Ab Version 1.3 gibt es die M�glichkeit, den Speicher ab einer gew�hlten
Adresse anzusehen, den Monitor
. Dieser erscheint immer dann, wenn
ein Objekt mit einer Adresse geklickt wurde und dieses nicht modifiziert
werden kann. In Version 1.2 wurde an dieser Stelle nur kurz
gebeept
.
Ich habe eine Speicherliste eingebaut, deren Aufbau ich der Dokumentation zum Programm ‘Enforcer’ entnommen habe. Bevor der Monitor erscheint, wird eine Adre��berpr�fung vorgenommen, ob die gew�nschte Adresse �berhaupt zul�ssig ist. Ist sie es nicht, erscheint ein Systemrequester mit allen erkennbaren Attributen des anvisierten Speicherbereichs. Das Auslesen eines unzul�ssigen Speicherbereiches kann zu einem ‘Enforcer’-Hit f�hren, wenn dieser ausgelesen wird.
Das Monitorfenster besteht aus einem Anzeige-ListView und mehreren Gadgets.
In diesem Gadget erscheint zur Information noch einmal die Zeile im
Haupt-Listview von ‘RSYS’. Dahinter in []
der Typ des
Speichers, wie er aus der implementierten ‘Enforcer’-Liste der
Speicherbereiche ausgelesen wurde.
Hier steht die Startadresse, ab der der Speicher angezeigt wird.
Hier steht die aktuelle Adresse, ab der der Speicher angezeigt wird. Der Speicher wird in 512-Byte-Bl�cken angezeigt.
Hiermit kann die Art der Anzeige ausgew�hlt werden.
Hier steht formatiert der aktuell formatierte Speicherinhalt. Der Speicher wird in 512-Byte-Bl�cken angezeigt.
Mit diesen Gadgets kann der Speicherbereich aktualisiert werden. Das erste Gadget zeigt den vorhergehenden, das dritte den nachfolgenden und das zweite den Startbereich des Speichers an.
Mit diesen Gadgets kann der angezeigte Speicherbereich auf verschiedene Arten in eine Datei gespeichert werden. Hier ein paar Beispiele:
Als C-Code:
/* RSys-C-Code Generator Memory at 0x00203672 */ ULONG RSysData[] = { 0x00000000, 0x00000000, 0x000000F8, 0xF7C80020, 0x362400F8, 0xF7740000, 0x00000000, 0x00000000, 0x00F8F7C8, 0x00203624, 0x00F8F78A, 0x00000000, 0x00000000, 0x000000F8, 0xF7C80020, 0x362400F8, 0xF7A0002E, 0x4FBC4EF9, 0x00FC775C, 0x4EF900FC, 0x77340020, 0x63880020, 0x36240800, 0x00FC76D6, 0x0600000C, 0x00320025, 0x00010000, 0x00000000, 0x00000000, 0x0033CE18, 0x0033CE18, 0x00000000, 0x00000000, 0x00000000, 0x4EF900FA, 0x3FE24EF9, 0x00FA3DCE, 0x4EF900FA, 0x15DA4EF9, 0x00FA4036, 0x4EF9002E, 0x8E0C4EF9, 0x00FA15A8, 0x4EF900FA, 0x14604EF9, 0x00FA1258, 0x4EF900FA, 0x14B24EF9, 0x00FA12AA, 0x4EF900FA, 0x3D384EF9, 0x002E8DD4, 0x4EF9002E, 0x8DEA4EF9, 0x00FB3BAC, 0x4EF900FB, 0x3BC24EF9, 0x002E8E1C, 0x4EF9002E, 0x8E344EF9, 0x00FA124A, 0x4EF9002E, 0x8DF44EF9, 0x00FA122C, 0x4EF900FA, 0x6B8C4EF9, 0x00FA429E, 0x4EF900FA, 0x41624EF9, 0x00FA53A0, 0x4EF900FA, 0x4F784EF9, 0x00FA6B98, 0x4EF900FA, 0x6B804EF9, 0x00FA6B74, 0x4EF900FA, 0x114C4EF9, 0x00FA1848, 0x4EF900FA, 0x18484EF9, 0x00FA0E70, 0x4EF900FA, 0x10884EF9, 0x00FA2D7C, 0x4EF900FA, 0x2D0E4EF9, 0x00FA2C90, 0x4EF900FA, 0x0E584EF9, 0x00FA32CA, 0x4EF900FA, 0x68F84EF9, 0x00FA0BD0, 0x4EF900FA, 0x0BB84EF9, 0x00FA0B7C, 0x4EF900FA, 0x0ADE4EF9, 0x00FA0ABC, 0x4EF900FA, 0x306E4EF9, 0x00FA0E40, 0x4EF900FA, 0x096C4EF9, 0x00FA095C, 0x4EF900FA, 0x2E0A4EF9, 0x00FA2E26, 0x4EF900FA, 0x2CDC4EF9, 0x00FA2D5A, 0x4EF900FA, 0x2BC04EF9, 0x00FA2AC2, 0x4EF900FA, 0x07FC4EF9, 0x00FA07DC, 0x4EF900FA, 0x3C1E4EF9, 0x00FA3BF4, 0x4EF900FA, 0x3C884EF9, 0x00FA03D0, 0x4EF900FA, 0x0A084EF9, 0x00FA097C, 0x4EF900FA, }; /* End of Code */
Als Hex:
---------------------------------------------- Memory at 0x00203672 ---------------------------------------------- 000: 00 00 00 00 00 00 00 00 00 00 00 F8 F7 C8 00 20 010: 36 24 00 F8 F7 74 00 00 00 00 00 00 00 00 00 00 020: 00 F8 F7 C8 00 20 36 24 00 F8 F7 8A 00 00 00 00 030: 00 00 00 00 00 00 00 F8 F7 C8 00 20 36 24 00 F8 040: F7 A0 00 2E 4F BC 4E F9 00 FC 77 5C 4E F9 00 FC 050: 77 34 00 20 63 88 00 20 36 24 08 00 00 FC 76 D6 060: 06 00 00 0C 00 32 00 25 00 01 00 00 00 00 00 00 070: 00 00 00 00 00 33 CE 18 00 33 CE 18 00 00 00 00 080: 00 00 00 00 00 00 00 00 4E F9 00 FA 3F E2 4E F9 090: 00 FA 3D CE 4E F9 00 FA 15 DA 4E F9 00 FA 40 36 0A0: 4E F9 00 2E 8E 0C 4E F9 00 FA 15 A8 4E F9 00 FA 0B0: 14 60 4E F9 00 FA 12 58 4E F9 00 FA 14 B2 4E F9 0C0: 00 FA 12 AA 4E F9 00 FA 3D 38 4E F9 00 2E 8D D4 0D0: 4E F9 00 2E 8D EA 4E F9 00 FB 3B AC 4E F9 00 FB 0E0: 3B C2 4E F9 00 2E 8E 1C 4E F9 00 2E 8E 34 4E F9 0F0: 00 FA 12 4A 4E F9 00 2E 8D F4 4E F9 00 FA 12 2C 100: 4E F9 00 FA 6B 8C 4E F9 00 FA 42 9E 4E F9 00 FA 110: 41 62 4E F9 00 FA 53 A0 4E F9 00 FA 4F 78 4E F9 120: 00 FA 6B 98 4E F9 00 FA 6B 80 4E F9 00 FA 6B 74 130: 4E F9 00 FA 11 4C 4E F9 00 FA 18 48 4E F9 00 FA 140: 18 48 4E F9 00 FA 0E 70 4E F9 00 FA 10 88 4E F9 150: 00 FA 2D 7C 4E F9 00 FA 2D 0E 4E F9 00 FA 2C 90 160: 4E F9 00 FA 0E 58 4E F9 00 FA 32 CA 4E F9 00 FA 170: 68 F8 4E F9 00 FA 0B D0 4E F9 00 FA 0B B8 4E F9 180: 00 FA 0B 7C 4E F9 00 FA 0A DE 4E F9 00 FA 0A BC 190: 4E F9 00 FA 30 6E 4E F9 00 FA 0E 40 4E F9 00 FA 1A0: 09 6C 4E F9 00 FA 09 5C 4E F9 00 FA 2E 0A 4E F9 1B0: 00 FA 2E 26 4E F9 00 FA 2C DC 4E F9 00 FA 2D 5A 1C0: 4E F9 00 FA 2B C0 4E F9 00 FA 2A C2 4E F9 00 FA 1D0: 07 FC 4E F9 00 FA 07 DC 4E F9 00 FA 3C 1E 4E F9 1E0: 00 FA 3B F4 4E F9 00 FA 3C 88 4E F9 00 FA 03 D0 1F0: 4E F9 00 FA 0A 08 4E F9 00 FA 09 7C 4E F9 00 FA
Der C-Code kann unmittelbar in C-Programmen eingebunden werden.
This document was generated on September 19, 2022 using texi2html 5.0.