首页
论坛
课程
招聘
[原创] 2019看雪CTF 晋级赛Q2 第一题:神秘来信
2019-6-11 23:06 752

[原创] 2019看雪CTF 晋级赛Q2 第一题:神秘来信

2019-6-11 23:06
752
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的值。



[看雪官方培训] Unicorn Trace还原Ollvm算法!《安卓高级研修班》2021年6月班火热招生!!

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回