获取APP中SO文件的基址 ?
0、准备工作
电脑: ? Window10
手机: ? AndroidPhone Redmi Note 4x? Version7.0 Root
环境: ? Java 1.8.0_121、ADB、Python、Frida
调试: ? IDA V6.8
1、第①种:使用命令行查看so文件基址
1.1 将apk软件安装到手机上
可通过adb命令安装,命令:
adb install HookTestDemo.apk
?
1.2 在手机上运行该APP
点击几下能够调用到so文件的功能(此处点击了cmd5按钮)
1.3 进入手机命令行查看
手机通过USB连接电脑,确保开启USB调试模式
win+ R键打开CMD
adb devices
adb shell
su
ps
找到当前APP包名的PID,PID为18913
cd /proc/18913
ls
cat maps
查找对应so文件的行,?得到so基址0x7f6ae21000
2、第②种:frida HOOK获得so文件基址
2.1 直接上脚本代码
//HookTest.js
function hookTest(){
var soAddr = Module.findBaseAddress("libxiaojianbang.so");//获得基址
console.log(soAddr);
}
function main(){
hookTest();
}
setImmediate(main);
运行
frida -U -f com.xiaojianbang.app --no-pause -l HookTest.js
hookTest()
结果
?
当然,该方法需要会使用frida,也建议使用frida。因为是真的好用
|