知识笔记 - 平头哥ratel安卓Hook框架的安装与简单使用

文章旨在学习和记录,若有侵权,请联系删除


前言

平头哥是个十分强大的Android Hook框架,相比较于传统的xpose来说不需要root手机,为app逆向提供了很大的便利

通过 平头哥(ratel) + 只狼(sekiro) 可以实现快速的对大部分app(包括大厂app)注入rpc,不需要逆向扣算法补环境,能够便捷快速的获取数据

不过由于平头哥项目的开源,一些大厂较新的app版本对其做了检测,不过可以选择较老版本的app进行感染分析


一、平头哥是什么

1. 简介

平头哥(ratel)是渣总开发的⼀个Android逆向分析工具套件,提供了⼀系列渐进式app逆向分析工具

平头哥也是⼀个app⼆次开发的沙箱环境,支持在免root环境下hook和重定义app功能

项目地址是 https://github.com/virjarRatel

2. 特性

  1. 支持较新的Android版本(目前到android10)
  2. 免root运行,ratel运行不需要root和解锁bootloader
  3. ratel模块开发,无需重启手机即可生效
  4. API扩展,ratel在xposed framework层面之上,提供了ratel独有的一些特殊API
  5. external&embed模式共存,在免root环境下,可把模块植入到app内部
  6. 内置设备模拟 + 一键新机 + 多账号共存功能

详细文档:https://git.virjar.com/ratel/ratel-doc

3. 环境

准备一部无需root的正常手机,安卓版本在5.0 - 10.0之间

平头哥只支持arm/arm64架构,即只支持真机,不支持模拟器

若使用root过的手机,不要安装xposed及其类似功能的插件,可能会hook失败

4. 安装

下载:

https://download.csdn.net/download/m0_51159233/86510281

安装:

  1. 手机打开USB调试
  2. 通过数据线连接电脑
  3. 打开电脑命令行工具(cmd)输入以下命令,安装完成

adb install RatelManager_2.0.apk

二、如何使用平头哥感染APP

1. 打开平头哥

打开安装好的平头哥app,点击左上角的<菜单>按钮
请添加图片描述

2. 点击<可感染>

请添加图片描述

3. 选择待感染(Hook)的APP

(这里以计算器app为例)
请添加图片描述

4. 等待感染

请添加图片描述

5. 感染成功

卸载原app,安装感染后的app

在这里插入图片描述

三、如何开发平头哥插件

1. 新建⼀个Android项目

使用AndroidStudio新建⼀个简单的Android项目
在这里插入图片描述
在这里插入图片描述

2. 添加相关依赖

在 Ratelplugs\app\build.gradle 文件下添加相关依赖
在这里插入图片描述

android { 
	// ... 其他的配置
	
	packagingOptions { 
		exclude 'META-INF/INDEX.LIST' 
		exclude 'META-INF/io.netty.versions.properties' 
	} 
}

dependencies { 
	// ... 其他的依赖 
	
	implementation 'com.virjar.sekiro.business:sekiro-business-api:1.4'
	// ratel核⼼
	api compileOnly 'com.virjar:ratel-api:1.3.6' 
	// ratel的扩展api
	api 'com.virjar:ratel-extersion:1.0.6' 
	// sekiro项⽬,提供⻓链接RPC功能 
	api 'com.virjar:sekiro-api:1.0.3' 
}

3. 添加AndroidManifest.xml

在 Ratelplugs\app\src\main\AndroidManifest.xml 清单文件中添加如下内容
在这里插入图片描述

        <meta-data android:name="xposedminversion" android:value="54"/>
        <meta-data android:name="xposedmodule" android:value="true"/>
        <meta-data android:name="xposeddescription" android:value="Hook测试脚本"/>

4. 添加hook入口类

在 assets 文件下的 xposed_init 中,添加内容为hook的入口类的完整路径,如果有多个,分到多行去写在这里插入图片描述

5. 编写hook入口类

public class HookEntry implements IRposedHookLoadPackage { 	
	private static final String TAG = "Ratelplugs"; 
	@Override 
	public void handleLoadPackage(final RC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
        Log.d(TAG, "enter hook");
        Log.d(TAG, "handleLoadPackage: " + lpparam.packageName);
    }

6. 检验Hook是否成功

点击AS右上角绿色三角形run,将插件app安装到手机上,安装成功后会自动打开。

这时重启目标app(计算器),当logcat中打印出"enter hook"时,说明插件已注入,平头哥已Hook成功。


总结

本文主要介绍了以下内容:

一、平头哥是什么
二、如何使用平头哥感染APP
三、如何开发平头哥插件

除此之外,平头哥还有许多厉害的功能,像superAppium自动化、RDP重打包修改源码、脱壳等,详细可以去看官方文档。


相关资源: 平头哥下载

  • 21
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追风暴的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值