惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
有赞技术团队
有赞技术团队
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
B
Blog RSS Feed
博客园_首页
Y
Y Combinator Blog
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
雷峰网
雷峰网
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Help Net Security
P
Proofpoint News Feed
B
Blog
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - bamb00

PDF 解析为什么难:一份面向 RAG 的问题清单与解决路线 一个项目带你入门AI应用开发08 一个项目带你入门AI应用开发08 一个项目带你入门AI应用开发课程介绍 一个项目带你入门AI应用开发07 一个项目带你入门AI应用开发06 一个项目带你入门AI应用开发05 一个项目带你入门AI应用开发05 一个项目带你入门AI应用开发04 一个项目带你入门AI应用开发03 一个项目带你 入门AI应用开发02 一个项目带你入门AI应用开发01 3・15 曝光 AI 安全暗礁:企业如何筑牢投毒与幻觉防护墙 CodeQL学习——导航调用图 CodeQL学习——java程序抽象语法树 linux进程隐藏手段及对抗方法 OAuth2.0安全设计之Authorization Code CodeQL学习——CodeQl数据流分析 CodeQL学习——CodeQL java库 CodeQL学习——自定义查询 CodeQL学习——CodeQL CLI入门 用户中心 - 博客园 浏览器解析js intent 参数的规范 Fiddler如何自动修改请求和响应包 Burp Suite学习之Intruder的4种攻击模式 对Android系统权限的认识 "INSTALL_FAILED_DUPLICATE_PERMISSION "错误解决 移动广告作弊技术研究 Android如果有一个任意写入的漏洞,如何将写权限转成执行权限
Android hook神器frida(二)
bamb00 · 2018-11-25 · via 博客园 - bamb00

1.关于使用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 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,如图所示:

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

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

 参考文章:

https://www.jianshu.com/p/b833fba1bffe

https://juejin.im/post/5b1cc2b85188257d8c7d726c