前言
CTF 是实战性很强的赛事。仅学习理论知识,不进行实操,永远无法成为 CTF 大神。从本篇博客开始,我将选择有代表性的历年CTF比赛题目,介绍解题过程,工具使用以及讲解知识点。
题目介绍
本次讲解的是出自2017年第三届上海市大学生网络安全大赛的一道逆向题,题目分值50分,主要考点有算法分析、nspack脱壳、主流工具使用等。
准备工具
- ExeinfoPe 工具,可以查询软件信息
- OD 反汇编工具,用于动态调试
- OllyDumpEx 工具,进程内存转储器,OD 中默认包含 OllyDump 插件
- IDA 反编译工具,逆向界的神器。
解题过程
- 运行软件
直接在虚拟机中运行程序。可以发现,如果输入的flag 错误,软件直接退出运行。
- 用 ExeinfoPe 查看软件信息
可以看到软件是32位的Windows console 程序且加了 nsPack 3.x 壳。
- 使用 esp 定律法脱壳
将软件用OD打开,按下F8单步运行。