そこで、私は Linux をいじることに戻り、ptrace に代わる優れた方法を見つけて、Windows で愛用していたものを置き換える独自の ReadProcessMemory 関数を作成しようとしています。/proc/XXXX/ ディレクトリ (XXXX はプロセス ID) の内容をいじろうとしています。
現在、基本的な GUI と UI に保持されているいくつかの特徴的な文字列を使用して、Qt デザイナーでアプリケーションを作成しました。このアプリケーションに保存している値は、ローカルで宣言された std::string 変数に含まれているだけでなく、表示のために UI に渡されています。
それぞれのファイルに何が含まれているか、誰でもアドバイスできますか? 現在、私はマップファイルにいて、物理メモリアドレスへのハンドルまたは参照のリストのようです...? ここにスニペットがあります:
7fffe137a000-7fffe137b000 r--p 00031000 08:01 4463612 /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0
7fffe137b000-7fffe137c000 rw-p 00032000 08:01 4463612 /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0
7fffe137c000-7fffe1381000 r-xp 00000000 08:01 4462728 /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2.0.0
7fffe1381000-7fffe1580000 ---p 00005000 08:01 4462728 /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2.0.0
これらのライブラリが何であるかは完全にはわかりませんが、それらが OS のコア コンポーネントであると想定しており、Xfce フロントエンドを介して適切に統合できるように、物理アドレスを介してアクセスしています。
それで、ファイルの内容のリストはどこかにありますか?それとも、ファイルの内容を正確に頭のてっぺんから知っている人はいますか? または、探している値がメモリに保存されているのはどのファイルですか?
ptrace が気に入らない理由は、使用しようとしているゲームの UI とワーカーがフリーズするためです。私はかなり長い間回避策を考えてきましたが、まだ何かを実装しようと試みたことはありません。現在、大学の研究のために Linux を使用しなければならないので、ダウンタイムにもこれを試してみませんか? ?