frida native层调用函数

function callMd5(){
    // 确定So的基地址
    var base_addr = Module.findBaseAddress("libnet_crypto.so")
    call_65540(base_arr)
}
function call_65540(base_addr){
    // 函数在内存中的地址,thumd地址+1
    var real_addr = base_addr.add(0x65540+1)
    var md5_function = new NativeFunction(real_addr,"int",["pointer","int","pointer"])
    //参数1 明文字符串的指针
    var input = "mystr"
    //native调用的string需要这样定义
    var arg1= Memory.allocUtf8String(input);
    var arg2 = input.length;
    // 参数3 存放结果的buffer
    var arg3 = Memory.alloc(16);
    md5_function(arg1,arg2,arg3);
    console.log(hexdump(arg3,{length:0x10}));

} 
posted @ 2021-10-31 23:26  公众号python学习开发  阅读(826)  评论(0编辑  收藏  举报