Executable
是否可以呼叫執行檔的函式?
我想知道是否可以通過直接呼叫程序內部工作方法/函式來繞過執行檔的 gui。
假設執行檔是在 Linux 上具有工作 Gnome 或 KDE 介面的 C/C++ 程序。
這可以在特殊情況下完成。您所描述的類似於通過 C 動態連結載入器動態載入外掛:請嘗試
man dlopen
了解詳細資訊。通常所謂的程式碼必須被編譯為“位置無關”,所以對於任何特定的程序,你幾乎肯定不走運。您可以查看userland exec程式碼以獲取有關如何完成此操作的一些提示,但幾乎可以肯定,按照您的描述進行操作是行不通的。
*那沒有經過測試,這正是我會嘗試的。
所以我不知道它是否可以算作一個答案。*
如果您設法使用調試器跟踪執行(這是一項耐心的工作)。記下要執行的函式的地址後。您也許可以通過腳本遠端控制調試器。請注意,大多數應用程序必須先經過一些初始化步驟。
會:
- 啟動調試器
- 載入執行檔
- 在應用程序初始化後設置斷點
- 跑
- 到達斷點後跳轉到函式。