首页
社区
课程
招聘
[原创]第十题 侠义双雄
2018-12-20 10:41 3861

[原创]第十题 侠义双雄

2018-12-20 10:41
3861

首先在IDA中顺着main函数往下找,感觉这种语言好像跟平常接触的很不一样,关键的字符串都藏在哪里呢?我用PEiD查了下,是Delphi写的,于是又从看雪工具区下载了DeDeDark,顺便还温习了一下《加密与解密》相关章节,但是我没找到一点有用的东西!后来在IDA找到一些字符串,发现应该是在Delphi中内嵌的vbs脚本。
图片描述

 

修改MsgBox中的vbYesOnly为vbYesNo,弹出下面的消息框,这说明函数出错时调用的确实是这段代码,找到调用这段代码的函数,离成功就不远了。

 

图片描述

 

我本来是要找onclick函数的,也就是vbs代码中的ckpswd()函数,但是我到处也找不到。

 

我搜到的这是函数的导出表吗?因为是vbs函数,所以搜索时不能搜ascii字符串,而要搜Unicode字符串。我看到了GUID,感觉这道题大概会很难,但是为啥大佬们那么短时间就搞出来了呢?

 

图片描述

 

在IDA中hex模式搜索相关字符串,定位到关键代码

 

图片描述

 

我看不懂上面的代码,也搜索不到类似于wrong!<>is not my GUID ;-)的字符串。我把整个文件大概翻看了一遍,找不断其它什么有用的字符串,却发现有个内嵌的PE文件,整出来发现是个dll,也不知道是干啥用的。

 

图片描述

 

最后我让程序运行到调用vbs脚本的代码处,单步调试一番,也搞不懂程序在干什么,我都要绝望了!我看到一个函数名为CMShowingChanged,感觉此处应该比较关键,但是F5之后,我还是看不懂在搞什么。我在内存中搜索字符串wrong,定位到一段有趣的东西,但是这串东西绝对不是GUID呀!但我还是试试吧,我把可疑字符串输入进去,发现居然成功了!

 

图片描述

 

纯属侥幸


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

最后于 2018-12-20 11:44 被Explorerl编辑 ,原因:
收藏
点赞2
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回