gdb用法


PWN入門使用 2018-02-16 16:10:23

GDB是一個由GNU開源組織發布的、UNIX/LINUX操作系統下的、基於命令行的、功能強大的程序調試工具。

敲gdb進入gdb-peda

file pwn1 #選擇加載的文件

gdb -q

# -q 靜默模式

gdb: r(run ) #執行

gdb:disas main   #反編譯main()函數 經常用

 

gdb:b (break) #設置斷點

b func_name #對函數下斷點

b *addr   #對地址下斷點

info b   # 查看斷點

分別對應寄存器取值情況/代碼/棧的情況

info r(egister) #查看寄存器情況

ni #單步調試

si #step into 步進 進到某個函數里面

bt  #backtrace 查看現在的堆棧情況   對於了解程序執行比較有用

c  #continue 繼續執行到下一個斷點

 


打印地址的值

x/wx adress #打印該地址的值,w代表 word.在32位嵌入式系統中,一個字WORD占32bit,即4個字節,1個字節=bit。

如x/10wx 0xffffce90 #10代表打印10個,w代表32位,可以換為b/h/g 分別對應1  2  8byte, x可以替換為 u (unsigned int ) s(string) d(10進制) i(指令)

 


 

set *addr =value #設置地址的值

list  #列出源碼

print val_name #打印變量值

info locals #查看所有局部變量的值

在cmp eax edx處下斷點 然后r執行

set $eax=$edx 敲擊回車。。


gdb-peda 版本中的好用的功能

elfsymbol #可以把程序中的函數以及地址列出來 做ROP特別有用

vmmap #查看進程中的權限

readelf  #查看section

find 字符串  #查找在內存中查找字符串 如/bin/sh(就是shell)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM