【开源】Qujing曲境 | 在PC浏览器上进行安卓的监控hook
2021-08-01 19:28:46 Author: mp.weixin.qq.com(查看原文) 阅读量:14 收藏

曲境是什么

曲境是一个xposed模块,可实现在PC浏览器上动态监控(hook)函数调用和查看堆栈信息,及反射调用(invoke)等功能。避免了频繁写hook代码的麻烦,提供了可视化的界面,对新手更友好。

Github地址:https://github.com/Mocha-L/QuJing

曲境能做什么

1. 枚举安卓设备所有APP

2. 根据类名和方法名搜索方法

3. 方法监控,打印调用栈和出入参

4. 对目标方法强制执行

使用方法和效果展示

(因为是xposed模块,则依赖xposed环境,需提前准备)

1. 安装APK(在源码地址提供了编译好的apk,不想自己编译的可以直接使用),安装完成后,激活该模块并重启手机。

2. 手机重启完成后,通过adb完成固定端口转发

adb forward tcp:61000 tcp:61000

3. 浏览器输输入 http://127.0.0.1:61000/进入配置目标应用界面。界面列举了手机中的所有APP供你选择,对于你要监控/执行的应用进行勾选(支持多选)然后“提交保存”,页面重新加载后,被勾选的会排列在顶部,然后点击“下一步”。

4. 在这一步,需要手动操作手机打开APP,(如果在上一步配置之前已经打开了APP,则需要重新打开APP)。打开之后,页面会提示你端口转发的命令,复制并执行。执行成功后会显示:配置成功,点击进入,此时点击蓝字进入即可。

5. 这一步已经可以进行搜索类了,把感兴趣的类名输入进行搜索,如图搜索的时“搜索用户”的相关类,输入完成点击曲境一下,然后找到感兴趣的方法,点击方法自动跳转。

6. 进入监控的方法,可以看到该方法的基本信息。

页面往下拉则看到

这是可以操作手机进行搜索用户的操作。手机操作完成后,被执行的方法的入参(红区)、出参(蓝区)和堆栈(点击三角符号下拉)都会显示在页面。

7. 如果想使用执行方法的功能,如上述搜索功能,可以在这里填写入参并点击执行即可。需要注意的是,如果是static方法,实例选择为null,如果是非static方法,则需要监控方法捕获到实例后再下拉选择实例执行。下面用谢娜为例,展示执行搜索用户功能。

已知问题

1. 函数频繁调用时,巨量的堆栈信息和出入打印在浏览器页面,会导致页面内容过多,如无必要数据,可刷新解决。

2. 部分前端显示存在布局问题

3. 不支持开机瞬间hook的场景(因为每次开机后需要设置需要hook的APP)

问题交流

如有疑问可以提issue,也欢迎大家进一步优化和提交PR。

鸣谢

项目依据xserver优化而来,感谢原作者。

另外
为了方便沟通和交流,我建了星球来分享知识和回答大家的问题。
星球主要提供web端和移动端爬虫相关技术分享和问题解答,包括各平台各种协议抓包分析、js逆向、安卓逆向、iOS逆向、Windows逆向、协议还原仿真、各平台hook、大型分布式爬虫构建等。我们的愿景是“可见即可爬”。
期待你加入哦。


文章来源: http://mp.weixin.qq.com/s?__biz=MzI1MTMzNTM0OQ==&mid=2247484163&idx=1&sn=b448131fe944d903c4c7c806825f9c99&chksm=e9f5c4d9de824dcf34c4623ba98b8d1a7890faa01a848bfeb92c86bb9856ebe8c5686422a261&mpshare=1&scene=24&srcid=080189kRrYcD6pGmIeWTmAcG&sharer_sharetime=1627817325584&sharer_shareid=5191b3dcb328f693d5261ba6bca8d267#rd
如有侵权请联系:admin#unsafe.sh