首页
社区
课程
招聘
[原创]ctf2018初世纪 writup
发表于: 2018-12-1 20:34 2099

[原创]ctf2018初世纪 writup

2018-12-1 20:34
2099
送分题,没
程序是64位的Windows程序,执行后看到有文本输入框,首先猜测可能会有GetDlgItemText之类获取输入框内容的函数。IDA打开, Imports中搜索GetDlgItemText,看到有GetDlgItemTextA的输入,查找交叉引用,只在sub_13FEA1340函数里面找到调用:

获取到输入后,接下来的一个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, 验证通过。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//