A-A+
Android hook神器frida 错误解决方法
.关于使用frida遇到的一些问题
(1)如果出现以下错误:
可以通过以下方式关闭SELinux,在adb shell中执行:
echo 0 > /sys/fs/selinux/enforce 或者 setenforce 0
(2)如果出现“frida.ServerNotRunningError: unable to connect to remote frida-server”的错误,试试端口转发:
adb forward tcp:27042 tcp:27042
2.hook native函数
首先编写python hook代码,示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import frida import sys device = frida.get_remote_device() #pid = device.spawn(["com.xxx.yyy"]) session = device.attach("com.xxx.yyy") #device.resume(pid) scr = """ Interceptor.attach(Module.findExportByName("libxyz.so" , "Java_com_xxx_aaa_jni_abc_nativemethod"), { onEnter: function(args) { #Memory.readUtf8String(args[1]) send("[+]nativemethod param is: ", Memory.readByteArray(args[0], 256)); }, onLeave:function(retval){ } }); """ def on_message(message ,data): print(message['payload']) script = session.create_script(scr) script.on("message" , on_message) script.load() sys.stdin.read() |
在Android shell中启动frida-server,然后在pc端执行该python代码即可。
也可以通过%load加载脚本进行hook,如图所示:
先运行:frida -U -f 需要hook的包名 --no-pause
然后通过输入“%load 脚本文件路径”加载脚本运行。
文章来源:https://www.cnblogs.com/goodhacker/p/10016028.html
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏