LiME(以前称为DMD)是一种可加载的内核模块(LKM),允许从基于Linux和Linux的设备(例如由Android提供的设备)获取易失性存储器。这使得LiME独一无二,因为它是第一款允许在Android设备上进行完整内存捕获的工具。
它还最大限度地减少了在采集过程中用户和内核空间进程之间的交互,这使得它能够产生比为Linux内存采集而设计的其他工具更具辩护性的内存捕获
特征:
完整的Android内存采集
通过网络接口采集
最小的工艺足迹
用法:
LiME利用insmod命令加载模块,并为其执行传递必需的参数。
[sourcecode language="plain"]insmod ./lime.ko“path = > format = [dio = <0 | 1>]” [/sourcecode]
路径(required):outfile?要写入的文件的名称在本地系统上(SD卡)
tcp:端口?网络端口通过
格式进行通信(required):填充?填充所有非系统RAM范围,每个范围用0s lime?每个范围都预先包含包含地址空间的固定大小头信息raw?连接所有系统RAM范围(警告:转储内存的原始位置 可能会丢失)
dio(optional):1?尝试启用直接IO 0?默认值,不要尝试Direct IO
localhostonly(optional):1?限制tcp只在本地主机上监听,0?在所有接口上绑定(默认)
timeout(optional):1000?最大允许读取页面的毫秒数(默认值)。如果页面超过超时,则所有内存区域均被跳过。0?禁用超时,以便获取缓慢区域。
该功能仅在内核版本> = 2.6.35时可用。
例子:
在这个例子中,我们使用adb来加载LiME,然后通过网络进行采集来启动它
[sourcecode language="plain"]
$ adb push lime.ko /sdcard/lime.ko
$ adb forward tcp:4444 tcp:4444
$ adb shell
$ su
#insmod /sdcard/lime.ko“path = tcp:4444 format = lime”
现在在主机上,我们可以建立连接并使用netcat获取内存
$ nc localhost 4444> ram.lime
获得SD卡
#insmod /sdcard/lime.ko“path = / sdcard / ram.lime format = lime”
[/sourcecode]
仅供于学习研究使用,不得非法使用,如非法操作,责任自行承担
文章出处:http://www.effecthacking.com,由华盟网翻译排版,转载请注明华盟网