首页
社区
课程
招聘
[原创]看雪CTF.TSRC 2018 团队赛第十题侠义双雄WP
发表于: 2018-12-20 19:38 6209

[原创]看雪CTF.TSRC 2018 团队赛第十题侠义双雄WP

2018-12-20 19:38
6209

可执行文件是Delphi编写。
尝试寻找checkMyFlag按键处理函数,作者是有意隐藏了。在错误提示界面有显示“VBScript”转而查看脚本信息。

这里我们可以看到,checkMyFlag相关处理和ckpswd() 和 pswd敏感信息。
在引用aScriptLanguage处下断点。

无意中在eax中指向的地址发现了如下信息:

逻辑看上去是个判断pw脚本,使用“kanxueCTF2018bySimpower91”测试了一下,居然通过了。肯定是个非预期了。

这个脚本从何而来呢?在引用脚本的上面存在这样一段代码,其中内部还有一部分加密的数据。

分析发现,函数467ACC() 将代码中的加密代码数据进行了解密,反汇编,重定位,动态解析执行,一条一条语句的执行。还原的程序解密了上面看到的脚本。
467ACC()-> 467878() -> 46750C()-->467938()

467974()函数将0x4691AF所在数据(加密的代码)与0xFF异或解密,每次解密16个字节。如上所述经过了解密,反汇编,重定位的过程,组织好了一条汇编指令。

指令准备好了,而指令又在那里执行的呢?

我们可以看到EIP跳转到0xA4038执行了一条指令,然后返回到0x467B10

继续下一条。
所有加密代码还原后如下:

还原完代码,继续还原脚本,解密后的代码中有个函数sub_4677EC(),该函数还原脚本文件。

解密后的数据,就是我们开头看到的文本内容了

Flag:kanxueCTF2018bySimpower91

最后于 2018-12-21 16:44 被ODPan编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (2)
雪    币: 10845
活跃值: (1054)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
2
佩服楼主的钻研精神
不仅“杀人”,而且“诛心”
2018-12-21 18:13
0
雪    币: 6779
活跃值: (1134)
能力值: ( LV12,RANK:782 )
在线值:
发帖
回帖
粉丝
3
看场雪 佩服楼主的钻研精神[em_63] 不仅“杀人”,而且“诛心”[em_19]
被你惨虐的后遗症
2018-12-21 19:22
0
游客
登录 | 注册 方可回帖
返回
//