zyx1211 发表于 2020-5-18 11:09

Frida-Gadget免ROOT注入APP实现破解

Frida-Gadget简介
简单来说,FridaGadget是一种免ROOT的注入方式,通过修改程序加载动态库而实现HOOK。
FridaGadget官方文档:https://frida.re/docs/gadget/

实战目标
破解某照片恢复APP,试了下确实可以对手机照片进行签名恢复(非深度恢复),主要还是恢复了那些后缀名不是标准后缀名的图片。

实战开始
1.分析软件流程
打开APP--扫描可恢复照片--随便点一张恢复

以个人经验来说 从支付宝入手是最方便的(因为支付宝的可见字符串比较多)
直接假装支付一下 然后取消 看看有没有什么提示


有提示就非常方便了 直接去代码搜 取消支付
(如果没提示呢? 通常的解决办法是通过界面分析查看资源ID 比如查看确认支付这个按钮 然后去代码里搜这个按钮的点击事件onClick)


2.实现白嫖    PS:本文主要是对Gadget实战使用的记录,所以不做太多破解分析
现在的APP 90%都会加壳 所以要脱壳 才能看到真实代码
脱壳的话 使用大佬们的DUMP工具就行 https://github.com/lasting-yang/frida_dump
脱完壳 使用jadx 或者 等等等搜索 取消支付

可以看到c方法是取消支付 a方法是支付成功
所以可以让程序准备执行c方法的时候去调用a方法
可以看到 a方法需要三个参数 其中第一个参数i肯定要为0 才能进入支付成功的流程 其余两个参数倒是没影响(从代码中分析出来)
hook代码如下:

运行一下 故意取消支付看看效果

发现能正常使用 但是略显麻烦 每次要故意取消一下
如果了解安卓程序生命周期 可以知道onCreate方法是每个界面首先调用的方法
因此可以在订单支付界面的onCreate方法里面直接调用a方法(支付成功)
这应该是一种最简单暴力的方式了
hook代码如下:

运行看一下效果 发现直接点恢复就可以恢复了 不用再看到订单支付窗口

3.FridaGadget注入源程序
首先在原APK的lib目录下分别加入各自架构的FridaGadget库 https://github.com/frida/frida/releases/
并在同目录下写入配置文件(执行哪个脚本) 配置文件名就是库名的so前加config.

根据我这里写的配置 需要把脚本命名为myscript.js并放在手机内置存储根目录

最终加入后:


还差最后一步 就是加载Gadget库
一般来说也有两个方法 一是在java层加载 二是在其他so里加载
这里选择java层
对应的smali代码:
const-string v0, "frida"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
把代码加到程序入口(其实只要加到恢复界面之前运行的地方都可以)
因为这是个加固app 其实能选的地方不多


注入完成 打包apk 重新签名 安装到手机(不要忘了把脚本放在手机存储里) 刚装完第一次启动可能无效果 重新启动一次就行
最后放个成品https://pan.lanzouj.com/icq4ije

OSharkRiven 发表于 2020-11-19 01:11

OSharkRiven 发表于 2020-11-19 00:14
楼主,如果按照此方法持久化后,我的python脚本里面的逻辑应该如何嵌入到APP中呢?找了许久没什么头绪,能 ...

目前是用socket发送到服务器,服务器进行业务逻辑来绕过去的,但受限于网络,所以想知道有什么办法直接嵌入到app中,谢谢楼主

zyx1211 发表于 2020-5-18 19:48

挥着翅膀男孩 发表于 2020-5-18 16:22
这种是需要对原apk进行重新打包吧?有签名验证或者使用数字加固的这类,恐怕不行了

是的 有数字壳的话ROOT还是可以注入的

lynxtang 发表于 2020-5-18 12:18

很详细,谢谢分享。

xj998 发表于 2020-5-18 14:50

正好要找微信图片恢复工具,兄弟你真是我的及时雨

tiantangyiyun 发表于 2020-5-18 14:55

这很好啊 谢谢分享啊

还不算晚 发表于 2020-5-18 15:12

学习一下

小傻孔儿 发表于 2020-5-18 15:33

我跟随楼主的脚步试一下,看能不能成

fengchuan 发表于 2020-5-18 16:06


学习一下

挥着翅膀男孩 发表于 2020-5-18 16:22

这种是需要对原apk进行重新打包吧?有签名验证或者使用数字加固的这类,恐怕不行了

z5487693 发表于 2020-5-18 16:54

不错不错的工具,让frida一定程度实现了可持久化,就是遇上文件校验和签名校验就不行了。学习了!感谢分享
页: [1] 2 3
查看完整版本: Frida-Gadget免ROOT注入APP实现破解