[羊城杯 2024]1z_misc
得到FL4G.zip和天机不可泄露.txt文件,其中压缩包需要解压密码:
二十八星宿:
东方苍龙七宿:角、亢、氐、房、心、尾、箕
南方朱雀七宿:鬼、井、柳、星、张、翼、轸
西方白虎七宿:奎、娄、胃、昴、毕、觜、参
北方玄武七宿:斗、牛、女、虚、危、室、壁
十二地支(十二生肖):
子(鼠)、丑(牛)、寅(虎)、卯(兔)
辰(龙)、巳(蛇)、午(马)、未(羊)
申(猴)、酉(鸡)、戌(狗)、亥(猪)
若女可为11,可为1124......觜可为91,亦可为725......如此往复,周而复始。
(1,1)为女对应(子,女),即子区域内的最右边的“女”
(9,1)为觜对应(申,觜),即申区域内的最右边的”觜“
依次类推(2,1)是丑区域内的最右边的”斗“,依次这样先填写第一行
再看到(7,25)的觜,第七列的第一个是“柳”,按照轮转图逆时针开始数,刚好第25个就是”觜“
再看到(11,24)的女,第十一列的第一个是”奎“,按照轮转图逆时针开始数,刚好第24个就是”女“
依次类推,从上到下(1-28)就刚好是逆时针轮转的28星宿,依次填写好整个表格
祈解其秘:[43,101,55,16,16,1017,28,812,824,43,55,226,101,55,55,415,1017,1027,28,28,617,824,28,812,1027,16,101,16,55,1027,1017,28,16]
解出来是:
心,胃,心,奎,奎,心,奎,心,胃,心,心,心,胃,心,心,胃,心,奎,奎,奎,奎,胃,奎,心,奎,奎,胃,奎,心,奎,心,奎,奎
只有三个字,猜测是摩斯密码,去掉逗号:
心胃心奎奎心奎心胃心心心胃心心胃心奎奎奎奎胃奎心奎奎胃奎心奎心奎奎
观察一下发现只有胃没有连着,应该是空格( ),其他的一个长一个短,奎应该是(-),心应该是(.)
(注意:胃的replace记得打上空格)
得到解压密码:E@SI1Y!
解压得到flag文件和hint.jpg文件:
天琴座的英文是lyra,联想到前不久2024 ISCC考察的一道题目(有人让我给你带个话)
用到了这个开源项目 https://github.com/google/lyra
更改文件后缀:
参考链接:https://blog.csdn.net/ASD830/article/details/139381089
这个项目需要安装bazel:
curl -O https://mirrors.huaweicloud.com/bazel/5.3.2/bazel_5.3.2-linux-x86_64.deb
dpkg -i bazel_5.3.2-linux-x86_64.deb
bazel --version
apt install ninja-build git cmake clang
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
git checkout 96ef4f307df2
mkdir build_clang
cd build_clang
cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_PROJECTS="clang" -DCMAKE_BUILD_TYPE=release ../llvm
ninja
但是报错了,后面弄了很久也没能解决问题,卡在环境配置问题了,其他人的WP也写得不详细,做不下去了,摆了
$(which ninja) install
ldconfig
git clone https://github.com/google/lyra.git
bazel build -c opt :encoder_main
bazel-bin/lyra/cli_example/decoder_main --encoded_path=flag.lyra --output_dir=temp/ --bitrate=3200
正常流程会得到一个.wav文件,去在线网站语音转文本会得到一串字符串:
得到flag:
DASCTF{W0w!_You_d0_4_g00d_j0b!}