-
-
[原创]第二题 南冥神功
-
发表于:
2021-5-21 23:19
8491
-
老规矩丢进IDA F5
将 F5 的代码分析如下
用伪码简单说说
run的规则是
要走的地方不能是墙 x和y分别都不能越界
走了一步以后把当前位置标记为墙
step对应的路
1// 右移
4// 左移
2// 若y为奇数 则直下 若y为偶数 则往右下走
3// 若y为奇数 则往左下走 若y为偶数 则直下
5// 若y为奇数 则往左上走 若y为偶数 则直上
0// 若y为奇数 则直上 若y为偶数 则往右上走
与常规迷宫不同的是满足特定条件可以往斜着走
其实可以看出来这个题就是我们 qq 里面经常玩的一笔画
路径就是这样
转换成step就是
1234321234321101210050543450501210121234322321
step 就可以转换成 index 再转换成 table 中的字符 即 flag 了
验证成功
map
=
...
table
=
...
input_
=
row_input()
for
i
in
range
(
len
(input_)
-
1
):
index
=
table.indexof(
input
[i])
step1
=
5
-
(index
+
i)
%
6
step2
=
(index
/
6
+
i)
%
6
run(step1)
run(step2)
for
i
in
map
:
if
i
=
=
0
print
(
'GG'
)
exit(
0
)
print
(
'you win!'
)
map
=
...
table
=
...
input_
=
row_input()
for
i
in
range
(
len
(input_)
-
1
):
index
=
table.indexof(
input
[i])
step1
=
5
-
(index
+
i)
%
6
step2
=
(index
/
6
+
i)
%
6
run(step1)
run(step2)
for
i
in
map
:
if
i
=
=
0
print
(
'GG'
)
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)