writeup_easyMaze_reverse
writeup_easyMaze_reverse
elf文件,直接ida:
main函数里定义了一大堆变量。
为了便于分析,从step_2开始看起:
循环校验输入(WASD),然后按照输入内容控制输出相关结果。
再看加密逻辑:
step_0貌似是在生成地图
step1中还有子调用,太麻烦了,因此直接选择动态调试,在step2直接查看数据。
连接linux开始动态调试:
断点下载step_2的循环开始处:
双击a1数组查看变量:
很多0和1组成的数组,d键位转化为dd,然后右键生成数组,长度为49
(dd定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4;)
复制,生成地图:
按照地图,应该为 SSDDWDWDDDSSAASASAAASSDDDDWDDS
最终flag:UNCTF{ssddwdwdddssaasasaaassddddwdds}
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.