2020SNS-个人CTF-Reverse-学霸的游戏
每天一题,只能多不能少
学霸的游戏
题目分析
简单的逆向+基础英语能力=正确的输入–>get flag
开始
1.题目
给了一个程序,“学霸的游戏”。尝试运行
输入水果的名称,初步判断就是去逆向分析得到正确的值然后输入就可以得到flag了。
2.查壳
无壳
3.IDA分析
丢进IDA
(1)查字符
习惯性shift+F12查strings。
这题比较简单,字符不多。可以直接定位到疑似产生flag的地方。
(2)定位字符并交叉引用
(3)反编译
F5反编译,得到伪代码。据出题的大神说伪代码与真实的C基本一样,尴尬。不过不管一样不一样,逻辑没问题就不影响我们逆向。
(4)函数分析
首先是输入的第一个字符串,首字母必须是c。然后进入check函数:
int __cdecl check(char *a1)
{
char v2; // [esp+1Fh] [ebp-9h]
v2 =