app安全之安卓native层安全分析(八):unidbg补前置环境+IO重定向

本文详细介绍了如何使用unidbg和Frida进行Android应用程序的SO逆向工程,包括静态分析、动态调试、ida调试和unidbg模拟调用。作者通过hook特定方法,跟踪参数,解决空指针和文件读取异常问题,最终成功获取加密参数。

前言

继续跟着龙哥的unidbg学习:SO逆向入门实战教程七:main_unidbg 重定向_白龙~的博客-优快云博客

还是那句,我会借鉴龙哥的文章,以一个初学者的角度,加上自己的理解,把内容丰富一下,尽量做到不在龙哥的基础上画蛇添足。感谢观看的朋友。

分析

首先,抓个包

里面这个mtgsig就是该app很经典的加密参数了,siua参数后续有时间就分析,没有就算了。本篇文章的重点是mtgsig.

1.静态分析

jadx分析,一搜:

发现其实并不多。

就拿这几个类进行hook,看看哪些方法被调用了就行了,没花多久时间,就找到这里:

 com.xxxxx.plugin.sign.core.CandyPreprocessor.makeHeader(Uri$Builder) String

再跟一下:

这个main就是我们要的部位了。我们知道,第一个int参数,其实都写死了,就是203

第二个是一个对象数组

 hook下这两个方法,main的地方参数中间有个byte[]没有打印出来

2.frida动态调试 

所以这个byte[]就是个 请求方式  url的path  子路径

好了,入参大概都知道了 

ida调试

调试之前,得找找他加载的是哪个so文件

这静态看代码,看了半天,愣是没看出来哪里用了system.loadlibrary。

用这个grep找到的是这个so,其实并不是

这里继续用yang神的hook_RegisterNative.js,一顿输出,直接找到这个so:

很nice。

卧槽,跑完直接把我手机干关机了。有点6

接下来打开ida看看,导出表都不用看了

 方法也看不到啊,上面用hook_RegisterNative已经hook到位置了,直接定位过去就行

 结果就是解析异常了。

unidbg调试

那直接unidbg调试吧

1.搭架子

跑起来,好像没啥问题 ,main也有了。

2.调用

那么直接调用吧,首先把之前hook到的数据,传递进去

上面需要的都有hook了,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值