《从0 到1 CTFer成长之路》逆向工程基础


前言

博主是一名刚刚开始学习逆向的小白,学习过程中想通过写博客记录过程进行复习,有不足恭请指正。
本篇主要讲利用IDA调试器取得内存中的flag


—、IDA调试器

IDA自身内带调试器,可以同时用上IDA和HexRays的分析功能,可以对反编译的伪代码进行调试获得如源代码调试般的体验。
IDA pro安装请看B站大佬:https://www.bilibili.com/video/BV1uA411V7LK

二、操作步骤

1.断点设置

我们首先将4-debug.exe载入IDA后按下F5显示伪代码
之后在界面中的printf语句中按F2或点击语句左边蓝色小圆点下一个断点
如图
在这里插入图片描述

2.开始调试

按下F9或选左上角debugger选项进入调试
后选择后端为Local Windows debugger,即可使用IDA内置调试器
在这里插入图片描述
在弹出的确认对话框中选择Yes即可开始调试
(被调试文件默认路径为输入文件的路径,如需调整路径可通过“Debugger->Process options”菜单目录进入调整)

在这里插入图片描述之后进入如下页面
后按下F5即可看到在调试状态下看到伪代码
在这里插入图片描述选择“Debugger->Debugger windows->Locals”菜单命令打开查看局部变量的窗口

在这里插入图片描述在这里插入图片描述之后按下F8一直到程序执行到scanf语句位置,会发现程序进入运行状态,在程序运行窗口随意输入一些值后按下回车
在这里插入图片描述即可在Locals窗口看到我们输入的值(变量红色表示变量值有变化)
在这里插入图片描述

后继续执行程序到base64_decode位置,可以看到v5的值发生了变化,并且其位置为RDI
在这里插入图片描述后在寄存器窗口可以看到RDI对应的值,点击旁边小箭头即可在反汇编窗口跳到对应位置
在这里插入图片描述flag已清晰可见
在这里插入图片描述选中地址按a键即可将其转为字符串显示
在这里插入图片描述

之后可在伪代码界面将v5类型修改为char*(按Y键输入char*)将其转为字符串并在Locals窗口右键Refresh刷新即可在Locals窗口显示字符串

在这里插入图片描述成功找到flag!

感谢观看
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值