源码分析Android so加载过程

前言

在目前许多的Android应用加固中,都用到了so文件,并且通过针对so文件的section table进行混淆处理,以避免ida等逆向工具进行静态分析,因为在Android源码中,so的加载是完全不需要section信息的。

在此之前,很多文章都已经写到过关于Android so加载的流程,但很多都是基于Android4.x系统

虽然流程大同小异,但在Android5.0以后已经从Dalvik转换成ART,文件关系上已经对不上

因此,我针对Android7.1.2_r28的代码,对so加载过程进行分析

so加载

在加载一个so的时候,必然要写一句

1
System.loadLibrary("native-lib");

那么,我们就从这个函数看起

阅读更多