Android逆向分析——得到SO基址的方法

获取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。因为是真的好用

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值