在Android上使用Frida

转载请标明出处https://www.jianshu.com/p/e19c566736fb   

接着前面的文章搭建好frida的环境之后,我们来尝试Android手机app的操作。

1. 在确保手机和电脑都已经配置好Frida的情况下,以及手机和电脑已经连接正常的情况下。
    执行adb shell su -c '/data/local/tmp/frida-server' 。运行手机的frida-server。(已经开启运行的就跳过这步吧)

2. 现在,一切环境准备完毕,为了测试Frida是否准备正常
    执行:frida-ps -U
    如果出现进程列表,就表示准备正常了。

3. 尝试 : 跟踪App里的Open()函数
    在我们的Android手机上启动我们要操作的APP,之后在电脑输入指令
    frida-trace -U -i open xxx(后面这个是你要操作的app的包名)

会看到如下图输出:

到此为止你可以任意的在App里面操作了,可以看到主控端的命令行关于 open() 的输出了

现在可以实时的修改JavaScript脚本,并且在Android的App里面深挖了。

    3.1 frida出现的问题

            这里我就遇到了:

            Failed to attach: unexpected error while attaching to process with pid 19267。
            这里我们还需要对selinux(完全不知道什么情况但是还好找到了办法解决)操作一下。
            adb shell su,进入到root权限之后,输入getenforce我们看到的是Enforcing,这里我们需要输入echo 0 > /sys/fs/selinux/enforce。
            之后再输入getenforce就会出现Permissive,问题就解决了。如下图(下图是我修改之后的所以是Permissive):

下图

            

4. 原文档提到:

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

最后,很感谢看雪大神翻译的Frida中文文档,感谢!

你可能感兴趣的:(在Android上使用Frida)