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}