安洵杯_2019_game

[安洵杯2019] game

image-20221125233738207

ollvm混淆,直接上插件

image-20221125233523228

前面的check主要是在校验生成的矩阵

后面是两个check

image-20221125233818170

check1三个简单加密

交换前后半,对调,简单运算

check2

image-20221125234043863

明显是个数独

解数独结束了

image-20221125234142699

注意这里有个将字符转数字的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
flag = [4,6,9,3,6,4,1,7,6,2,8,9,4,6,8,5,7,2,2,8,4,3,5,5,6,1,3,7,2,1,9,8,
7,6,2,5,5,9,8,6]
print(len(flag))
for i in range(len(flag)):
flag[i] = (-(flag[i]+0x30 + 0x15)) ^ 0xF3

for i in range(0, len(flag), 2):
flag[i], flag[i+1] = flag[i+1], flag[i]

for i in range(20, 40):
print(chr(flag[i]&0xff), end="")


for i in range(0, 20):
print(chr(flag[i]&0xff), end="")

1
flag{KDEEIFGKIJ@AFGEJAEF@FDKADFGIJFA@FDE@JG@J}