当前位置: 代码迷 >> 综合 >> 2017-DDCTF-RE-evil
  详细解决方案

2017-DDCTF-RE-evil

热度:68   发布时间:2023-12-04 05:59:17.0

分析


首先使用IDA分析,发现被加了壳。使用die查壳

为upx壳,使用脱壳软件脱壳失败后,开始使用手脱。

进入程序后就发现这里有一个jmp大跳,这是壳的特征。直接跟进

来到一个pushad,使用ESP定律。在执行完pushad后记录下堆栈顶

下硬件读断点,然后直接F9来到这里,看到还有一个jmp。跟进

这里就来到了OEP处了

然后使用ODdump脱壳,因为是UPX壳所以不需要修复IAT表

脱壳后的程序继续在IDA里分析。

进入第一个函数,查阅相关API函数得知该函数作用

进入第二个函数继续查看

这里参数数量为2就删除自己,再跟进第三个函数。

这里的整体流程为 下载一张指定url处的图片。因为不存在,所以需要自己构建一下本地服务器,推荐使用phpstudy这样的一体化,在www文件夹下放x.jpg文件。然后修改host文件,增加 127.0.0.1 http://www.ddctf.com.即可然后跟进运行即可获得flag

DDCTF-01c981e4d5ea4da6b38b2990abbaf411@didichuxing.com

总结

这里题目本身对我来说的难点是对于一些恶意代码的分析。作为新手,为了以后使用方便,弄了个windows虚拟机来为将来调试恶意代码做准备。其实早该弄了,只是一直没遇到,就懒得弄。这题的主要收获还有一些API的使用,也算是开拓了自己的一些视野。另外继续练习了手动脱壳。至于本地服务器搭建,因为以前做过PHP开发,所以不算难点。

明日计划

  1. 保持学业上相关课程的学习

  2. 完成pediy18-10

  3. 攻防世界下一题。