一.前言
安卓逆向分析时偶尔会遇到签名算法在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

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

被折叠的 条评论
为什么被折叠?



