文章旨在学习和记录,若有侵权,请联系删除
文章目录
前言
平头哥是个十分强大的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. 特性
- 支持较新的Android版本(目前到android10)
- 免root运行,ratel运行不需要root和解锁bootloader
- ratel模块开发,无需重启手机即可生效
- API扩展,ratel在xposed framework层面之上,提供了ratel独有的一些特殊API
- external&embed模式共存,在免root环境下,可把模块植入到app内部
- 内置设备模拟 + 一键新机 + 多账号共存功能 …
详细文档:https://git.virjar.com/ratel/ratel-doc
3. 环境
准备一部无需root的正常手机,安卓版本在5.0 - 10.0之间
平头哥只支持arm/arm64架构,即只支持真机,不支持模拟器
若使用root过的手机,不要安装xposed及其类似功能的插件,可能会hook失败
4. 安装
下载:
安装:
- 手机打开USB调试
- 通过数据线连接电脑
- 打开电脑命令行工具(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入口类
publicclassHookEntryimplementsIRposedHookLoadPackage{privatestaticfinalString TAG ="Ratelplugs";@OverridepublicvoidhandleLoadPackage(finalRC_LoadPackage.LoadPackageParam lpparam)throwsThrowable{Log.d(TAG,"enter hook");Log.d(TAG,"handleLoadPackage: "+ lpparam.packageName);}
6. 检验Hook是否成功
点击AS右上角绿色三角形run,将插件app安装到手机上,安装成功后会自动打开。
这时重启目标app(计算器),当logcat中打印出"enter hook"时,说明插件已注入,平头哥已Hook成功。
总结
本文主要介绍了以下内容:
一、平头哥是什么
二、如何使用平头哥感染APP
三、如何开发平头哥插件
除此之外,平头哥还有许多厉害的功能,像superAppium自动化、RDP重打包修改源码、脱壳等,详细可以去看官方文档。
相关资源: 平头哥下载
版权归原作者 追风暴的人 所有, 如有侵权,请联系我们删除。