安卓逆向so篇(一):so文件调用

本教程介绍了如何在安卓应用中调用原生签名算法,提供了两种方法:通过hook函数和调用so文件。重点讲解了如何反编译定位签名函数,将so文件移植到自己的App中,创建对应类并直接调用,强调了这种方法的优点如内存占用小和稳定性高。同时提到了jar包方式的优缺点,适合在Linux环境中运行。

一.前言

安卓逆向分析时偶尔会遇到签名算法在native层的,想要调用该签名算法,可以采用以下三种方法:

(1)hook相关函数:hook是逆向中最常用的了,不过在电脑端还要整个虚拟机,装对应的app,内存占用较大,有时app还会崩溃,手机端的话也是得装app,需要hook几个不同软件的话内存也是吃力的。

(2)逆向so文件:使用IDA逆向so文件,需要定位到加密函数,还要看得懂汇编和C代码,工作量挺大。

(3)调用so文件:通过反编译技术定位到签名函数,找到定义native方法的类,确定使用的so文件,将so文件移植到自己的项目中,可以随时调用,而且可以整合多个so文件,占内存小,稳定性高。

二.正文

本教程介绍调用so文件的方法,有两种途径:

1.Android App

通过反编译工具jadx搜索定位到签名函数,继续深入找到定义native方法的类,确定使用的so文件,将so文件移植到自己的App中,可以随时调用。

(1) 解压目标App,在lib文件夹中找到目标so文件,将该so文件复制到自己App项目的libs目录下

(2) 在自己App项目中建立签名类(具体的native方法定义通过反编译技术获取),要注意的是包名和类名要和原App一致,否则调用不了。例如某个调用了libNativeHelper.so的类定义如下:

package co
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开发大观园

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值