最近在看雪Android区看到九月份的一篇优秀贴, 文章从过反调试和IDA动静态调试角度解题,甚至还得解析得到RC4密钥,讲得非常细致,虽然我也是新手,但是这么去逆向,让人觉得太难懂了。
明明有强大的frida工具,可以无需过反调试,无需IDA去动静态调试,无需获取RC4密钥,直接用主动调用获取flag,何必走繁琐的路呢?
首先直接JADX打开APK,没有加壳,直接可以看到核心代码如下,用户输入直接通过JNI函数greywolf对输入字符串做检测。

利用IDA打开libwolf.so,没有找到greywolf函数,所以该函数肯定是通过registerNatives注册的,于是直接用frida拿到greywolf偏移,为0X14075。

然后IDA快捷键按G,输入0X14075,直接跳转到greywolf函数(函数名称换成了bc)处,再F5查看伪代码,如下。该函数只有line15和line17两处return,先分析第二处return。

跟踪wolf_de函数,看到明显的RC4解密算法,且密钥就是unk_4E13A,所以直接调用wolf_de,传入待解密字符串,其返回值就是解密结果,我们直接利用frida去主动调用wolf_de,去解密bc函数中line16行“5B694AADB2DC559E44B84637A2D61F”得到“Password Error~”,效果如下。

所以要想验证成功,必然走到line15行的j_jk函数,继续跟踪此函数,同样手法在jk函数中line15可以解析得到正确显示,所以跟踪dc函数。

跟踪上图dc函数,一切皆从return往上跟踪,最后在ds函数中看到如下代码,该代码将输入字符与line24解密字符串比较,相等则为真。

所以直接主动调用,直接看到flag为“hello5.1”,上机验证正确。

责任编辑:YYX
-
密钥
+关注
关注
1文章
153浏览量
21097 -
函数
+关注
关注
3文章
4423浏览量
68034 -
Flag
+关注
关注
0文章
12浏览量
8452
原文标题:逆向基础题十:获取flag
文章出处:【微信号:Reverse16,微信公众号:Q哥学逆向】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
调用淘宝开放平台API获取店铺所有商品列表
如何通过京东开放平台API获取店铺所有商品列表
调用拼多多开放平台API获取店铺所有商品列表
如何通过Shopee API根据商品ID获取商品详情
获取Ozon商品详情数据的API接口技术指南
使用 DMM Web API 获取搜索列表数据
调用DMM平台API获取商品详情数据的技术实践
调用乐天平台API获取商品详情数据
调用1688开放平台商品分类API获取分类数据
实战解析:如何高效调用采招网关键词搜索API获取招标信息
调用西门子平台 API 获取 xmz 搜索列表数据
京东关键词API接口获取
【Python 沃尔玛接口调用】调用沃尔玛官方接口获取授权access_token
调用拼多多开放平台 API 获取店铺列表
如何主动调用获取flag
评论