ShellCode二进制代码调试实战

二进制代码调试代码在这个层面阅读起来并不会像脚本一样清晰明朗,所以整个分析过程需要耐心和细心。我们先从调试工具的用法开始,介绍常用的调试工具和一些基础的调试概念。之后,我们将成一段简单的Shellcode开始带领大家逐渐熟悉Shellcode的编写和Shellcode调试的实践方法。

1、调试工具的用法

欲若工其利,必先利其器。在调试Shellcode之前,我们需要选择一款合适的调试工具。在Windows平台上,较为著名的调试工具有Windbg、IDA、OllyDbg,它们每一个都有独自的特色,这里我们将介绍这三个调试器的用法。大家自可寻找适合自己的调试器进行调试。

1. 调试符号

调试符号(下也简称“符号”)可以告诉调试器某一个地址上的数据到底是代表着什么含义。符号可以提供许多重要信息,例如哪些代码是结构体信息、变量名称、函数名称、参数类型等,这对调试漏洞和分析崩溃尤为重要。

微软的编译器生成的符号文件称作PDB文件(Program DataBase File)。调试符号能够与可执行文件捆绑编译,但是这样可执行文件体积会变得庞大,而且,商业软件也并不一定希望自己的符号文件随着可执行文件一起发布。所以现在大多数程序的符号一般都是和可执行文件分开保存的。

在调试时我们需要在调试器中指定符号文件的位置。微软和其他一些公司都建立了公开服务器,服务器上存放了微软的二进制文件的符号文件,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wespten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值