BUUCTF [ACTF新生赛2020]music 1
BUUCTF:https://buuoj.cn/challenges
文章目录
- 题目描述:
- 密文:
- 解题思路:
- flag:
相关阅读
CTF Wiki
m4a文件格式分析
异或运算 XOR 教程
BUUCTF:[ACTF新生赛2020]music
题目描述:
得到的 flag 请包上 flag{} 提交。
密文:
下载附件,解压得到tmp文件夹,内有vip.zip,解压得到vip.m4a文件。
解题思路:
1、打开vip.m4a文件,发现该文件已损坏。
在010 Editor中,也可以观察到文件数据的混乱。
2、通过观察,参考m4a文件格式分析、异或运算 XOR 教程两篇文章,我终于明白,vip.m4a文件数据经过对“A1
”的异或运算,才呈现上面的样子。
首先,通过对比m4a文件的ftyp(文件标识)和stsc(记录每个trunk的采样数),发现原来是“00
”的数据变成了“A1
”,ftyp:“66 74 79 70
”变为“C7 D5 D8 D1
”,stsc:“73 74 73 63
”变为“D2 D5 D5 D2
”。
(感谢CSDN半岛铁盒博主的分享,另外周的《半岛铁盒》也很好听)
ftyp:
stsc:
同时,我了解到异或运算的一条运算规律:一个值与 0 的运算,总是等于其本身。
x ^ 0 = x
所以,当“A1
”与0
进行异或运算时,结果为“A1
”。这就是为什么原来是“00
”的数据变成了“A1
”。
从而得出,vip.m4a文件原数据经过了对“A1
”的异或运算。
3、在010 Editor中,对整个文件进行对“A1
”的异或运算,保存得到完好的vip.m4a文件。
播放vip.m4a文件,将听到的字母记下来,得到:actfabcdfghijk
,flag为:abcdfghijk
flag:
flag{abcdfghijk}