![](/img/trans.png)
[英]How do you add an existing .so library to an Android Studio project?
[英]How to add one imported function to existing Android SO library?
我目前正在為現有的SO庫(適用於Android的GTA SA)開發SO插件加載程序。 Android上的SO庫是Unix ELF文件。 沒有該庫的源代碼,我不能簡單地在源代碼中添加導入的函數並再次編譯SO庫。
有一個libGTASA.so,我想編輯和更改導入表,添加一個新符號RunSOpluginLoader,該符號將在libFastman92pluginLoader.so中實現,該文件已由Java代碼(classes.dex ),我也進行了修改。
對於Windows上的EXE文件,有很多程序可以編輯導入,我會使用LordPE。 對於ELF文件,我需要一個不同的解決方案,但是在尋找解決方案時遇到了麻煩。
我嘗試使用HT編輯器,它應該打開並編輯ELF文件,但是libGTASA.so在HT編輯器中打開幾秒鍾后,應用程序便崩潰了。
我需要一個解決方案以將導入添加到SO庫,最好是可以在Windows上運行的解決方案,但是如果沒有解決方案,那么我願意在Linux系統上進行。
正確添加導入后,我將在libGTASA.so中編輯一些ARM代碼,以實際調用新導入的函數。
實質上:
libGTASA.so-我想將導入的符號RunSOpluginLoader添加到此文件。
在我寫了問題的幾天后,我就知道了如何完成這項任務。 我已經用C ++和程序編寫了一個簡單的ELF文件管理器類,該類執行以下操作:
如果您想了解更多信息或獲取代碼,請隨時與我聯系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.