Android hook神器frida(二)

1.关于使用frida遇到的一些问题

如果出现以下错误:

Android hook神器frida(二)

可以通过以下方式关闭SELinux,在adb shell中执行:

echo 0 > /sys/fs/selinux/enforce
或者
setenforce 0

2.hook native函数

首先编写python hook代码,示例如下:

 1 import frida
 2 import sys
 3 
 4 device = frida.get_remote_device()
 5 #pid = device.spawn(["com.xxx.yyy"])
 6 session = device.attach("com.xxx.yyy")
 7 #device.resume(pid)
 8 
 9 scr = """
10 Interceptor.attach(Module.findExportByName("libxyz.so" , "Java_com_xxx_aaa_jni_abc_nativemethod"), {
11     onEnter: function(args) {
12         #Memory.readUtf8String(args[1])
13         send("[+]nativemethod param is: ", Memory.readByteArray(args[0], 256));
14     },
15     onLeave:function(retval){
16     
17     }
18 });
19 """
20 def on_message(message ,data):
21     print(message[payload])
22 
23 script = session.create_script(scr)
24 script.on("message" , on_message)
25 script.load()
26 sys.stdin.read()

在Android shell中启动frida-server,然后在pc端执行该python代码即可。

也可以通过%load加载脚本进行hook,如图所示:

Android hook神器frida(二)

先运行:frida -U -f 需要hook的包名 --no-pause

然后通过输入“%load 脚本文件路径”加载脚本运行。

 

Android hook神器frida(二)

上一篇:App端【待现场核查的申请】设计项列表界面上的上的【经营者信息】按钮调【经营者设计项】的编辑界面,并且能够查看选中的待现场核查的申请对应的经营者信息


下一篇:Android 一种非常好用的Android屏幕适配