

得到的 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{abcdfghijk}