我使用DLL注入視頻遊戲的目的是改裝(我正在建立一個遊戲的API)。手動定義外部符號與海灣合作委員會
我想從我的新DLL直接訪問EXE中的結構和變量。變量的絕對地址是已知的(EXE具有固定的圖像庫)。
根據GNU ld
文檔,我可以使用--defsym=symbol=expression
在輸出文件中創建一個全局符號,其中包含由expression給出的絕對地址。
我不能得到它的工作。
如果我在我的代碼中聲明符號爲extern
,並使用ld --defsym
,則會得到未定義的引用錯誤。但是如果我在代碼中定義符號,它只是使用本地(DLL)版本,而不是EXE。
看來--defsym
選項沒有效果。任何見解將不勝感激。
更新:--defsym
在Linux下完美工作。當我嘗試在Windows上使用mingw進行編譯時,出現undefined reference
錯誤。