初识 hook

访客4年前黑客工具1150

本文作者:天启@涂鸦智能安全实验室

一.什么是 hook?

Hook 技术又叫做钩子函数,在系统没有调用该函数之前,钩子程序就先捕获该消息,

钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以

强制结束消息的传递。简单来说,就是把系统的程序拉出来变成我们自己执行代码片段。

Hook 技术本质是函数调用,由于处于 Linux 用户状态,每个进程有自己独立的进程控

件,所以必须先注入所要 Hook 的进程空间,修改其内存中进程代码,替换过程表的符号地

址,通过 ptrace 函数附加进程,向远程进程注入 so 库,从而达到监控以及远程进程关键函

数挂钩;

二.常见的 hook 框架

架名称框

框架特性

Xposed

Java 层的 HOOK 框架,由于要修改 Zgote 进程,需要 Root

CydiaSubstrator

本地层的 HOOK 框架,本质上是一个 inline Hook

Dexposed

AndFix

Sophix

AndroidMethodHook

Legend

在 AndFix 框架的基础上,在 *** 进行替换前进行了 *** 的备份

VirtualXposed

Virtual APP 与 Xposed 的一个结合

Frida

动态代码检测框架,它可以使你的 js 代码或者代码段注入到Windows,Linux,android,macOS,GNU / Linux,iOS 和 QNX 上的本机

三.使用 frida 进行一个简单的 demon

3.1 为什么选择 frida?

从上面的介绍,我们就可以明显地看出,frida 是一个跨平台,简单实用且强大的 hook 框架!

但是 frida 也有本身先天的缺陷,比如基于 Xposed 框架开发的 hook 插件可以直接在客户端

运行不需要 PC 的参与,从我们接下来的 demon 我们就可以很清楚地看到,基于 frida 开发的

hook 插件离不开 PC 的参与。

3.2安装环境

根据官网介绍 frida 的运行环境如下

  • Python :建议最新的 3.X
  • 操作系统 :Windows,macOS,或者 GNU/Linux
  • Android :Genmotion 或者 Android 真机
  • Frida-server :Genmotion 下载 x86 版本的,国内的 Android 真机选择下载 arm 版本,
  • 下载地址:https://github.com/frida/frida/releases

本次 demon 所对应的 frida 环境如下:

  • Python :3.7.4
  • 操作系统 :macOS 10.15.3
  • Android :genmotion 模拟器
  • Frida-server :frida-server-12.8.11-android-x86.xz

3.3运行 frida

(1) 使用 adb 将 frida-server-12.8.11-android-x86 移到/data/temp 目录下面,并且改变他的

权限。使用到的命令:adb push /Users/tools/安卓/frida/frida-server-12.8.11-android-x86

/data/local/temp,chmod 777 frida-server-12.8.11-android-x86

(2) 转发本地端口流量到 frida-server。使用到的命令 adb forward tcp:27043 tcp:27043

(3) 将 demon.apk 文件安装在 genmotion 模拟器上

(4) PC 上运行 hook.py 进行对 android 运行程序进行 hook

3.4frida 进行 hook 的效果图

图 1 未进行 hook 时的原始模样

图 2 进行 hook 成功的截图

四.打包所有需要的东西

我把编译过的 apk 以及编译前的 java 源码,还有 python 实例程序统一打包,放在我的

github 地址中,只需要在模拟器上运行 apk,frida-server,在本机上运行 python 程序,不需要做

任何操作就能进行 hook.

项目地址:https://github.com/ba1ma0/frida-demon

漏洞悬赏计划:涂鸦智能安全响应中心(https://src.tuy *** )欢迎白帽子来探索。

*** 内推计划:涵盖安全开发、安全测试、代码审计、安全合规等所有方面的岗位,简历投递sec@tuy *** ,请注明来源。

标签: 初识 hook

相关文章

呆神 黑客,wif 黑客软件,虚拟黑客网站源码

blx r3布景简略介绍这一改变在运转Android Q体系的一切APP都收效。 即便app有level 28或更初级的API,而且本来装置在Android 9的设备上,设备升级到Android Q后...

我想监控我老婆的微信,怎么知道老婆和谁微信聊天?

在线接单平台QQ春红认为,夫妻之间最重要的是信任。但现实往往是夫妻之间缺乏信任。过去,有人私自打开信件,查看短信。现在随着科技的进步,他们查看微信QQ的聊天记录。不久前发生的事情可以说非常可怕,后果非...

怎么微信盗号100%成功 挑战微信盗号骚操作

怎么微信盗号100%成功 挑战微信盗号骚操作 作为一名白领,他总是停止与生活中的各种亲戚朋友交流。微信是一种薄弱的社交工具,经常用于交流。说到微信,我真的认为它非常有用。我不仅通过使用微信的抖动功能...

蚂蚁庄园小课堂10月3日答题答案分享 面膜需要天天敷吗?

蚂蚁庄园小课堂10月3日答题答案分享 面膜需要天天敷吗?

面膜需要天天敷吗?这是蚂蚁庄园小课堂10月3日的问题,这次的问题难度难度很高,相信有很多的玩家不知道具体的答案而错过每天一份的180g小鸡饲料,因此这里就来告诉大家蚂蚁庄园10月3日小课堂的具体答案吧...

因为苹果登录又被App Store拒了

因为苹果登录又被App Store拒了

编辑导读:一款APP想要走向世界,少不了要在App Store上线。可是,海表里的审核尺度差异,只有当真阅读,仔细研究才气通过审核。本文作者参加的一款APP因为登录问题被App Store拒了,她总结...

酷开电视怎么样?对比一下你就知道了

酷开电视怎么样?对比一下你就知道了

现在几乎家家户户都有智能电视,虽然当今手机圈战火正盛,同时电视市场也同样打得火热。但现今的战况可与以往大不相同,互拼硬件已显得没有那么重要,各家的系统的地位开始逐渐凸显出来。 要知道智能电视...