本文共 892 字,大约阅读时间需要 2 分钟。
先分析encode。
发现是一个导出函数。ida找它,如图所示。查看引用,找到调用它的函数。获取它在文件中的偏移,如图所示。hook 地址时记得加1。# -*- coding: UTF-8 -*-import frida, sysjsCode = """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()
转载于:https://blog.51cto.com/haidragon/2397709