吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1883|回复: 5
收起左侧

求一份frida hook native非导出函数 完整代码

[复制链接]
13323765173 发表于 2020-5-7 11:14
25吾爱币
求一份frIDA hook native非导出函数 完整代码,借鉴一下,非常感谢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ctw507 发表于 2020-10-26 08:23
[Python] 纯文本查看 复制代码
import frida
import sys
rdev=frida.get_remote_device()
session=rdev.attach("包名")
scr="""
send("get in jscode")
Java.perform(function(){
var pointer = Module.findExportByName("libcore.so" , "JNI_OnLoad");
console.log("pointer: "+pointer);//                     用ida查看JNI_OnLoad 在so中的IDA      未导出函数sub_22F4
var hookpointer = '0x' +parseInt(parseInt(pointer) - parseInt('0x1AD0') + parseInt('0x22F4')).toString(16).toUpperCase();
console.log("hookpointer: "+hookpointer);
var nativePointer = new NativePointer(hookpointer);
console.log("net native pointers:"+nativePointer);
Interceptor.attach(nativePointer, {
      onEnter: function(args) {
      console.log("args: " + Memory.readCString (args[1]));
     },
     onLeave:function(retval){
}
});
})
"""
script = session.create_script(scr)
def on_message(message ,data):
    file=open(r'C:\Users\Administrator\Desktop\log.txt', 'a')
    if message['type'] == 'send':
        print("[*] {0}".format(message['payload']))
        file.writelines(str(message['payload'])+"\n")
        file.close()
    else:
        file.writelines(str(message)+"\n")
        file.close()
        print (message)
script.on("message" , on_message)
script.load()
sys.stdin.read()
weiniuda 发表于 2020-11-15 19:46
ctw507 发表于 2020-10-26 08:23
[mw_shl_code=python,true]import frida
import sys
rdev=frida.get_remote_device()

var hookpointer = '0x' +parseInt(parseInt(pointer) - parseInt('0x1AD0') + parseInt('0x22F4')).toString(16).toUpperCase();

大神,这行代码看不懂,0x1AD0和0x22F4分别是指什么地址?
weiniuda 发表于 2020-11-15 19:48
weiniuda 发表于 2020-11-15 19:46
var hookpointer = '0x' +parseInt(parseInt(pointer) - parseInt('0x1AD0') + parseInt('0x22F4')).toSt ...

0x22F4是未导出函数偏移地址?

那0x1AD0是指的什么地址
weiniuda 发表于 2020-11-15 19:49
ctw507 发表于 2020-10-26 08:23
[mw_shl_code=python,true]import frida
import sys
rdev=frida.get_remote_device()

0x1AD0是指JNI_OnLoad的偏移地址吗
ctw507 发表于 2020-11-18 00:28
weiniuda 发表于 2020-11-15 19:48
0x22F4是未导出函数偏移地址?

那0x1AD0是指的什么地址


weiniuda 发表于 2020-11-15 19:46
var hookpointer = '0x' +parseInt(parseInt(pointer) - parseInt('0x1AD0') + parseInt('0x22F4')).toSt ...

0x22F4是未导出函数偏移地址 sub_22F4

那0x1AD0是指的jni-onload的基址 是用ida看到的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 23:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表