标签 Coding 下的文章

frida 笔记

记录 frida 的一些骚操作。

1. 定时器

由于 frida 的脚本是用 js 写的,意味着 js 的一些原生方法可以拿来用,比如……setInterval

Java.available && (()=>{
    setInterval(()=>{console.log(new Date())}, 1000);
})();

输出

Mon Jan 18 2021 19:56:29 GMT+0800
Mon Jan 18 2021 19:56:30 GMT+0800
Mon Jan 18 2021 19:56:31 GMT+0800
Mon Jan 18 2021 19:56:32 GMT+0800

2. frida 创建线程进行 HTTP 请求

注入后抓到的信息,有时候我们希望同步到另一个系统中,此时我们可以用 HttpURLConnection 来把数据 POST 到另一个系统的已有 API 接口中。

如果注入的 APP 引入了 OkHttp 包,我们也可以用 OkHttp 来进行接口调用。

需要注意的是,frida hook Java 以后是运行在 MainThread 上的,但 Android 4.0 以上不允许网络连接运行在主线程上,否则会报 android.os.NetworkOnMainThreadException。实际上 Android 4.0 以下也不建议这么干,因为网络请求一旦阻塞就会把主线程也阻塞了。我们需要新建一个线程来跑网络请求。

more