Reverse2
在IDA中通过搜索定位到此图表
选中后F5生成伪代码
点击查看代码
for (j = 0; ; ++j)
{
v8 = j;
v2 = j_strlen(Str2);
if (v8 > v2)
break;
if (Str2[j] == 111)
Str2[j] = 48;
}
ASCII中111为'o';48为'0'
可以发现,它对我们输入的 str1 与程序里的 str2 做比较,str2 是{hello_world},而在开始前会将 str2 中的字母 o 替换为数字 0,于是得到 flag
点击查看代码
if (Str2[j] == 111)
Str2[j] = 48;
}
sub_1400111D1("input the flag:");
sub_14001128F("%20s", &Str1);
v3 = j_strlen(Str2);
if (!strncmp(&Str1, Str2, v3))
sub_1400111D1("this is the right flag!\n");
else
sub_1400111D1("wrong flag\n");
sub_14001113B(&v5, &unk_140019D00);
return 0i64;
}