Android逆向分析之Cydia

最近开始使用Cydia Substrate框架进行逆向分析。

Cydia是什么东东我就不多说了,自行百度,听说它可以越狱什么的,修改手机配置什么的,但这里只是通过一个例子,介绍如何使用Cydia Substrate框架进行hook Android java代码。

相比Xposed框架,Cydia是有一定的优势的,根据我目前使用的情况,暂时有如下两点:

一是,Cydia能hook除了第一个smali文件夹外的第二第三个smali文件夹(如下图)。

这话怎说?APKTool反编译一个APK时,有时会分割成好几个smali文件,Xposed只能hook第一个smali文件夹下的smali文件,有点坑,但Cydia却都可以hook。


二是,Cydia能hook本地方法,而Xposed不可以



基于以上两个优点,个人认为Cydia比Xposed好用,Xposed局限性较大,起码目前是这么认为的~

但有个技巧的方法只能在Xposed上用,就是通过刻意抛异常,根据异常日志找方法调用路径,这个在逆向分析常用的技巧无法再Cydia上用,因为Cydia抛异常后貌似不会以日志的形式打印出来,反正我试了很多次都不行。。。


开始说说如何使用吧

-------------------------------------------------------

1.  首先,下载com.saurik.substrate.apk,然后安装,手机必须得root过。这个是Cydia Substrate框架,需要另写模块加载进去。


安装之后点击 “Link  Substrate  Files” 即可。


2.  确定需要hook的对象APK中的方法,编写模块代码。

这里,我将hook一个apk里被混淆过的方法,并说明注意点。


因为混淆过,所以类名和方法名都被改成a,b,c等

该方法所在类:com.dianping.h.f.a.o

方法名:b, 

参数:com.dianping.nvnetwork.u 类

返回值 :com.dianping.nvnetwork.u 类


好,开始写模块,先在Android Studio里创建一个工程,该工程不需要Activity,在工程创建一个java文件,该文件就是模块代码,然后下载Cydia Substrate SDK,解压后将其放到libs

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值