文章目录

一、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 逆向】Android 中常用的 so 动态库 ( libdvm.so | libart.so | libandroid_runtime.so | libandroidfw.so )_逆向

二、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 逆向】Android 中常用的 so 动态库 ( libdvm.so | libart.so | libandroid_runtime.so | libandroidfw.so )_so_02

三、Android Framework 层 Native 实现相关 libandroidfw.so 动态库


libandroidfw.so 是 Android 的 Framework 层的 Native 实现部分的动态库 ,

执行

cp /system/lib/libandroidfw.so /sdcard/Pictures

命令 , 将 libandroidfw.so 动态库拷贝到 /sdcard/Pictures 目录 , 之后可以将其拷贝到文件系统 , 使用 64 位 IDA 分析该动态库 ;

【Android 逆向】Android 中常用的 so 动态库 ( libdvm.so | libart.so | libandroid_runtime.so | libandroidfw.so )_so_03

【Android 逆向】Android 中常用的 so 动态库 ( libdvm.so | libart.so | libandroid_runtime.so | libandroidfw.so )_android_04