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.
    image|0x0
    找到字符串后读取一个全局变量的循环,这个全局变量就是aeskey
    image-2
    如果有符号的话,就可以看到方法二中比较优雅的代码,这里的script_encryption_key就是aeskey
    image-3|0x0
    之后再Godot Re tools中设置密钥
    image-4
    选择pck文件进行解包,并导出
    image-5
    导出后可在godot engine中作为项目打开并运行,可以看到调试日志,游戏地图(universe.tscn)
    image-8
    找到src或者script文件夹,用记事本打开.gd文件(godot的脚本文件),分析逆向即可
    将lucky与godot属性全设置为true后,重新打包,下面是打包教程
    image-6|720x395
    image-7|719x534
    这个版本需要与解包时候的版本对应

swiftpasswordmanager-clickme

一道swift逆向,本题的要求是恢复Flag按钮的点击事件,只需要hook Flag按钮的view.disabled(),将.disabled(true)改为.disabled(false)既可.
按钮的字符串是小端序的,alt-b搜索"galF"就可以找到Flag按钮的定义以及action部分.

What I have learnd

  1. 第一次接触godot逆向,学会找aes密钥,解包,打包
  2. 第一次接触swift逆向,学会怎么找到按钮对应的行为
posted @ 2025-07-22 12:01  Un1corn  阅读(211)  评论(0)    收藏  举报