2024_SACC_安全组招新
2024_SACC_安全组招新题wp
题目链接:https://github.com/tsglz/tsglz.github.io/releases/download/2024-SACC/2024-SACC.rar
密码:2024-SACC
1_just_click

直接 IDA 打开,打开 omg(0) 即为 flag


如果你对 xyz(p) 感到好奇点开看了下,你就会发现进行了一个 异或0x55 的操作,但实际上它并没有实质性的影响
2_another_three_click
打开看一眼,看不懂,拖 IDA

看到 3 个 test_func 函数,合理推断 flag 是 三段式,点击进去看看

进入汇编界面,很容易看到三段 flag,一、三两段是明文,第二段需要转换一下

按a即可,将 flag 拼好即可提交

3_MaybeXorAndRot13
打开文件,输出的是数字

然后打开 IDA 进行查看,同样是一串数字,可以看到进行了 异或0x55 的操作,在刚进入 IDA 的时候,其实能直接看到异或之前的内容,如果不确定,可以写个脚本验证一下

python:
1 | |
c:
1 | |
解出来是一样的,熟练的一眼 base64
1 | |
得到如下内容,很明显这还不是最终的 flag,根据提示,还用到了 Rot13
1 | |
解密可得
1 | |
4_in_string
这道题特别 ez,一打开就能看到一个半成品的 flag,提示中给的 in_string 只是提供一个快速查找有用信息的方法
string位置:View >> Open subviews >> string
1 | |
如果直接提交 flag,会发现 flag 是错误的,
打开 main 函数,刚才看到的 flag 就在 text_57 里面

接着在 change 函数中会看到替换的步骤,32 >> 95,熟练的知道是 ‘_‘替换了 ‘ ‘

如果不清楚可以查 ascii 码表,在汇编中也能应证

给半成品 flag 补上下划线即可
5_oh_upx
不了解的可能会有点难受,upx 壳是常用压缩壳,这里使用的是未经魔改的版本,只需要去网上下一个就好
如果不脱壳,IDA 看到的代码就是乱七八糟的一坨,但其实不影响运行
首先进行脱壳 upx -d 即可,不清楚使用方法可以浏览器查一下,非常清楚

然后使用 IDA 打开,在下方直接能看到两段 flag ,根据提示,flag 一共有三段

在 main 函数中直接能找到中间缺失的一段,拼起来即可

6_inline_assembly
这道题用到了内联汇编,这会一定程度上阻碍静态分析,但这里我并没有做过多的处理,所以可以直接在 String 里找到
如果对 Windows 比较熟悉会知道,这段程序是 32 位的,不知道也没关系,DIE 可以进行分析

用 32位 DIE 打开
打开 String,直接能看到 flag flag{May23_th1s_1s_the_flag}