【春节】解题领红包之三 {Android 初级题} Writeup
本帖最后由 duyi324 于 2025-2-13 15:47 编辑下载压缩包后解压,得到
手机连接电脑,执行 adb install 命令安装 apk
adb install .\【2025春节】解题领红包之三.apk
手机上打开软件,看到如下界面,任何手势都没反应。
手机用MT管理器提取apk,打开AndroidManifest.xml,找到入口
然后去打开这个类,转成加Java代码,发现是个ViewPager,而且禁用了输入操作。先把这个改了。
编译安装后,发现可以滑动了。左滑出现第二个pager,继续滑可以让折叠屏折起来,然后白屏了,不能操作了。
继续翻代码。这次换到电脑端操作吧,手机不方便。。。
jadx-gui打开apk,找到MainActivity,看到代码中ViewPager2的数据来源是FoldPagerAdapter,刚好代码中有个FoldFragment1和FoldFragment2,盲猜就是这个了
打开简单过了一下,发现里面的函数有各种密文,大概率就是它了
现在有GPT了,直接复制所有代码给GPT,让它给我分析一下。
里面提到了3000ms,那我就先去长按3000ms试试。
只有个提示“快去寻找flag吧”,说明长按操作会生成flag。
继续回到jadx中,找到密文附近跟长按有关的代码,
最下面的Toast.makeText是弹Toast提示用的,忽略掉。
剩下的就是 spu.s 函数了。跟进去。。。
发现存储到了xml文件里。
我手机没root,那就打开Android Studio找一下这个文件。
为了看到应用的私有文件,需要把Manifest.xml中添加 debuggable 属性:
编译安装,再去 Android Studio 中找到这个包名下的文件。我的三星S9手机文件路径是:
/data/data/com.zj.wuaipojie2025/shared_prefs/F.xml
有那么点意思了,但是发现只有一半。继续寻找 spu.s 函数,发现在
new GestureDetector.SimpleOnGestureListener() 的 onScroll 函数中有如下代码:
这是手势监听事件回调函数,这段代码有个条件是if (f4 >= f5),说明在手势操作满足某个条件的时候才能触发。
懒得分析怎么满足条件了。直接把条件干掉。
打开这个类,注意,匿名函数在MT管理器中是单独的类文件:
找到 SPU.INSTANCE 前面的条件,注释掉:
转成 Java 代码看一下,可以看到这里已经没有条件语句了。
编译安装,然后再打开三折叠那个Fragment随便划拉几下~~~
最后打开 Android Studio 同步一下文件,打开 F.xml 查看:
终于看到熟悉的 flag 了。
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="1">flag{</string>
<string name="2">xnkl2025!}</string>
</map>
两个字符串一拼接,得到最终结果为:flag{xnkl2025!}
继续左滑能解锁另一部分的flag 感谢分享,学习了 正己 发表于 2025-2-13 16:24
继续左滑能解锁另一部分的flag
正己老师什么时候录一下怎么划的视频 {:17_1068:} 爱飞的猫 发表于 2025-2-13 20:03
正己老师什么时候录一下怎么划的视频
下周,最近开学比较忙{:301_999:} 正己 发表于 2025-2-13 16:24
继续左滑能解锁另一部分的flag
我的手机左滑3次APP就白屏了,然后再怎么滑也没出现flag,所以我就直接把条件干掉了
页:
[1]