Kali linux 的gdb安装
一、安装GDB
step 1
首先要检查一下自己是否安装过gdb了
终端中输入gdb -v即可
step2
直接在终端中用wget命令下载:wget http://ftp.gnu.org/gnu/gdb/gdb-8.0.1.tar.gz,这是一个压缩包
wget http://ftp.gnu.org/gnu/gdb/gdb-8.0.1.tar.gz
step 3
解压刚才下载的压缩包,指令如下
tar -zxvf /home/kali/Desktop/gdb-8.0.1.tar.gz
/home/kali/Desktop/是我的文件位置
step 4
1.生成makefile文件,指令如下
./configure
2.make(这是为了check文件,大概需要花费3,4min的时间)
make
3.sudo make install,最后一步了,安装即可
sudo make install
4.检查,有两种方法
一种是文章最开始的gdb -v
第二种是直接在终端输入gdb,出现下图即可
二、GDB插件peda的安装
在确保安装好gdb之后进行
在终端中输入两行指令即可
git clone https://github.com/longld/peda.git ~/peda
echo “source ~/peda/peda.py” >> ~/.gdbinit
三、一个小例子
这个题是攻防世界的逆向进阶题,大家可以试试看,链接是这个simple-check-100
我们跳过ida中的分析,直接进行到gdb-peda部分
指令如下:
gdb
file /home/kali/Desktop/task9_x86_64_46d01fe312d35ecf69c4ff8ab8ace75d080891dc
指令如下:
b mian
r
然后就会出现如下的图片
之后的指令如下:
n
n的意思是单步跳跃
直到看到这个图片
然后我们设置这个eax的值,指令如下:
set $eax=1
n跳过这步,按c,我们看到了flag如图:
附上一些指令:
file 路径 附加文件
r 开始执行
c 继续执行
step 单步步入
next 单步步过
b *地址 下断点
enable 激活断点
disable 禁用断点
info b 查看断点
del num 删除断点
x/wx $esp 以4字节16进制显示栈中内容
stack 100 插件提供的,显示栈中100项
find xxx 快速查找,很实用
s 按字符串输出
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。
x/<n/f/u>
n、f、u是可选的参数。
b表示单字节,h表示双字节,w表示四字 节,g表示八字节
但是实际的组合就那么几种:
x/s 地址 查看字符串
x/wx 地址 查看DWORD
x/c 地址 单字节查看
x/16x $esp+12 查看寄存器偏移
set args 可指定运行时参数。(如:set args 10 20 30 40 50)
show args 命令可以查看设置好的运行参数。
希望大家可以学到一些东西,。