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 !"

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

被折叠的 条评论
为什么被折叠?



