文章目录
- 一、Android 虚拟机涉及的 libdvm.so 动态库 和 libart.so 动态库
- 二、Android 运行时相关 libandroid_runtime.so 动态库
- 三、Android Framework 层 Native 实现相关 libandroidfw.so 动态库
一、Android 虚拟机涉及的 libdvm.so 动态库 和 libart.so 动态库
libdvm.so
动态库是 Android 的 Dalvik 虚拟机使用的动态库 ; Android 5.0 及以下系统使用 Dalvik 虚拟机 ;
libart.so
动态库是 Android 的 Art 虚拟机使用的动态库 ; Android 5.1 及以上系统使用 Art 虚拟机 ;
目前所有的模拟器 , 真机获取的虚拟机动态库都是 libart.so 动态库 ; 5.0 以下的 Android 设备 , 现在很少了 ;
执行
cp /system/lib/libart.so /sdcard/Pictures
命令 , 将 libart.so 动态库拷贝到 /sdcard/Pictures 目录 , 之后可以将其拷贝到文件系统 , 使用 64 位 IDA 分析该动态库 ;
二、Android 运行时相关 libandroid_runtime.so 动态库
libandroid_runtime.so 是 Android 运行时相关的函数库 ; 如 : Java 层与 Native 层交互的 JNI 机制 , 系统控制机制 , 获取硬件设备 ( GPS , 陀螺仪 ) 数据 等 ;
执行
cp /system/lib/libandroid_runtime.so /sdcard/Pictures
命令 , 将 libandroid_runtime.so 动态库拷贝到 /sdcard/Pictures 目录 , 之后可以将其拷贝到文件系统 , 使用 64 位 IDA 分析该动态库 ;
三、Android Framework 层 Native 实现相关 libandroidfw.so 动态库
libandroidfw.so 是 Android 的 Framework 层的 Native 实现部分的动态库 ,
执行
cp /system/lib/libandroidfw.so /sdcard/Pictures
命令 , 将 libandroidfw.so 动态库拷贝到 /sdcard/Pictures 目录 , 之后可以将其拷贝到文件系统 , 使用 64 位 IDA 分析该动态库 ;