前言:做题笔记。
下载解压 查壳。
64ida 打开
查找字符并跟进
wasd一看,这题就是关于迷宫的题。跟进看看。
懵。。。不过还是得仔细看看。
观察发现。
进去看看。
然后最开始,因为数据太多把我卡住了。。。
回过头仔细看看。
猜测dword_202AB0代表的就是迷宫地图数量。
进一步确定。
而3 4 分别代表了起点和终点。(可以根据数据出现的位置确定。)
而 1 0 应该代表能走和不能走。
绘图
先整理一下格式。(不会,可以手搓。当然我是问的豆妈,,哈哈哈。)
data = "111110000000000111110311000000111110001000000111110001000000111110001111100111110000000100111110000000100111110000000110111110000000010111110000000040111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000110311111000000110110001000000110000001000000110110001111100110110000000100110110000000100110110000011110110110000010010110110000010000110111111010110110111111111110110000000000040111111111111111111111111111111000000000000000031100000000000000101110000000000111010000000000010010000000011010010000000001110010000000000000010000000000000011110000000000000010000000000000010000000000000010000000000000011110000000000000010000000000000040"
s = ""
count = 0
for char in data:
s += char
count += 1
if count == 225:
print(s)
s = ""
count = 0
if s:
print(s)
a = '111110000000000111110311000000111110001000000111110001000000111110001111100111110000000100111110000000100111110000000110111110000000010111110000000040111111111111111111111111111111111111111111111111111111111111111111111111111'
b = '110000000000000110311111000000110110001000000110000001000000110110001111100110110000000100110110000000100110110000011110110110000010010110110000010000110111111010110110111111111110110000000000040111111111111111111111111111111'
c = '000000000000000031100000000000000101110000000000111010000000000010010000000011010010000000001110010000000000000010000000000000011110000000000000010000000000000010000000000000010000000000000011110000000000000010000000000000040'
def print_matrix(s):
for i in range(0, len(s), 15):
print(s[i:i+15])
print("Matrix A:")
print_matrix(a)
print("\nMatrix B:")
print_matrix(b)
print("\nMatrix C:")
print_matrix(c)
ddsssddddsssdss
dddddsssddddsssaassssddds
ddssddwddssssssdddssssdddss
转成MD5
flag{aeea66fcac7fa80ed8f79f38ad5bb953}
这算是一道非常典型的迷宫类型题目。