私は最近、32ビットバージョンのチートエンジンが、32ビットアドレス空間で利用可能なものよりも高いアドレスにスレッド環境ブロックを持っていることに気付きました。私の知る限りでは、ユーザー空間はアドレス0x7FFFFFFFまでしかアクセスできませんが、このTEBは0xFFFDB000にあります。私が見たすべてのTEBは0x7EFD8000または0x7EFDB000で始まり、その後のTEBは下向きに続きました。私はCheat Engineがスキャンプロセスを簡素化するためのメモリスキャナであると想定しています。プロセス環境ブロックも移動されました。誰でもこのことがどうなるか教えていただけますか?これはPortable Executableの設定です。 32ビットプログラムのスレッド環境ブロックは、アドレス空間の制限を超えてどのように存在できますか?
0
A
答えて
1
0x00000000
から0xFFFFFFFF
に利用可能なアドレスが、x86プラットフォーム上で歴史的[0x00000000, 0x7FFFFFFF]
は、ユーザ空間とカーネル空間ました。 32bitアプリがwow64サブシステムで動作するx64では、これはすでに真実ではありません - すべての32bitの範囲 - はユーザスペースです。しかし互換性のあるシステムのために、とにかく、デフォルトでは、wow64ビットアプリケーションのユーザアドレス空間は2GB [0x00000000, 0x7FFFFFFF]
に制限されます。以下のためにこれを破り、2ギガバイトを超えるアドレスを処理することができますフラグに
IMAGE_FILE_LARGE_ADDRESS_AWARE
アプリケーションを使用する必要が4GBのスペースを持っています。 WOW64プロセスで
関連する問題
- 1. このコードは時間制限を超えていますか?
- 2. スレッド制限を超えてブロックされたワーカーを交換する
- 3. PAE(Physical Address Extension)は4GBを超えるアドレス空間をどのように有効にしますか?
- 4. Railsコントローラメソッドを開発環境に制限できますか?
- 5. jqueryのツールチップの境界をどのように制限できますか?
- 6. ExecutorServiceのスレッドをどのように制限しますか?
- 7. 複数のユーザーが同じIPアドレスからログインしたときの時間制限を超えました
- 8. HDF5でのパンダクエリのサイズを制限してRAM制限を超えないようにする方法は?
- 9. Sinatraにどのような環境(開発、テスト、制作)がどのように伝えられますか?
- 10. CMDBuild環境をどのように配備できますか?
- 11. 65535バイトの制限を超えてonItemClick
- 12. ジオコードAPIのクエリ制限を超えて
- 13. ここではCIT環境に制限がありますか?
- 14. weblogicクラスタ環境でスレッドがブロックされています
- 15. Windows環境で現在のユーザーをどのように見つけますか?
- 16. Rails環境は、開発環境の中でさえ、本番環境に固執しているようです。
- 17. どのようにスレッドの数を制御できますか?
- 18. 制限を超えて実行するcoundowntimerを実装するにはどうすればよいですか?
- 19. Pythonスレッドをどのように抑制できますか?
- 20. Qualtricsブロックの時間制限
- 21. Java環境でスレッドを強制終了するには?
- 22. メモリの制限を超え - Apacheのインパラ
- 23. GAS:メモリ制限を超えました
- 24. レート制限を超えました
- 25. 環境別ルートを制限する
- 26. Google Appsスクリプト360秒が制限時間を超えました
- 27. ウィンドウのClangコマンドが行の制限を超えています
- 28. Cputime制限を超えていますか?
- 29. Python - RAM制限を超えていますか?
- 30. 環境変数の存在を確認するにはどうすればよいですか?
IMAGE_FILE_HEADER.Characteristics
に 'FFFDB000'は、それが実際にWOW64プロセスである可能性と正しいアドレス – RbMm@RbMmです。しかし、これは決して他のTEBに起こるのを見たことはありません。彼らは常に0x7EFD8000または0x7EFDB000で始まるようです。何がこのプログラムを特別なものにするのでしょうか? – Mikubyte
@RbMm私はWin7 x64を使用しています。 – Mikubyte