2022HNCTF-Easy_Android(jeb调试)
HNCTF-2022-WEEK2-Easy_Android
这是去年一道非常简单的一道安卓题目,现在准备捡一捡安卓相关的知识,就从简单的开始对安卓题目进行学习。
记录这道题主要是记录一下关于jeb安卓调试。
将文件放入jeb中进行分析
找到mainactivity这个类,我们找到这个checkSN这个函数,代码逻辑很容易看懂,就是将我们前的用户名进行md5运算之后,取其奇数索引的字符,与我们输入的flag{}里面的内容进行对比,我们直接写代码进行逆向是是否简单的
下面主要是通过这个例题来记录一下关于jeb对安卓程序的调试
这里我使用的是真机,做安卓最好使用真机,模拟器很容易出现问题(另外还有就是会与wsl冲突,作为习惯使用wsl的来说,没有wsl是万万不可的)
首先我们先链接adb ,查看是否连上手机了
可以看到这里是连上了
之后,我们将app安装到我们的手机上使用命令
1 | adb install + apk文件路径 |
安装好之后,我们在手机中打开这个app
现在在jeb中
在需要下断点处,按下tab键,转到smali语言下。这里不同与ida,ida能够直接在伪代码中下断点,安卓只能在smali上下断点
在需要下断点处按下,ctrl+b打断点
这道题就在两处关键下断点即可
开始调试
因为事先打开了我们需要调试的程序,这里直接就会出现,我们直接点附加调试即可
输入22个字符,过检测
过了之后,我们的断点断下来了,f6单步,f7步过,我们调试即可
这旁边的就是我们的数据,与一些线程的东西
smali与伪代码交叉着看,我们可以知道这里v6就是计算出来的flag
得到flag
自己也是很少做安卓题目,所以就记录比较详细,防止自己搞忘。
评论