不一样的flag题解

简介: 不一样的flag题解

不一样的flag题解


1.查壳

32bit executable  

是一个32位可执行文件

运行一下文件

四个方向移动,说明这应该是一个走迷宫的题目,正确通路就是flag

反汇编查看一下

2.拖入32位IDA静态分析

F5反编译

就行一个游戏或者单片机的代码,一个死循环,不停地接受键盘的输入,判断输入的1,2,3,4做出相应的坐标改变

打开string窗口找到迷宫字符串


按下快捷键r,将数字转化为字符

等于1的时候会exit(1),错误退出

说明0就可以走的通路

(_BYTE *)&v8 + 5 * v4 + v5 - 41,据此可以猜测迷宫应该是五行五列的,得出迷宫

*1111
01000
01010
00010
1111#

正确的走法是:222441144222

flag{222441144222}

相关文章
|
算法 C语言
每日一题---剑指 Offer 32 - III. 从上到下打印二叉树 III[力扣][Go]
每日一题---剑指 Offer 32 - III. 从上到下打印二叉树 III[力扣][Go]
每日一题---剑指 Offer 32 - III. 从上到下打印二叉树 III[力扣][Go]
每日一题---剑指 Offer 32 - II. 从上到下打印二叉树 II[力扣][Go]
每日一题---剑指 Offer 32 - II. 从上到下打印二叉树 II[力扣][Go]
每日一题---剑指 Offer 32 - II. 从上到下打印二叉树 II[力扣][Go]
LeetCode 343. Integer Break
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。
70 0
LeetCode 343. Integer Break
|
存储 人工智能 测试技术
|
机器学习/深度学习
【LeetCode231】2的幂(n & (n - 1) == 0或n & (-n) == n)
要是2的幂,可以回想二进制数中,什么样的二进制数对应的十进制是2的幂呢,就是在二进制数中,只有一个1,其余都是0。所以我们只需要判断给定的数的二进制数,如果只有一个1则返回true了。
167 0
【LeetCode231】2的幂(n & (n - 1) == 0或n & (-n) == n)
|
算法 测试技术
【算法笔记题解】PAT A1075 PAT Judge
【算法笔记题解】PAT A1075 PAT Judge
【算法笔记题解】PAT A1075 PAT Judge
Leetcode --- 动态规划系列(背包_True/False问题)
Leetcode --- 动态规划系列(背包_True/False问题)