vlambda博客
学习文章列表

复现《【Android CTF】XCTF黑客精神—Frida RPC爆破​》一文有感

    最近在学习genliese》一文,在测试复现的过程中遇到了很多的困难,虽然最后受限于某些条件,没能实现,但很有收获,不光是收获技能,还有那满满地友情。这里我也写出来分享给大家,让大家也在学习的过程中多一分借鉴少一些弯路。


    原文,大家可以点击上面的文章链接,作者写得非常详细。


    这里主要学习复现作者提供的js代码进行RPC爆破的过程中,将遇到的问题困难记录下来。


作者提到:

    “此题比较简单,网上也有各种各样的wp。wp可以分为两类,一类分析算法,另一类是爆破。此题采用的是异或算法,所以分析算法求flag是最快的。而爆破的话,可以重写成等价的代码,如C++、python,或者直接采用主动调用的方式进行爆破,如Frida的主动调用。采用主动调用的好处是不用重写,而我采用Frida RPC进行主动调用的目的是想利用python丰富的库,方便爆破,缺点相对于直接用JS代码进行爆破是太慢了,慢了200多倍。”

  • 用到的工具:

    • pixel 3 android 9.0

    • jadx

    • IDA

    • Frida12.8

    • Pycharm

    • VSCode


一、坑一:模拟器运行

运行半天,没有得到结果,就问了作者,作者回复:模拟器是x86结构,而apk中只支持arm结构的,不能用模拟器。


二、坑二:Frida版本

我用的是Frida14.215吧,反正是当前Frida的最新版;


运行后如图:

报错提示如下:

复现《【Android CTF】XCTF黑客精神—Frida RPC爆破​》一文有感


咨询后,推测可能是Frida14的版本不对,那就换上作者要求的Frida12.8.0吧。


多提一句,Frida12.8.0这样安装,

python3 -m pip install frida==12.8.0

python3 -m pip install frida-tools==5.3.0


三、坑三:报错

换上Frida12.8.0后,还出错,

复现《【Android CTF】XCTF黑客精神—Frida RPC爆破​》一文有感

而且屡次都是出在同一个地方;


期间,怕不稳定,从Windows换到Kali下的Frida,也同样报这个错误。


Google下错误,

复现《【Android CTF】XCTF黑客精神—Frida RPC爆破​》一文有感

指出,可能是手机的版本不对,要7.1.1的,换,刷包root,走起,

复现《【Android CTF】XCTF黑客精神—Frida RPC爆破​》一文有感


四、坑四:

换成7.1.1.的了,

不报错了,但结果没出来,按作者提供的结果图应该是这样的,如下,


期间,OP也帮我测试了xiaomi android 9,也只能得出我上面的结果。


现在就差最后一招了,再换手机,换成作者要求的pixel 3 android 9.0很可惜,我的手机刷包只能支持到8.1,不支持9了,所以暂时测试到这里了。后面有条件和新的发现,再继上。


在学习测试的过程中,得到了作者genliese、弘连的OP&海飞、同事红波的大力支持,表示感谢!