私はJavaアプリケーションの経験がありませんが、これらのアプリケーションのメモリアドレスへの静的ポインタなどを見つけることは、明らかにコードを処理するJavaエンジンのために(ほぼ)不可能であることがわかりました(この方法で名前を付ける場合は修正してください)間違ってください)。
今、私は VisualVM ( https://visualvm.dev.java.net/ ) を使用しましたが、それは素晴らしいことです。Java プロセスを選択して、ヒープ ダンプを作成できます。次に、すべてのクラスとその値が表示されます。
このメソッドを使用してヒープ ダンプを継続的にポーリングし、ゲームの XY や Z などのオブジェクト値を受け取ることはできますか? このようなアプリケーションとプログラムで対話するにはどうすればよいですか?また、これを VisualVM で行うべきではない場合、代替手段は何でしょうか?
編集:これが私がする必要があることです: 特定の値を持つプロパティを持つすべてのクラスを見つけることができる必要があります。例: X 座標 (float) を検索すると、クラス "PlayerCoordsHandler" (単なる例) とそれに対応する float とその値が返されるはずです... または、この同じ float を再度見つける方法にすぎません。 (たとえば再起動後)。このプロセスは、現在既知のプロパティ (x float) の値を要求してプログラムで取得できる限り、プログラムである必要はありません (たとえば、コマンド ライン ユーティリティを使用するか、ファイルから読み取る)。
Edit2: ターゲット アプリケーションは Windows 実行可能ファイル (ただし Java で作成) であり、独自の Java VM を起動します。デバッグ用の Java パラメータを追加することはできません。ただし、VirtualVM はプロセスを問題なくデバッグできるため、これは必須ではないようです。誰でも方法を知っていますか?
前もって感謝します。