frida一些常用js脚本

本文分享了Frida中常用的脚本,包括防止暴力破解的延时函数、打印NDK String[]、主动调用非静态函数、数据类型转换和日期格式化等。这些脚本有助于开发者在逆向工程和调试过程中提升效率。

frida一些常用脚本

搜集一些常用的frida脚本

frida暴力破解的时候加点延时防止程序崩溃

//frida暴力破解的时候加点延时防止程序崩溃
function sleep(time) {
   
   
    var timeStamp = new Date().getTime();
    var endTime = timeStamp + time;
    while (true) {
   
   
        if (new Date().getTime() > endTime) {
   
   
            return;
        }
    }
}

frida 打印ndk中的String[]类型

frida 打印ndk中的String[]类型,String[]在JNI中表示为jobjectArray, 需要使用en.getArrayLength()来获取数组长度,通过env.getObjectArrayElement()函数得到数组中的元素也是jstring。然后打印jstring即可

function f() {
   
   
    var arr4_len = Java.vm.getEnv().getArrayLength(args[4]);
    console.log("arr4_len",arr4_len);
    for (var i=0; i < arr4_len; i++){
   
   
        var obj = Java.vm.getEnv().getObjectArrayElement(args[4],i);
        console.log(obj)
        //方式一
        var element = Java.cast(obj,Java.use("java.lang.String"));
        //方式二
        var element = Java.vm.getEnv().getStringUtfChars(obj,null).readCString();
        console.log(element);
    }
}

frida主动调用非静态函数

function invoke() {
   
   
    Java.perform(function () {
   
   
        Java.choose("com.example.yaphetshan.tencentwelcome.MainActivity", {
   
   
            onMatch: function (instance) {
   
   
                console.log("found insttance ", instance);
                console.log("invoke instance.a ", instance.a());
            }, onComplete: function () {
   
   
                console.log("search completed !"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值