用 insert_dylib 來注入 macOS 的執行檔

身為 iOS jailbreak developer 都知道,用 dylib 可以注入執行檔作很多原本做不到的事情。而在 iOS 上有 CydiaSubstrate,在 macOS 上面則有 SIMBL。不過有時候我們在一些情況下需要直接注入 dylib 到執行檔中,而不要透過第三方管理工具的話要怎麼做呢?在 iOS 上面有 yololib,而在 macOS 上我們就用 insert_dylib。

insert_dylib 是在 github 上面的 open source project,所以可以直接從 repo 下載 : https://github.com/Tyilo/insert_dylib

下載之後自己用 Xcode 編譯,然後就可以執行了。執行的方式很簡單:

由於相對跟絕對路徑的問題,我會建議把 insert_dylib 丟到跟 binaryPath 一樣的地方,然後輸入 dylibPath 的相對路徑,會比較好處理。在使用時,如果 binary 有 codesign,可以選擇去除。

處理完畢之後輸入以下指令,檢查 LC_LOAD_DYLIB 是否正確。

之後如果需要 codesign 就自己簽名即可。

 

註:SIMBL  的執行檔有些不是 dylib,並不能這樣直接注入而達成免 SIMBL 的效果。

發佈留言