RetroScope工具:Android设备内存取证 (MD)

本文详细介绍了如何使用RetroScope工具进行Android设备内存取证,包括编译pmd工具、dump进程mem和map文件、导入文件、运行RetroScope及解决遇到的错误问题。强调了使用真机而非模拟器的重要性。
摘要由CSDN通过智能技术生成

RetroScope工具的下载、编译和启动,参考博客:
http://blog.csdn.net/rzwinters/article/details/77003230

1 根据源码分析RetroScope工具的使用方法

(1)运行emulator-MAGIC模拟器。

(2)开启另一个终端,执行命令:

$ adb logcat | grep -E "RetroScope|ZMB"  

以监视RetroScope APP的日志信息。

启动RetroScope APP,根据日志信息搜索并阅读位于/dalvik/vm/zombie的RetroScope源代码,有如下发现:

(a)Zombie.h:

// someday we may receive these from somewhere  
static const char mem_file_name[] = "/sdcard/mem.m";  
static const char map_file_name[] = "/system/usr/data/map.m";  

RetroScope工具的输入固定路径且固定文件名,mem文件命名为mem.m,map文件命名为map.m。

(b)MemMap.cpp,初始化函数:

void zmbMemMapInit(const char * map_file_name, const char * mem_file_name)  

(c)MemMap.h,解析map文件每行内容的函数:

static inline MemSeg MemSegFromMapLine(char * map_line)  

对比RetroScope工具源代码内包含的pmd工具源代码(/tools/pmd/jni/pmd.c),生成map文件的函数:

static inline void dump_mem(pid_t pid, int mem, int mem_file, FILE* maps, FILE* map_file,
                pid_t**const tids, size_t*const n_tids, size_t*const max_tids)  

MemSegFromMapLine函数中解析map文件的逻辑与dump_mem函数中生成map文件的逻辑相同,可以推断pmd工具生成的安卓手机指定进程的mem文件和map文件符合RetroScope工具的输入要求。

2 编译pmd工具

pmd工具的源代码位于RetroScope主目录下的tools/pmd目录中,使用Android NDK交叉编译该工具。

(1)配置环境变量,以方便使用ndk-build脚本编译源代码:

export NDK_PATH=/home/richard/and
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值