[BUUCTF]Mysterious
分析
下载得到可执行文件,随便输入一些,没得反应
解题
PE..L..说明其为32位的exe文件,放入IDA
PE…d…是64位程序
shift+F12检索字符串,看到well done,点进去
原因:大佬说这可能表示该程序输入成功后的情况
类似于答案的文字
左侧401090进去,接着F5进行反编译
将已编译的机器码或字节码重新转换回高级编程语言的过程,让其“易读”
主要分析这一段:
if ( v10 == 123 && v12 == 120 && v14 == 122 && v13 == 121 )
strcpy(Text, "flag");
memset(&v7, 0, 0xFCu);将v7的前252个字节设置为0。
_itoa(v10, &v5, 10);将v10转换为字符串并存储在&v5中。即v5=“123”
strcat(Text, "{");
strcat(Text, &v5);将v5(即v10的字符串表示)连接到Text的末尾。
strcat(Text, "_");
strcat(Text, "Buff3r_0v3rf|0w");
strcat(Text, "}");:将"}"
MessageBoxA(0, Text, "well done", 0);显示一个消息框,内容为Text,标题为"well done"。
所以输出txt为
flag{123_Buff3r_0v3rf|0w}
标签:BUUCTF,Text,v10,strcat,123,done,v5,Mysterious From: https://www.cnblogs.com/arui-li/p/18522494