本文最后更新于0 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
1.Crack Me
打开apk要求输入账号邮箱还有密码
用jadx打开发现没什么好分析的
因为它是使用 JavaScript 的 React Native 应用程序,React Native 应用编译后,会把所有 JavaScript 代码打包成一个大文件,一般叫 index.android.bundle,然后放在 APK 的 assets 文件夹下
可以使用 react-native-decompiler 等工具来反编译 React Native index.android.bundle JS 文件
反编译出来有800多个,肯定不能一个一个点开去看了,我们直接在所有文件里面检索admin
最后在443.js里面找到关键代码
这里可知我们的账号邮箱是admin@sekai.team
通过e.validatePassword函数来找密码
可知密码采用aes加密,iv和key再456.js里面,打开456.js
赛博厨子解密出密码
那么问题来了 flag在什么地方?
来看这一段
这说明一旦你用正确的邮箱和密码登录成功,程序会监听 Firebase Realtime Database 里用户路径下的flag字段。
我们可以输入正确的账号密码以后抓包拦截请求拿flag
然后我尝试以后
这是一个标准的 Firebase 错误,表示网络请求失败,并不是账号密码错误或逻辑错误,而是无法连接到 Firebase 服务
不知道是不是复现的原因由于比赛环境没了 firebase 项目当前不可用所以也就抓不到包
SEKAI{15_React_N@71v3_R3v3rs3_H@RD???}