最近在看雪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文章
148浏览量
20802 -
函数
+关注
关注
3文章
4406浏览量
66830 -
Flag
+关注
关注
0文章
12浏览量
8409
原文标题:逆向基础题十:获取flag
文章出处:【微信号:Reverse16,微信公众号:Q哥学逆向】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
【Python 沃尔玛接口调用】调用沃尔玛官方接口获取授权access_token
Rakuten API 接口调用:从准备到落地的实操指南
Jumia API 调用:覆盖非洲市场的实操指南
技术解析:58同城房产数据平台 - 根据项目ID获取详情数据的API接口实践
京东平台获取商品SKU信息的API接口详解与使用指南
京东平台获取商品详情原数据API接口技术解析
调用拼多多开放平台 API 获取店铺列表
淘宝平台获取商品视频 API 接口技术指南
Python调用API教程
闲鱼平台获取商品详情API接口
根据标题获取商品链接评论接口的技术实现
【原创】labview 通过“引用调用“ 的快捷用法,不需编程获取VI引用
如何获取 OpenAI API Key?API 获取与代码调用示例 (详解教程)

如何主动调用获取flag
评论