初识 hook

访客4年前黑客工具1140

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

一.什么是 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

相关文章

如何迅速提升用户好评?试试这三种方法

如何迅速提升用户好评?试试这三种方法

小编推荐:如何提高一个产物的用户评分,改变各人对这个产物的印象呢?本文作者给各人先容了三个观念:用户体验舆图、峰终定律和处事蓝图,并具体表明白该如何利用这三个观念。enjoy! 01 用一年多的时间...

化妆水推荐?好用的化妆水 排行榜

化妆水推荐?好用的化妆水 排行榜

周三总结了下卸妆产品,今天轮到化妆水了,数了数也还真不少。除了清洁用品,化妆水在护肤品中的使用率应该是最高的,用量也相对多,应该是很费的,我基本上是40天左右空瓶。 今年前半年做极简护肤,大概有三四...

黑客什么,网络安全和黑客有关吗,网络黑客能破解qq密码吗

歹意软件的传递进程运用操控缝隙或装备不妥146cc97df36cb4cea39074652d06951967.51IngoreCase:对ExcludeSuffix进行约束是否区别大小写,默以为不区别...

装修后除甲醛(甲醛检测一次大概多少钱)

装修后除甲 装修的最后一个步骤,一般是除甲醛——说得专业一点,叫“净化室内空气质量”。看着装修好的新房却不能入住,任谁的心里都会着急不已。好在除甲醛的过程并不是只有一种漫长的选择,我们可以通过一些做...

黑客可以杀木马病毒吗(黑客可以杀木马病毒吗知乎)

黑客可以杀木马病毒吗(黑客可以杀木马病毒吗知乎)

本文目录一览: 1、黑客木马是什么? 2、请问一下木马,黑客,病毒之间有什么联系 3、木马病毒要怎么杀才干净? 4、手机里的木马病毒真的能攻击支付宝、微信和中国银行等软件吗?造成财产安全?...

怎么查个人开的房记录,教你查询他和谁开了房!

如何查询本人开的房纪录,教你查看他与谁开过房!以前有一段时间闹得议论纷纷的华住酒店五亿条信息被泄漏,那时候是造成了多少人的焦虑,我如今想也害怕想。当时多少人钻了空档,易如反掌查到自身的酒店开房记录和自...