0

私はモッディングの目的でビデオ ゲームで DLL インジェクションを使用しています (私はゲーム API を構築しています)。

新しい DLL から EXE 内の構造体と変数に直接アクセスしたいと考えています。変数の絶対アドレスはわかっています (EXE には固定イメージ ベースがあります)。

GNUldドキュメントによると、--defsym=symbol=expression式で指定された絶対アドレスを含むグローバル シンボルを出力ファイルに作成するために使用できます。

私はそれを働かせることができません。

externコードでシンボルを宣言してを使用するld --defsymと、未定義の参照エラーが発生します。しかし、コードでシンボルを定義すると、EXE バージョンではなくローカル (DLL) バージョンが使用されます。

--defsymオプションは効果がないようです。どんな洞察も大歓迎です。

更新: --defsymLinux で完全に動作します。mingw を使用して Windows でコンパイルしようとすると、undefined referenceエラーが発生します。

4

1 に答える 1