DDCTF-Easy之flag破解分析

欢迎加入安卓逆向学习群:692903341
DDCTF-Easy之flag破解分析
1.编写目的
分析DDCTF-Easy app得到正确flag的方式.
2.分析工具
逆向环境:jadx
编译环境:eclipse
运行环境:小米 5S
3.分析过程
3.1 使用adb获取当前APP的界面
(1)在cmd命令窗输入adbshell dumpsys activity top获取当前屏幕显示的activity进行定位.
在这里插入图片描述
3.2 使用jadx分析并定位当前activity
(1)定位当前activity.
(2)观看onCreate函数,并没有点击事件监听,那么我们去分析一下所在的layout.
在这里插入图片描述
3.3 分析activity_flag.xml文件
(1)在分析xml文件的时候可以清晰看到在button中声明了一个监听事件”androidnClick=“onClickTest””,那么现在可以确定activity中也有一个onClickTest的函数实现.
在这里插入图片描述
在这里插入图片描述

3.4 分析onClickTest函数
(1) 在onClickTest函数中发现这么一个判断.获取输入的文本信息与i()函数返回的字符串信息进行对比.为true则显示flag_result_yes
在这里插入图片描述
3.5分析i()函数
(1) 这是一个很典型的解密函数,为什么这么说呢,看到第一个for循环中存在一些异或处理.将两个数组进行异或得到有个新的数组.
(2) 要得到i()函数返回的字符串信息也很简单.将i()函数/字节数组p和q拷贝到一个java类中进行运行输出结果即可拿到正确显示flag的指令.
在这里插入图片描述
3.6获取i()返回的字符串信息
(1)根据以下代码运算可得到返回的字符串信息”[email protected]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.7 验证结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/YJJYXM/article/details/103097005