BUUCTF 不一样的flag writeup

感谢BUUCTF提供的学习平台

https://buuoj.cn

 

题目:不一样的flag

 

工具:x64dbg

这是一道内存的迷宫题,迷宫是402000处的字符串

 

 根据经验,这应该(a行*b列)的字符,想快速解题,需要知道是几行几列。

行的确定:

 

 列的确定:

 

 shl汇编指令的含义为eax*2n,先将edx的值赋给eax,再将eax的值乘4,最后再加上edx。这里相当于行数*5

这是这一部分的IDA生成的伪码

最后可以确定开头的字符串相当于:

*1111
01000
01010
00010
1111#

从*沿着0走到#即可

 

 

程序运行分析过程,见注释

 

posted @ 2020-04-03 21:11  红刃  阅读(1164)  评论(0编辑  收藏  举报