-
-
[原创] 第一题 Hello-CTF的两种解法
-
发表于: 2017-10-24 17:46 2310
-
首先是基本信息收集:查壳,没有;运行程序,记下界面上出现的字符,随便输入个code,记下弹出的错误信息。
方法一:字符串线索。
code为空时,提示要输入pass,这里离code的校验入口应该很近,在IDA中搜索pass,很幸运来到这里:

对“请输入pass!”查找引用,只用一处,在sub_4017f0处,F5:

作者很友好,strcmp,还是明文字符串,‘WelcomeToKanXueCtf2017’,果断
拿来试试,很好,正解:

方法二:API断点
OD载入,等程序出现注册码输入窗口后,对GetWindowText下断,输入测试
code,断下来,查看调用栈,从栈顶往下,找到第一个调用点来自hello模块的
地址:

调用点在函数sub_4017f0中,等等,不就是方法一种字符串“请输入pass!”被
引用的地方嘛,接下来的步骤和方法一相同(略)。
赞赏
赞赏
雪币:
留言: