03.08.2009, 22:24
(03.08.2009, 12:47)HenneNWH schrieb: Hallo Ihr alle!
@All: I'm back. Im Moment habe ich noch nicht wieder soviel Zeit, beschäftige mich aber mit der Intro.exe von Schick (Floppy).
@Hendrik: Du hast nicht die IDA-Dateien hochgeladen, sondern nur die symbolischen Links auf die Dateien.
Theorie: Das "Problem" mit den wechselnden Segmentadressen des near calls liegt wahrscheinlich an den Overlays.
Das Segment ändert sich weil es aus der Exe-Datei auf Anfrage in den Speicher geladen wird.
Wird der Speicher für etwas anderes benötigt, fliegt das Segment mit der Random-Funktion wieder raus.
Wir die Random-Funktion (oder eine andere aus diesem Segment) wieder benötigt, so wird sie wieder in den Speicher geladen.
Allerdings an einer anderen Stelle.
Lösung: Die Größe und die Position des Segments in der Exe-Datei ermitteln und bei jedem Read() Aufruf, bei dem Grösse und Position übereinstimmen, die Zieladresse merken.
Hi, HenneNWH! Schön, dass du wieder hier bist.
Die IDA-Dateien habe ich jetzt noch einmal hochgeladen . Leider ist das ungepackte Format auch kein Text-only, so dass die Versionskontrolle uns kaum unterstützen kann, wirklich schade. Ich habe die Dateien also im gepackten Format (store) hochgeladen.
Dass mein Problem mit den Overlays zu tun hat, habe ich auch schon vermutet, allerdings war mir nicht so recht klar, wie ich am einfachsten an die richtigen Adressen komme. Eine andere Erklärung ist mir auch nicht eingefallen, also gehe ich mal davon aus, dass die Theorie richtig ist.
Die read()-Aufrufe in der SCHICKM.EXE abzufangen dürfte also die Lösung sein, allerdings müsste da eigentlich reichen, für alle interessanten Overlay-Segmente die Offsets zu ermitteln. Soweit ich weiß, werden Overlay-Segmente immer im Ganzen geladen, also braucht man die Größe nicht einmal. Oder habe ich da etwas übersehen?
Da ich diese Woche einen Haufen zu tun habe und nächste Woche wohl im Urlaub sein werde, komme ich vermutlich nicht mehr dazu, das zu implementieren. Der Patch wird also noch mindestens einen halben Monat auf sich warten lassen.
Hallo, ich bin's - der Bart von Fidel Castro. Und mir ist total langweilich nie geschnitten wurde.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.
I'm a roleplayer. My dice are like my relationships: platonic and unlucky.