圖片.png (97.84 KB, 下载次数: 0)
下载附件
2023-2-6 15:57 上传
好的,并没有加壳
调试
圖片.png (14.33 KB, 下载次数: 0)
下载附件
启动
2023-2-6 12:55 上传
正常启动程序如上图所示,常见的C/C++中的字符串输入有如下函数
scanf():通过格式控制符%s输入字符串。除了字符串,scanf() 还能输入其他类型的数据。
scanf_s():与scanf()功能相同的安全标准输入函数
gets():直接输入字符串,并且只能输入字符串。
对上面所有函数下断点,然后输入假码
圖片.png (20.9 KB, 下载次数: 0)
下载附件
假码
2023-2-6 12:56 上传
好的,很可惜,一个都没断下…
那就搜索字符串吧
圖片.png (15.33 KB, 下载次数: 0)
下载附件
字符串
2023-2-6 12:56 上传
按照错误提示来到Length Error, please try again
粗略的分析一下
圖片.png (53.58 KB, 下载次数: 0)
下载附件
1
2023-2-6 12:56 上传
再来
这次先随机生成29个字符
圖片.png (48.49 KB, 下载次数: 0)
下载附件
2
2023-2-6 12:56 上传
圖片.png (25.04 KB, 下载次数: 0)
下载附件
3
2023-2-6 12:57 上传
按照第二个提示进入Wrong,please try again.
圖片.png (19.28 KB, 下载次数: 0)
下载附件
4
2023-2-6 12:57 上传
有个跳转,跟过去看看
圖片.png (60.34 KB, 下载次数: 0)
下载附件
5
2023-2-6 12:57 上传
发现了跳转成功,下个断点
圖片.png (37.47 KB, 下载次数: 0)
下载附件
6
2023-2-6 12:57 上传
我们输入的内容不正确,所以跳转了
圖片.png (84.26 KB, 下载次数: 0)
下载附件
7
2023-2-6 12:58 上传
我们看看00401417信息窗口中的内容
圖片.png (7.04 KB, 下载次数: 0)
下载附件
8
2023-2-6 12:58 上传
我们输入的密码是
YTQXTDfagGa1C4zGgBLZceEIdsu8m
而信息窗口告诉我们的是第一个不是”Y”而是”f”
那么我们就可以利用这一点来拼接密码
而0040141A的JNE是为真不跳,所以我们这里就不能让他跳过
将寄存器中的ZF改为1阻止跳过
圖片.png (1.38 KB, 下载次数: 0)
下载附件
9
2023-2-6 12:59 上传
当来到00401429时循环回了004013F0
圖片.png (61.89 KB, 下载次数: 0)
下载附件
10
2023-2-6 13:00 上传
由此猜测只有29位的问题答案完全通过对比才能跳出循环
而每次的对比都可以在信息窗口中找到
那么我们只需要将0040141A给NOP掉,然后查看信息窗口即可。
在00401417这下入断点,查看后续的对比
圖片.png (19.36 KB, 下载次数: 0)
下载附件
A
2023-2-6 13:01 上传
圖片.png (19.39 KB, 下载次数: 0)
下载附件
B
2023-2-6 13:01 上传
圖片.png (19.43 KB, 下载次数: 0)
下载附件
C
2023-2-6 13:01 上传
圖片.png (18.93 KB, 下载次数: 0)
下载附件
E
2023-2-6 13:02 上传
圖片.png (19.24 KB, 下载次数: 0)
下载附件
F
2023-2-6 13:01 上传
圖片.png (19.24 KB, 下载次数: 0)
下载附件
G
2023-2-6 13:02 上传
圖片.png (19.07 KB, 下载次数: 0)
下载附件
K
2023-2-6 13:03 上传
圖片.png (18.55 KB, 下载次数: 0)
下载附件
L
2023-2-6 13:04 上传
圖片.png (18.24 KB, 下载次数: 0)
下载附件
J
2023-2-6 13:03 上传
圖片.png (18.9 KB, 下载次数: 0)
下载附件
N
2023-2-6 13:04 上传
圖片.png (18.22 KB, 下载次数: 0)
下载附件
M
2023-2-6 13:04 上传
圖片.png (18.67 KB, 下载次数: 0)
下载附件
2
2023-2-6 13:04 上传
圖片.png (18.07 KB, 下载次数: 0)
下载附件
2023-2-6 13:05 上传
圖片.png (18.22 KB, 下载次数: 0)
下载附件
2
2023-2-6 13:05 上传
圖片.png (18.35 KB, 下载次数: 0)
下载附件
3
2023-2-6 13:05 上传
圖片.png (17.18 KB, 下载次数: 0)
下载附件
A
2023-2-6 13:06 上传
圖片.png (18.23 KB, 下载次数: 0)
下载附件
P
2023-2-6 13:06 上传
圖片.png (18.01 KB, 下载次数: 0)
下载附件
P
2023-2-6 13:06 上传
圖片.png (17.88 KB, 下载次数: 0)
下载附件
Y
2023-2-6 13:06 上传
圖片.png (17.72 KB, 下载次数: 0)
下载附件
N
2023-2-6 13:06 上传
圖片.png (17.7 KB, 下载次数: 0)
下载附件
E
2023-2-6 13:06 上传
圖片.png (17.81 KB, 下载次数: 0)
下载附件
W
2023-2-6 13:07 上传
圖片.png (17.35 KB, 下载次数: 0)
下载附件
Y
2023-2-6 13:07 上传
圖片.png (17 KB, 下载次数: 0)
下载附件
E
2023-2-6 13:07 上传
圖片.png (17.51 KB, 下载次数: 0)
下载附件
A
2023-2-6 13:07 上传
圖片.png (17.08 KB, 下载次数: 0)
下载附件
R
2023-2-6 13:07 上传
圖片.png (17.56 KB, 下载次数: 0)
下载附件
}
2023-2-6 13:07 上传
当全部对比结束后就跳转到成功
圖片.png (25.32 KB, 下载次数: 0)
下载附件
END
2023-2-6 13:08 上传
根据对比,拼接得到密码: flag{52PoJie2023HappyNewYear}
圖片.png (20.52 KB, 下载次数: 0)
下载附件
2023-2-6 13:08 上传