长城杯2022-Re
rabbit_hotle
0x 前言
很难受,比赛零输出,已经拿到迷宫了,但是不会解,人工走要134步总感觉自己会走错,抄了半天脚本都没用
0x1 动调
这题我是动调做的,作者还挖了坑,刚开始有一些什么异或和乘都是用来计算长度的,分别长度是16和134,自己写一个python爆破一下即可得到。
16有点坑,进去循环乘AES的s_box然后得到16个值进行对比。我写了个z3跑出来的时候巨开心,结果是flag{fake__flag}
后面就进入134
汇编的位置
我对着od去掉了一些混淆,可以看见是从 [0,0] 走到[21,21]的位置
hjkl对应上下左右,然后就是坐标异或maze ==1
一开始我是输出的10进制 看不懂迷宫,赛后才知道转16进制再异或1,因为需要==1嘛,异或1就等于变回去。然后要求就是 0x0000 前两位为x 后两位为y 移动时不能同时改变
babyre
0x0 前言
看这题时 第一题没出很着急,就一直百度pyd应该怎么用,看csdn都说from导入即可,我发现我不行,当时感觉是不是版本不对。但是感觉要不算了还是就去肝第一题了。
0x1 解源码
先用pyinstx脚本解出来
然后再把struct.pyc的前16个字节贴到run.pyc的头部即可
最后用uncompyle6解出来
0x02 解密
有一个new的pyd在一开始解出来的文件夹,下一个python3.7的环境 放在同一个目录就能调用了。然后就是爆破即可