最近在看雪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文章
141浏览量
19861 -
函数
+关注
关注
3文章
4350浏览量
63051 -
Flag
+关注
关注
0文章
12浏览量
8164
原文标题:逆向基础题十:获取flag
文章出处:【微信号:Reverse16,微信公众号:Q哥学逆向】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
电动汽车高压主动放电几种方式
![电动汽车高压<b class='flag-5'>主动</b>放电几种方式](https://file1.elecfans.com/web3/M00/04/91/wKgZO2d2C_GASVCDAAAXBz_ukV4450.png)
主动均衡技术是什么 应用场景有哪些
使用OPA567做了一个可调电源,是不是OCP flag active之后必须要讲EN脚disable之后flag才会复位?
OpenAI api key获取并可调用GPT-4.0、GPT-4o、GPT-4omini
![OpenAI api key<b class='flag-5'>获取</b>并可<b class='flag-5'>调用</b>GPT-4.0、GPT-4o、GPT-4omini](https://file1.elecfans.com/web2/M00/DF/17/wKgaomYuCbSAVjVdAAFqVfXnuJY859.png)
请问如何在WPS模式下获取AP的SSID和PWD?
主动红外和被动红外详解
![<b class='flag-5'>主动</b>红外和被动红外详解](https://file1.elecfans.com/web2/M00/F4/96/wKgaomZ9L2iAGOdvAABafG1LCng830.png)
请问ESP32 BLE透传如何主动发送数据?
请问esp32 ota升级如何获取更新进度?
CC2340R5从机主动notify就会导致BLE卡住,为什么?
stm32f030的AD转换,如何调用一次getadcvalue() 就采集一次数据?
OpenAI API Key获取与充值教程:助开发者解锁GPT-4.0 API
![OpenAI API Key<b class='flag-5'>获取</b>与充值教程:助开发者解锁GPT-4.0 API](https://file1.elecfans.com/web2/M00/DF/17/wKgaomYuCbSAVjVdAAFqVfXnuJY859.png)
评论