本帖最后由 方块君 于 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 网址
flag7
答题网站
flag2
flag2 在答题网站 302 跳转里
flag2
flag4 & flag10
右键网站查看源码发现背景图有 flag 信息
flag4&flag10
拿到了 flag4,flag10 可能藏在图片里了
拿 Stegsolve 试试,直接拿到 flag10
flag10
flag5 & flag9
网页源码中有一段 flag5 flag9 的文本
对字符串处理下
把 . / \ _ 替换即可获取 flag5
把 . 替换成换行,在手动处理下即可获取 flag9
flag9
flag6
flag6 有两种解法
方法一
点计算按钮等他计算
flag6_1
方法二
查看源代码
flag6_2
获得一段 md5
拿去网站解密下
flag6_2_2
即可获取 flag6
flag8
玩游戏玩到 1w 金币即可获取
flag11
添加两个滑块
flag11
滑动到对应值即可获取 flag11
flag11_2
flag12
flag12
查看源码发现是用的 WebAssembly ,把 wasm 文件下载下来用 Jeb pro 看看
flag12_2
获得密码 1213159497
flag12_3
计算出 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
flagA
查看解密网站登录包返回的 cookie 里有 flagA
带进查看 uid 的接口即可获取 flagA
flagA_2
flagB
flagB
flagB 的提示是 溢出
查看网页端代码后发现能实现溢出的只有购买数量部分
flagB_2
购买数量可能有限制 (更正:购买后的余额不能大于现有余额)
flagB_3
尝试下 int64 溢出
flagB_4
成功获得 flagB
flagC
flagC
看题目是要把物品放到对应位置即可获取 flagC
已知 3 个物品,红绿灯、车、高铁
flagC_2
使用摄像头功能,用 obs 虚拟摄像头 + word 慢慢调即可获取 flagC
|