当前位置 : 主页 > 大数据 > 区块链 >

frida so hook 未导出的函数

来源:互联网 收集:自由互联 发布时间:2021-06-22
先分析encode。 发现是一个导出函数。 ida找它,如图所示。 查看引用,找到调用它的函数。 获取它在文件中的偏移,如图所示。 hook 地址时记得加1。 # -*- coding: UTF-8 -*-import frida, sysjs
先分析encode。


发现是一个导出函数。

ida找它,如图所示。

查看引用,找到调用它的函数。

获取它在文件中的偏移,如图所示。

hook 地址时记得加1。

# -*- coding: UTF-8 -*-
import frida, sys

jsCode = """

Java.perform(function(){

    var soAddr = Module.findBaseAddress("libhello.so");
    send(‘soAddr: ‘ + soAddr);
    var MD5FinalAddr = soAddr.add(0x1768 + 1);
    send(‘MD5FinalAddr: ‘ + MD5FinalAddr);
    Interceptor.attach(MD5FinalAddr, {
        onEnter: function(args){
            send(args[0]);
            send(args[1]);
        },
        onLeave: function(retval){
            send(retval);
        }
    });

});

""";

def message(message, data):
    if message["type"] == ‘send‘:
        print(u"[*] {0}".format(message[‘payload‘]))
    else:
        print(message)

process = frida.get_remote_device().attach("com.xiaojianbang.app")
script= process.create_script(jsCode)
script.on("message", message)
script.load()
sys.stdin.read()

网友评论