安卓逆向 · 2023年11月26日 0

Frida js hook教程

Frida 安装

pip install frida
pip install frida-tools

frida-server 安装运行

先看看自己模拟器平台,一般模拟器架构都是x86的

adb shell getprop ro.product.cpu.abi
x86

我这边是x86的,到frida-releases这找到对应版本进行下载,之后用adb把它push到手机中,转发到本机端口,起frida-server

adb push frida-server /data/local/tmp
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
adb shell /data/local/tmp/frida-server

下面是js hook的代码示例

console.log("Script loaded successfully ");
Java.perform(function x() {
    var String = Java.use('java.lang.String')//定位到要hook的类名
    String.equals.implementation = function (arg1) {//equals就是我们要hook的函数
    console.log("your input : " + this.toString());
    console.log("I'm the real key : " + arg1);//打印出来真实的解锁码
    var ret = this.equals(arg1);
    return ret;//返回值
    }
    var Show_key = Java.use("com.hfdcxy.android.by.a.a");
    Show_key.a.overload("java.lang.String").implementation = function (args1) {
    console.log("Your_key_is" + args1);//打印解锁码
    }
    var my_class = Java.use("com.hfdcxy.android.by.test.a");
    my_class.a.implementation = function () {
        return "123456789";//使用"123456789"当返回值
    }
});