DownUnderCTF 2025
Solve
godot
使用gdre_tools进行解包,很明显ductf_2025_godot_encrypted.pck是已经被加密过的,需要找到密钥,上网浏览了一下,找到两种方法
- https://ctftime.org/writeup/39048
- https://www.52pojie.cn/thread-2002779-1-1.html
对于此题,并没有找到方法二中的gdscript::load_byte_code 字符串
从方法一入手,找到can't open encrypted pack directory.

找到字符串后读取一个全局变量的循环,这个全局变量就是aeskey

如果有符号的话,就可以看到方法二中比较优雅的代码,这里的script_encryption_key就是aeskey

之后再Godot Re tools中设置密钥

选择pck文件进行解包,并导出

导出后可在godot engine中作为项目打开并运行,可以看到调试日志,游戏地图(universe.tscn)

找到src或者script文件夹,用记事本打开.gd文件(godot的脚本文件),分析逆向即可
将lucky与godot属性全设置为true后,重新打包,下面是打包教程


这个版本需要与解包时候的版本对应
swiftpasswordmanager-clickme
一道swift逆向,本题的要求是恢复Flag按钮的点击事件,只需要hook Flag按钮的view.disabled(),将.disabled(true)改为.disabled(false)既可.
按钮的字符串是小端序的,alt-b搜索"galF"就可以找到Flag按钮的定义以及action部分.
What I have learnd
- 第一次接触godot逆向,学会找aes密钥,解包,打包
- 第一次接触swift逆向,学会怎么找到按钮对应的行为

浙公网安备 33010602011771号