歡迎您光臨本站 註冊首頁

Hotpatch

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

Hotpatch 是一個允許正在運行的進程動態載入一個 so 庫的 C 庫,類似於 Win32 上的 CreateRemoteThread() API。

和其他現有的動態載入方案相比,Hotpatch 的優點是在

載入 so 庫之後將會恢復原先進程的運行狀態

 

開發者可以利用 Hotpatch 實現:

  • 載入 so 庫到一個已經運行的進程中。
  • 調用該 so 庫中的自定義函數。
  • 向該函數傳遞序列化的參數。

 

它包含三部分: hotpatch.h 頭文件,libhotpatch.so 庫和命令行輔助程序 hotpatcher

目前的局限有:

  • 用戶只能向擁有許可權的進程注入 so 庫(當然 root 用戶可以向所有進程注入)。
  • 目前僅支持 64 位 Linux,32 位支持將在下一個版本中完成。
  • 在編譯共享庫時需要加上連接器參數 -fPIC -nostartfiles
  • 對於一個正在運行進程僅能動態載入一次 so 庫文件。

 

詳細說明及 API 列表

Github 倉庫

消息來源



[火星人 ] Hotpatch已經有267次圍觀

http://coctec.com/docs/program/show-post-71532.html