2024精武杯

APK功能分析

1. 请分析1.备忘录.apk反编译出的文件中,正确答案在哪个文件里?

复制代码
activity_main.xml

2. 请分析1.备忘录.apk并找到程序中的主activity是?(答案格式:com.tencent.mm.activity)

复制代码
com.hl.memorandum.MainActivity

3. 请分析1.备忘录.apk并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})

复制代码
HL{d0b2058a-ac29-11ed-807f-acde48001122}

4. 请分析2.easyapk.apk中SharedPreferences配置文件的名称(包括后缀)是什么?

复制代码
myprefs.xml

开启模拟器

反编译看mainactivity

搜索SharedPreferences,发现标签名为myprefs

在文件管理器中进行搜索myprefs

5. 请分析2.easyapk.apk并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})

复制代码
HL{55c99ed4-d894-ae59-3a3b-6fe3eed793e7}

回到mainactivity

当时这里我觉得应该是能出答案的

看sha函数

可以发现sha.encrypt()其实就是md5加密

接收用户输入的key,检查长度是否为40,如果为40则对result进行分段,结果与输入的key进行对比,如果匹配,则显示提示消息 "答案正确!"

也就是说可以用来校验flag是否正确

直接使用雷电APP智能分析中的Frida脚本跟踪一下字符串相等判断,随便输入一个答案提交,即可跟踪到与flag作对比的事件

6. 请分析3.verify.apk,该程序中所使用的AES加密KEY值为

复制代码
thisisyouraeskey

看mainactivity

追踪en1 可以发现就是aes解密

将加密后的值与tPbnK29ENaqgPANeD1Hud3KyiS4uf8oaSa0b6ldRDHs=进行对比

也就是说输入的key为tPbnK29ENaqgPANeD1Hud3KyiS4uf8oaSa0b6ldRDHs=进行AES解密的结果

使用Frida脚本跟踪加解密事件,随便输入一个key即可得到AES加解密使用的key和iv

有key iv 就是cbc模式

得到密钥 Whose key am I ?

资源文件里面有个lookme

*8. 请分析4.easyjni.zip,压缩包中数据库的解密秘钥为

复制代码
66d6ad256b0b03143e5571276bcebfc756a8fc0f7322b31ee8a8a2e992cbce37

*9. 请分析4.easyjni.zip并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})

复制代码
HL{b950f5b8abfd5a0b3331ca65e687ff94}

*10. 请分析5.calc.apk并找到程序中的flag值(答案格式:HL{66666666-1-1-1-1})

复制代码
HL{96233a87c59bf7f0aa2ed16d9bc2e07a}
相关推荐
SharpCJ6 小时前
Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革
android·ai·aigc
_李小白7 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
JJay.7 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
jinanwuhuaguo7 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin
JJay.8 小时前
Android Kotlin 协程使用指南
android·开发语言·kotlin
BLUcoding8 小时前
Android 布局介绍
android
summerkissyou19878 小时前
android-蓝牙-状态和协议值总结及监听例子
android·蓝牙
徒 花8 小时前
数据库知识复习05
android·数据库
提子拌饭13310 小时前
番茄时间管理:鸿蒙Flutter 实现的高效时间管理工具
android·flutter·华为·架构·开源·harmonyos·鸿蒙
4311媒体网11 小时前
帝国CMS二次开发实战:精准实现“最新资讯”标识与高亮判断
android