第一步 将程序拖到exeinfo中,发现为32位的。注意不能直接将程序拖到ida,因为该程序有外壳UPX。
第二步 将目标程序拖入UPX,完成脱壳,之后即可将程序拖入ida(脱完壳后会有一个.bak的文件,那个不是我们的目标程序,删除即可。)
这是我们脱完壳的目标程序
第三步 按tab键,转换为C语言代码并分析
本题中str1与str2为字符串,strlen(str2)为字符串2的长度。本题利用strlen函数先获取字符串2的长度,将其作为参数传递给strncmp函数,如果两个字符串前面的strlen(&str1)或(&str2)数值相等即输出this is true flag!
所以本题flag{HappyNewYear!}
第四步 得到结果