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
人真好