【2024春节】解题领红包 Web题全flag, 安卓中级题
本帖最后由 方块君 于 2024-3-2 20:47 编辑# 安卓中级题
由于安卓中级题忘记存具体的分析过程了,说解密流程吧
图片有点模糊是因为被qq压缩了,找不到原图了
~~下次能不能在题目页面写一下flag格式(害我没拿到首杀~~
jeb pro打开加密dex提示签名不正确 ~~不知道是故意的还是忘记更新签名了~~
so内也只是检测frida
先把dex修复然后用xposed拦截为修复的dex
以及拦截File的delete函数,防止删除解密出来的dex
注:根据反编译源码,源加密dex要改名为 decode.dex 放在app数据目录,不然还是失败(我解密时候是这样操作的)。
~~afterHook 是我想尝试解密其他函数用的,后面还是直接扣代码来解密dex了~~
然后在app的数据目录能看到多出个fix2.dex的文件
居然不在 A.d 根据提示找到 B.d 并把解密代码扣出来使用资源中的密钥进行解密
得到flag生成方法
下面的注释是解密代码
dex加密分析
对比差异发现这个dex加密就是更改了方法的地址
# Web 题
## 首先是静态 flag 获取
### 视频
flag3 和 flag1
### flag7
视频中的 Github 网址
## 答题网站
### flag2
flag2 在答题网站 302 跳转里
### flag4 & flag10
右键网站查看源码发现背景图有 flag 信息
拿到了 flag4,flag10 可能藏在图片里了
拿 Stegsolve 试试,直接拿到 flag10
### flag5 & flag9
网页源码中有一段 flag5 flag9 的文本
对字符串处理下
把 `.` `/` `\` `_` 替换即可获取 flag5
把 `.` 替换成换行,在手动处理下即可获取 flag9
### flag6
flag6 有两种解法
#### 方法一
点计算按钮等他计算
#### 方法二
查看源代码
获得一段 md5
拿去网站解密下
即可获取 flag6
### flag8
玩游戏玩到 1w 金币即可获取
### flag11
添加两个滑块
滑动到对应值即可获取 flag11
### flag12
查看源码发现是用的 `WebAssembly`,把 `wasm` 文件下载下来用 `Jeb pro` 看看
获得密码 `1213159497`
计算出 flag12
至此,所有静态 flag 都已获取
- flag1{52pj2024}
- flag2{xHOpRP}
- flag3{GRsgk2}
- flag4{YvJZNS}
- flag5{P3prqF}
- flag6{20240217}
- flag7{Djl9NQ}
- flag8{OaOjIK}
- flag9{KHTALK}
- flag10{6BxMkW}
- flag11{HPQfVF}
- flag12{HOXI}
### 动态 flag
### flagA
查看解密网站登录包返回的 cookie 里有 flagA
带进查看 uid 的接口即可获取 flagA
### flagB
flagB 的提示是 `溢出`
查看网页端代码后发现能实现溢出的只有购买数量部分
~~购买数量可能有限制~~ (更正:购买后的余额不能大于现有余额)
尝试下 int64 溢出
成功获得 flagB
### flagC
看题目是要把物品放到对应位置即可获取 flagC
已知 3 个物品,红绿灯、车、高铁
使用摄像头功能,用 obs 虚拟摄像头 + word 慢慢调即可获取 flagC {:1_906:}记住了,明年搞成统一,主要没统一也没说明格式这个确实麻烦。 本帖最后由 991547436 于 2024-2-28 11:27 编辑
我按照这个流程为什么解密出了A,但是解密不出B呢,看了半天气得我后面的题都没写
1.把apk中assets中的classes.dex放到/data/data/com.zj.wuaipojie2024_2/app_data中,改名decode.dex
2.用mt管理器修复apk中assets中的classes.dex
3.修改apk中assets中的classes.dex中的类C,删除方法getStaticMethod中的2行:fix.delete() 和 newFile(dir,fix.getName()).delete(); 见图1 ,保存打包安装apk
4.运行app,随意输入密码,会生成/data/data/com.zj.wuaipojie2024_2/app_data/2.dex
5.反编译2.dex可以看到类A已经解密,类B未解密,见图2
图1
图2
991547436 发表于 2024-2-28 11:22
我按照这个流程为什么解密出了A,但是解密不出B呢,看了半天气得我后面的题都没写
1.把apk中assets中的cla ...
apk中的代码只对A方法进行解密,不对B解密,要解密B需要传入B_offset,吐槽一句,结果和代码无关的解题真的有趣吗
991547436 发表于 2024-2-28 11:49
apk中的代码只对A方法进行解密,不对B解密,要解密B需要传入B_offset,吐槽一句,结果和代码无关的解题真 ...
不能说无关,因为 B_offset 本来就是代码的未使用变量。 991547436 发表于 2024-2-28 11:49
apk中的代码只对A方法进行解密,不对B解密,要解密B需要传入B_offset,吐槽一句,结果和代码无关的解题真 ...
是的,文章中我也有提到解密B.d需要使用到资源内的密码(偏移信息) 谢谢分享,过来膜拜下,除了要有技术还要有脑洞的!
页:
[1]