Frida官方手册 - 在Android上使用Frida

发布者:freakish
发布于:2017-10-21 12:34

在Android上使用Frida

  • 在这篇教程里面,我们来演示一下如何在Android设备上进行函数跟踪。

设置你的Android设备

  • 在我们开始之前,请确保你的Android设备已经完成root操作。我们大部分的实验操作都是在Android4.4版本上进行的,但是Frida本身是支持从4.2到6.0的版本的,但是目前来说对Art的支持还是有限的,所以我们建议最后还是用使用Dalvik虚拟机的系统设备或者模拟器来进行尝试。
  • 除了一台root设备之外,还需要安装Android SDK工具,因为我们要用到它的 adb 工具。
  • 首先,下载最新的Android设备上的 frida-server (下载地址:https://github.com/frida/frida/releases),然后把这个文件在手机上运行起来:
  • 最后要注意的是,确保你的 frida-server 是以root权限运行的,在已经root过设备上,先运行su,然后再运行程序,即可确保是root权限运行的。
  • 接下来,使用adb看看设备是否连接正常:
  • 这个操作主要是为了确保adb守护进程在你的主控端电脑上运行正常,也同时保证Frida可以正常和设备进行通信。

快速冒烟测试

  • 现在,一切环境准备完毕,为了测试Frida是否准备正常,执行如下命令:
  • 这条命令应该会显示一个进程列表:
  • 有了以上这些准备,我们就可以顺畅的往下走了。

跟踪Chrome里的Open()函数

  • 现在我们就开始吧,在你的Android机器上启动Chrome App然后在你的主控端电脑上运行如下命令:
  • 现在你可以任意的在Chrome App里面任意玩耍啦,现在可以看到主控端的命令行关于 open() 的输出了:
  • 现在可以实时的修改JavaScript脚本,并且在Android的App里面深挖了。

构建自己的工具

  • 像是 Frida,Frida-trace 等这些工具确实很有用,但是有时候你会发现你还是需要定制自己更加个性化的功能,那就最好去读一下 FunctionsMessages 这两章,比如当你使用到 frida.attach() 的时候,其实底层调用的就是 frida.get_usb_device().attach()

声明:该文观点仅代表作者本人,转载请注明来自看雪