攻防世界1.0

1.666

2.1000Click

拖进ida查看字符串

ctrl+f 搜索flag,发现有一群flag

但是只有一个字符串被函数调用,

flag{TIBntXVbdZ4Z9VRtoOQ2wRlvDNIjQ8Ra}

但是据说点一千下真的有flag

3.debug

net文件,拖进dnspy

动调,断点设在入口点,找到主函数

根据提示,flag和ab有关系,下断点

发现flag

4.testre

脱进ida,查看字符

啊~~好像base64变表啊

但是解了一下好像没有这么简单

看了题解发现除的是58所以是base68加密(bushi,私斋蒸油事理)

这还有个拼接的字符串,胆大猜测是密文

解出flag(我搞出西湖论剑了,我蒸油事理)

5.maze

四个判断上下左右的函数

字符串找到地图

def find_shortest_path(maze, start, end):
    rows, cols = len(maze), len(maze[0])
    visited = [[False] * cols for _ in range(rows)]
    queue = [[start, ""]]  # 在队列中同时保存当前位置和移动路径
    visited[start[0]][start[1]] = True

    dirs = [(0, 1, "o"), (1, 0, "0"), (0, -1, "O"), (-1, 0, ".")]  # 右, 下, 左, 上 dsaw
    steps = 0

    while queue:
        for _ in range(len(queue)):  # 遍历队列中的每个状态
            pos, path = queue.pop(0)
            if pos == end:
                return path  # 返回实际的最短路径
            for dr, dc, move in dirs:
                next_pos = (pos[0] + dr, pos[1] + dc)
                if 0 <= next_pos[0] < rows and 0 <= next_pos[1] < cols and maze[next_pos[0]][next_pos[1]] == 0 and not \
                        visited[next_pos[0]][next_pos[1]]:
                    visited[next_pos[0]][next_pos[1]] = True
                    new_path = path + move
                    queue.append([next_pos, new_path])
        steps += 1

    return None  # 无解时返回None


# 迷宫表示,0表示可以通过的路,1表示墙壁
maze = [
    [0, 0, 1, 1, 1, 1, 1, 1],
    [1, 0, 0, 0, 1, 0, 0, 1],
    [1, 1, 1, 0, 1, 0, 1, 1],
    [1, 1, 0, 0, 1, 0, 1, 1],
    [1, 0, 0, 1, 0, 0, 0, 1],
    [1, 1, 0, 1, 1, 1, 0, 1],
    [1, 1, 0, 0, 0, 0, 0, 1],
    [1, 1, 1, 1, 1, 1, 1, 1]]

start = (0, 0)  # 起点坐标
end = (4, 4)  # 终点坐标

shortest_path = find_shortest_path(maze, start, end)
if shortest_path:
    print("最短路径为:", shortest_path)
else:
    print("没有找到路径")
解密脚本

o.O

6.easyRE1

人真好

  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值