吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 789|回复: 9
收起左侧

[Android CTF] 【2025春节】解题领红包之三 {Android 初级题}writeup,还原出题意图,符合初级定位

[复制链接]
jingtai123 发表于 2025-2-13 11:09
本帖最后由 jingtai123 于 2025-2-13 11:11 编辑

分析:

PS,试试左滑屏幕,随 安装apk尝试左滑,然 发现并不能左滑
反编译找到MainActivity 在最后发现 setUserInputEnabled,

    const/4 v0, 0x0

    .line 21
    invoke-virtual {p1, v0}, Landroidx/viewpager2/widget/ViewPager2;->setUserInputEnabled(Z)V

    return-void

随即 改const/4 v0, 0x0 为1

编译安装,发现是可以左滑了,显示一个yylx的手机图,图片可以拖动,肯定不是无意义的,继续分析代码
FoldFragment1就是个图片显示和媒体控制,
重点看第二页FoldFragment2
非常显眼的有个startLongPressTimer
直接长按,看到了提示让找flag,拖来拖去没想明白在哪,继续分析代码:
在startLongPressTimerlambda1中,
找到两段密文:

    const-string v3, "hjyaQ8jNSdp+mZic7Kdtyw=="
    const-string v1, "cYoiUd2BfEDc/V9e4LdciBz9Mzwzs3yr0kgrLA=="

密文通过TO->db
其中后面一段创了个Toast,应该就是提示flag的那句没跑了,那只需要将上面的密文替换给下面,其实就能获取到结果了。然后获取到结果 xnkl2025!}
此时还没意识到这是不完整的结果,提交好多遍没成功,还私信了大佬...在大佬回复之前,我继续分析代码,果然又找到一段密文,

    const-string p4, "2hyWtSLN69+QWLHQ"

使用同样的替换法,就获取到了 “flag{”的开头。
到这里结果已经出来了,但是我想这个题设计目的应该不是这样,
找不应该是这么找,第二页图片转动也不能一点作用没有。
随即,深入分析代码,果然,在FloldFragment2onViewCreatedgestureDetector&1中,onScroll函数中,也就是 上面这段密文所在的函数中,得到了应该的获取方式

 invoke-virtual {p1, p2}, Landroid/widget/ImageView;->setRotationY(F)V

    .line 58
    iget-object p1, p0, Lcom/zj/wuaipojie2025/FoldFragment2$onViewCreated$gestureDetector$1;->this$0:Lcom/zj/wuaipojie2025/FoldFragment2;

    invoke-static {p1}, Lcom/zj/wuaipojie2025/FoldFragment2;->access$getA$p(Lcom/zj/wuaipojie2025/FoldFragment2;)F

    move-result p1

    iget-object p2, p0, Lcom/zj/wuaipojie2025/FoldFragment2$onViewCreated$gestureDetector$1;->this$0:Lcom/zj/wuaipojie2025/FoldFragment2;

    invoke-static {p2}, Lcom/zj/wuaipojie2025/FoldFragment2;->access$getB$p(Lcom/zj/wuaipojie2025/FoldFragment2;)F

    move-result p2

    cmpl-float p1, p1, p2

    if-ltz p1, :cond_4

    .line 59
    sget-object p1, Lcom/zj/wuaipojie2025/SPU;->INSTANCE:Lcom/zj/wuaipojie2025/SPU;

    iget-object p2, p0, Lcom/zj/wuaipojie2025/FoldFragment2$onViewCreated$gestureDetector$1;->this$0:Lcom/zj/wuaipojie2025/FoldFragment2;

    invoke-virtual {p2}, Lcom/zj/wuaipojie2025/FoldFragment2;->requireContext()Landroid/content/Context;

    move-result-object p2

    const-string p4, "requireContext(...)"

    invoke-static {p2, p4}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V

    const-string p4, "2hyWtSLN69+QWLHQ"

    invoke-virtual {p1, p2, p3, p4}, Lcom/zj/wuaipojie2025/SPU;->s(Landroid/content/Context;ILjava/lang/String;)V

    .line 63
    :cond_4
    iget-object p1, p0, Lcom/zj/wuaipojie2025/FoldFragment2$onViewCreated$gestureDetector$1;->this$0:Lcom/zj/wuaipojie2025/FoldFragment2;

    invoke-static {p1, v0, v1}, Lcom/zj/wuaipojie2025/FoldFragment2;->access$setL$p(Lcom/zj/wuaipojie2025/FoldFragment2;J)V

    return p3

通过滑动设置图片绕Y轴旋转角度,当满足  if-ltz p1, :cond_4
p1不小于0时,就可走入中间解密流程。
至于找的问题,我在SPU->s中发现了这个一个东西

    invoke-interface {p1, p2, p3}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;

这不就是将解密后的东西本地存储了么,随即下了个文件管理器,在包目录中找到了xml,并在xml中完整的显示了flag。

自认改动最小,符合设计意图的正确解题方式:

    const/4 v0, 0x0

    .line 21
    invoke-virtual {p1, v0}, Landroidx/viewpager2/widget/ViewPager2;->setUserInputEnabled(Z)V

    return-void

改const/4 v0, 0x0 为 const/4 v0, 0x1
进入apk后右滑,将图片旋转一圈,获取到第一个存储值flag{
再长按获取到第二个存储值xnkl2025!} ,再进入包目录,在xml中获取到结果,无需研究算法如何实现,符合初级题目定位~
至此结束

免费评分

参与人数 2吾爱币 +9 热心值 +2 收起 理由
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
yys5161 + 2 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

LONG65041 发表于 2025-2-13 11:14
蒙了,彻底蒙了,因为我还是菜鸟一个,哈哈哈哈哈哈哈!!!
 楼主| jingtai123 发表于 2025-2-13 11:20
LONG65041 发表于 2025-2-13 11:14
蒙了,彻底蒙了,因为我还是菜鸟一个,哈哈哈哈哈哈哈!!!

没啥懵的,主要是了解android默认函数干啥的就行
LONG65041 发表于 2025-2-13 11:22
jingtai123 发表于 2025-2-13 11:20
没啥懵的,主要是了解android默认函数干啥的就行

谢谢大佬指点,今年我会好好学习。加油!!!!
刀大喵 发表于 2025-2-13 14:10
直接 Frida搞定
GW5201314 发表于 2025-2-13 14:39
看不懂啊大锅
lhwww 发表于 2025-2-13 15:36
怎么修改为1
mrx2024 发表于 2025-2-13 15:38
我太菜了
 楼主| jingtai123 发表于 2025-2-13 16:34

改的方式太多了,我是用vscode https://blog.csdn.net/qq_52380836/article/details/132644313
 楼主| jingtai123 发表于 2025-2-13 16:35

直接复制密文,xxxtea解码更快
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-3-20 01:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表