CTFer成长之路--一道历届逆向题解题过程(包含脱壳、算法分析)

本文介绍了CTF比赛中的逆向题解题过程,涉及2017年上海市大学生网络安全大赛的一道逆向题。通过使用ExeinfoPe、OD、OllyDumpEx和IDA等工具,完成了软件脱壳和算法分析。在IDA中通过分析字符串和伪代码,编写解密脚本,成功获取flag。文章重点梳理了脱壳原理、ESP定律、IDA分析技巧和IDA Python的使用。
摘要由CSDN通过智能技术生成

前言

CTF 是实战性很强的赛事。仅学习理论知识,不进行实操,永远无法成为 CTF 大神。从本篇博客开始,我将选择有代表性的历年CTF比赛题目,介绍解题过程,工具使用以及讲解知识点。

题目介绍

本次讲解的是出自2017年第三届上海市大学生网络安全大赛的一道逆向题,题目分值50分,主要考点有算法分析、nspack脱壳、主流工具使用等。

准备工具

  1. ExeinfoPe 工具,可以查询软件信息
  2. OD 反汇编工具,用于动态调试
  3. OllyDumpEx 工具,进程内存转储器,OD 中默认包含 OllyDump 插件
  4. IDA 反编译工具,逆向界的神器。

解题过程

  1. 运行软件
    直接在虚拟机中运行程序。可以发现,如果输入的flag 错误,软件直接退出运行。
    在这里插入图片描述
  2. 用 ExeinfoPe 查看软件信息
    在这里插入图片描述

可以看到软件是32位的Windows console 程序且加了 nsPack 3.x 壳。

  1. 使用 esp 定律法脱壳
    将软件用OD打开,按下F8单步运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值