-
-
[原创]ctf2018初世纪 writup
-
2018-12-1 20:34 1811
-
送分题,没
程序是64位的Windows程序,执行后看到有文本输入框,首先猜测可能会有GetDlgItemText之类获取输入框内容的函数。IDA打开, Imports中搜索GetDlgItemText,看到有GetDlgItemTextA的输入,查找交叉引用,只在sub_13FEA1340函数里面找到调用:![](upload/attach/202002/791462_NVJNM7RA92ZVZTH.jpg)
获取到输入后,接下来的一个if, 查看条件成立的情况时String2指向的数据内容:
strcpy(String2, "序列号错误,再来一次!");
正好是输入错误的提示框。因此, 猜测 if 不应该成立,输入长就为6个字符。if条件长度判断后面正好是对连续内存的6个字符进行检测,把检测的常量转成char后:
if ( v9 != '\x06' || Dst != '6' || v19 != 'E' || v20 != 'w' || v21 != 'i' || v22 != '9' || v23 != 'H' )
得到 6Ewi9H, 验证通过。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
[原创]CTF2018追凶Writeup
2455
[原创]第五题Writeup
2388
赞赏
雪币:
留言: