需求
安卓有些加固软件会把真实的so隐藏起来,这里我们通过dump内存的方法获取到真实的so文件
有利于我们分析安卓软件的真实逻辑。
解密办法. dump内存
有时候有些so的文件的被加固软件隐藏了,我们要获取到原来的so文件就需要获取到最新的so文件,
这时候就需要我们通过dump获取到送文件,通过
具体步骤
步骤一
查看app的进程
adb shell
su
ps | grep cn.xiaohcuankeji.tieba # 得到pid
步骤二
查看map表
cat /proc/13598/maps | grep libnet
# u0_a67 13598 194 1057208 99148 fffffff 400446e0 S cn. xiaochuanke ji. tieba
步骤三
查看文件的内存起始位置和结束位置
cat /proc/13598/maps | grep libnet
40250000-40255000 r-xp 00000000 b3:15 38718 /system/lib/libnetutils.so
40255000-40256000 r--p 00004000 b3:15 38718 /system/1ib/libnetutils.so
40256000-40257000 rw-p 00005000 b3:15 38718 /system/lib/libnetutils.so
79abf000-79c2b000 r-xp 00000000 b3:17 325814 /data/app-lib/cn.xiaochuankeji.tieba-1/libnet_crypto.so
79c2b000-79c3c000 r--p 0016b000 b3:17 325814 /data/app-lib/cn.xiaochuankeji.tieba-1/libnet_crypto.so
79c3c000-79c3e000 rw-p 0017c000 b3:17 325814 /data/app-lib/cn.xiaochuankeji.tieba-1/libnet_crypto.so
.data 是存放于rw-p的 可读写区域的。
步骤四
dump文件
# 79c3c000 = 2042871808 , 8192 = 79c3e000 - 79c3c000
dd if=/proc/13598/mem of=/data/local/tmp/dump.so skip=2042871808 bs=1 count=8192
步骤五
发送到手机上
chmod 777 /data/local/tmp/dump.so
exit
adb pull /data/local/tmp/dump.so
完整的步骤
adb shell
su
ps | grep cn.xiaohcuankeji.tieba # 得到pid
cat /proc/13598/maps | grep libnet
# u0_a67 13598 194 1057208 99148 fffffff 400446e0 S cn. xiaochuanke ji. tieba
cat /proc/13598/maps | grep libnet
40250000-40255000 r-xp 00000000 b3:15 38718 /system/lib/libnetutils.so
40255000-40256000 r--p 00004000 b3:15 38718 /system/1ib/libnetutils.so
40256000-40257000 rw-p 00005000 b3:15 38718 /system/lib/libnetutils.so
79abf000-79c2b000 r-xp 00000000 b3:17 325814 /data/app-lib/cn.xiaochuankeji.tieba-1/libnet_crypto.so
79c2b000-79c3c000 r--p 0016b000 b3:17 325814 /data/app-lib/cn.xiaochuankeji.tieba-1/libnet_crypto.so
79c3c000-79c3e000 rw-p 0017c000 b3:17 325814 /data/app-lib/cn.xiaochuankeji.tieba-1/libnet_crypto.so
.data 是存放于rw-p的 可读写区域的。
# 79c3c000 = 2042871808 , 8192 = 79c3e000 - 79c3c000
dd if=/proc/13598/mem of=/data/local/tmp/dump.so skip=2042871808 bs=1 count=8192
chmod 777 /data/local/tmp/dump.so
exit
adb pull /data/local/tmp/dump.so
原文件和dump出来的文件对比。
用来分析加固和混淆,以及基本的脱壳分析