再来!使用frida框架hook来获取APP的加密算法的参数

经过上次的简单的hook,自己对frida的使用有了基本的了解(看这篇文章的你也应该能够了解)。

在上次的sign值成功解密了加密参数之后,又遇到了许多恶心的APP。

一类是因为不走系统的代理,这样像fiddler这种抓包软件就不抓不到了,查了网上的方法,安装了JustTrustMe也是行不通,暂时没有很好的解决方法

(倒是有两种方法,个人还没时间探索。这里给出两种方法的思路,第一种就是反编译APP,修改代码,打包回APP,让APP的请求走系统代理,使用fiddler的证书。第二种就是使用谷歌亲儿子手机,从底层入手,刷机,改系统,将代理永远设为系统,这样一劳永逸。)

嗨呀,不知道扯得对不对,反正废话不多说,直接开始。

一类则是今天要记录的,和上次的APP一样,通过抓包软件能够抓到请求,分析请求发现有个加密值。但是比上次那个多了一丝丝的趣味。(多了一点难度)

不废话了,直接搞。

APP名称:5a6c5pil5omL5py65Y+w

使用工具:frida + 夜神模拟器 + APP + jadx + fiddler + postman

使用fiddler抓取请求包

先来分析一下请求的信息

内心:芜湖~ 找到了这个url不就完事了。

但是,经过测试,这个链接一天之后就失效了。

 

通过postman分析出来这些参数

这还分析啥,失效的原因就是sign!

除了sign一目了然,通过参数名字和参数就能对应上。(ip areas啥的我就打码了,这时候就需要做到心中无码了)

再一分析,sign是个md5加密

内心:这时候经验主义一波,根据以往的sign加

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用Frida进行文件读写hook的示例教程。 1. 安装Frida 首先,您需要在您的计算机和手机上安装Frida。您可以根据不同平台选择不同的安装方式,具体可以参考Frida官网的文档。 2. 准备App 您需要有一个可以测试的App,可以是自己开发的App,也可以是其他开发者开发的App。 3. 编写Frida脚本 接下来,您需要编写一个Frida脚本,用于hook文件读写相关的系统调用。以下是一个简单的示例脚本: ```javascript Interceptor.attach(Module.findExportByName("libc.so", "fopen"), { onEnter: function(args) { var path = Memory.readUtf8String(args[0]); var mode = Memory.readUtf8String(args[1]); console.log("[*] fopen path:", path, "mode:", mode); } }); Interceptor.attach(Module.findExportByName("libc.so", "open"), { onEnter: function(args) { var path = Memory.readUtf8String(args[0]); var flags = args[1].toInt32(); console.log("[*] open path:", path, "flags:", flags); } }); Interceptor.attach(Module.findExportByName("libc.so", "openat"), { onEnter: function(args) { var dirfd = args[0].toInt32(); var path = Memory.readUtf8String(args[1]); var flags = args[2].toInt32(); console.log("[*] openat dirfd:", dirfd, "path:", path, "flags:", flags); } }); Interceptor.attach(Module.findExportByName("libc.so", "creat"), { onEnter: function(args) { var path = Memory.readUtf8String(args[0]); var mode = args[1].toInt32(); console.log("[*] creat path:", path, "mode:", mode); } }); Interceptor.attach(Module.findExportByName("libc.so", "unlink"), { onEnter: function(args) { var path = Memory.readUtf8String(args[0]); console.log("[*] unlink path:", path); } }); ``` 这个脚本会hook文件读写相关的系统调用,包括`fopen`、`open`、`openat`、`creat`和`unlink`。当这些系统调用被执行时,脚本会在控制台输出相关信息。您可以根据实际情况修改hook的系统调用及其实现,以检测全局读写漏洞。 4. 运行脚本 接下来,您需要将脚本运行起来,以便进行文件读写hook。您可以使用以下命令来运行脚本: ``` frida -U -f com.example.app -l script.js --no-pause ``` 其中,`com.example.app`是您要测试的App的包名,`script.js`是您编写的Frida脚本文件。`--no-pause`选项可让Frida脚本在启动后立即运行。 5. 测试App 最后,您需要打开要测试的App,并进行相关的文件读写操作,以检测全局读写漏洞。当文件读写相关的系统调用被执行时,脚本会在控制台输出相关信息,您可以根据输出来判断是否存在全局读写漏洞。 希望这个教程对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值