-
-
[原创] 2019看雪CTF 晋级赛Q2 第一题:神秘来信
-
发表于: 2019-6-11 23:06 2178
-
1、ida分析字符串,找到success关键词,分析发现不属于函数,而是在seh处理中,猜测应该是验证码正确后制造异常,打印出成功。
2、根据ida提示,该异常函数属于 sub_401260,结合OD动态调试。分析代码的逻辑,
其中004012AB 是获取用户的输入数据存储到[ebp-3Ch]。
004012c9 获取输入数据长度在edx,如果小于7则正常处理,否则报错。
由此可知数据长度应该小于7。
3、结合刚才的信息,如果注册码长度为6位,则存储在 [ebp-3ch] -> [ebp -37h],根据下面的代码,004012F9 -> 00401309得知后三位为353。
后面的代码,对前三位数据进行加和,要求小于0x95。于是猜测数据122353进行动态调试。
4、在success标记的代码出,应用有div esi语句,猜测此处通过 /0产生异常从而成功,因此sub esi,eax必须为0,而eax的值来自堆栈中上个函数的返回值。
可以看到 call success之后的地址为401353,所以得到答案,也可以OD动态调试获取当前eax的值。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
看原图
赞赏
雪币:
留言: