Ich habe vor kurzem festgestellt, dass die 32-Bit-Version von Cheat-Engine hat seinen Thread Environment Block an einer höheren Adresse als die 32-Bit-Adressraum verfügbar ist. Nach meinem Wissen ist der Benutzerbereich nur bis zur Adresse 0x7FFFFFFF zugänglich, aber dieser TEB befand sich bei 0xFFFDB000. Jedes TEB, das ich jemals gesehen habe, begann bei 0x7EFD8000 oder 0x7EFDB000 und nachfolgende TEBs gingen weiter nach unten. Ich nehme an, da Cheat Engine ein Speicherscanner ist, soll es den Scanvorgang vereinfachen. Der Prozessumgebungsblock wurde ebenfalls verschoben. Kann mir bitte jemand sagen wie das möglich ist? Ist dies eine Einstellung in der tragbaren ausführbaren Datei?Wie können sich Thread Environment Blocks über dem Adressraumlimit befinden?
0
A
Antwort
1
für 32-Bit-Programme zur Verfügung, Adressen 0x00000000
-0xFFFFFFFF
aber auf x86-Plattform historischer [0x00000000, 0x7FFFFFFF]
war User-Space und Kernel-Space. aber auf x64, wo 32bit apps im wow64-subsystem laufen, ist das schon nicht wahr - alle 32bit-bereiche - sind userspace. aber aus Kompatibilitätsgründen System sowieso beschränken Benutzer Adressraum von wow64-Bit-Anwendungen auf 2 GB [0x00000000, 0x7FFFFFFF]
standardmäßig. für brechen diese und 4 GB Speicherplatz braucht Flagge
IMAGE_FILE_LARGE_ADDRESS_AWARE
Die Anwendung verwenden können Adressen größer als 2 GB verarbeiten. in IMAGE_FILE_HEADER.Characteristics
Verwandte Themen
- 1. Wie können Sie feststellen, ob Sie sich im Haupt-UI-Thread befinden? (In CF)
- 2. Wie können wir freigegebene Dockerfiles verwenden, die sich in anderen Verzeichnissen als dem "aktuellen Buildkontextpfad" befinden?
- 3. Wo befinden sich Holzstämme?
- 4. Wo befinden sich Repos?
- 5. Wo befinden sich iOS-Simulatordateien?
- 6. Windows CE Interna, TEB (Thread Environment Block)
- 7. C++ Parallelisierungsbibliotheken: OpenMP vs. Thread Building Blocks
- 8. Wo sollten sich Standortkonfigurationsdatenrepositorys befinden?
- 9. Wo befinden sich Minix-Verzeichniseinträge?
- 10. Wo befinden sich Jenkins Artefakte?
- 11. Wo befinden sich Espresso-Testberichte?
- 12. Thread-Sanitizer beschwert sich über unerwartete Speicherabbild
- 13. Wie kann ich externe Header-Dateien, die sich in verschiedenen (unbekannten) Verzeichnissen befinden können, robust einbeziehen?
- 14. Wie Sie feststellen können, ob Sie sich in einer Rake-Aufgabe befinden oder nicht
- 15. Wie bekomme ich die Adresse des Process Environment Blocks (PEB) mit Assembler (x64 OS)?
- 16. Wie können Sie php xdebug verwenden, wenn Sie sich hinter einer Firewall auf NAT befinden?
- 17. Wie können Sie feststellen, ob Sie sich gerade in der letzten Zeile einer HTML-Tabelle befinden?
- 18. Wo befinden sich Bilder in Ionic2?
- 19. Wo befinden sich IntelliJ-Scratch-Dateien?
- 20. Wie befinden sich Speicherreferenzen in einer Implementierung von beweglicher Speicherbereinigung?
- 21. Wo befinden sich die Java-Archivdateistruktur? Spezifikationen?
- 22. Wo befinden sich Informationen von dockerfile?
- 23. Wie lässt sich scala's Future auf dem aktuellen Thread ausführen?
- 24. Wie unterscheiden sich [environment] und $ env in der Powershell?
- 25. Wie können Sie .rb-Dateien, die sich in einer .EAR-Datei in JRuby befinden, einbeziehen?
- 26. Wie können versehentlich gelöschte Pod-Dateien, die sich im Pod-Ordner befinden, hinzugefügt werden?
- 27. Kacheln können nicht abgerufen/entfernt/hinzugefügt werden, wenn sich mehr als 13 Kacheln im Band befinden
- 28. Wo befinden sich Baugruppen in .NET physisch?
- 29. Befinden sich synchrone Anrufprobleme in AngularJs
- 30. Wo befinden sich OpenOffice.org-Vorlagen in Linux?
in wow64 Prozess 'ist FFFDB000' möglich und korrekte Adresse – RbMm
@RbMm Es ist in der Tat ein WOW64 Prozess. Ich habe das noch nie bei einem anderen TEB gesehen. Sie scheinen immer bei 0x7EFD8000 oder 0x7EFDB000 zu starten. Was macht dieses Programm so besonders? – Mikubyte
@RbMm Ich benutze Win7 x64. – Mikubyte