我正在逆向工程Android應用程序。 問題是,我沒有太多有關Android內部的經驗,所有我的rev-eng技能都與x86實踐有關。 應用程序的APK包含兩個本地庫(lib ... so),兩個中更有趣的一個被加密(沒有ELF頭,沒有GCC簽名等)。 希望在應用程序正在使用時將其解密,我將它安裝在根用戶平板電腦上,只發現/data/app-lib/com.[appname]/lib[something].so
也被加密(.so文件與APK內的文件相同),即使該應用程序正在被使用! 我猜測,當應用程序加載此本機庫時,必須進行某種透明解密。Android上的本機共享庫(.so)看起來已加密 - 如何獲取它?
它是JNI的某種內置功能嗎?如果沒有,那該怎麼實現? 如何在加載這個庫的過程中捕捉應用程序,因爲我理解ld-linux必須看到一個普通的ELF樣式庫,否則它會失敗。
它是否被proguard特徵混淆了,也許? – ecle