-
-
[原创]看雪CTF.TSRC 2018 团队赛第十题侠义双雄WP
-
发表于:
2018-12-20 19:38
6280
-
[原创]看雪CTF.TSRC 2018 团队赛第十题侠义双雄WP
可执行文件是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
[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!
最后于 2018-12-21 16:44
被ODPan编辑
,原因: