如何更高效地调试你的shellcode


今天发现了 gdb 的一个功能很好用 , 分享出来 :

GDB 的宏定义功能

具体的使用方法是 :

键入 define [KEYWORD]

然后输入你想要在输入 KEYWORD 的时候执行的命令
每一行输入一条
输入 end 可以结束输入
这里总结了一个比较简单的宏定义 :

define k
si
printf "--------------------------------------   [Stack]   --------------------------------------\n"
x /16xb $esp
printf "-------------------------------------- [Registers] --------------------------------------\n"
printf "[eax]:%08x\t[ebx]:%08x\t[ecx]:%08x\t[edx]:%08x\n", $eax, $ebx, $ecx, $edx
printf "[esi]:%08x\t[edi]:%08x\t[esp]:%08x\t[ebp]:%08x\n", $esi, $edi, $esp, $ebp
printf "[cs] :%04x\t[ss] :%04x\t[ds] :%04x\t[es] :%04x\t[fs] :%04x\t[gs] :%04x\n", $cs, $ss, $ds, $es, $fs, $gs
printf "[eip]:%08x\t[eflags]:%08x\n", $eip, $eflags
printf "--------------------------------------   [Codes]   --------------------------------------\n"
x/8i $pc
printf "=========================================================================================\n"
end

执行效果如下 :

如何更高效地调试你的shellcode_第1张图片
Paste_Image.png
如何更高效地调试你的shellcode_第2张图片
Paste_Image.png

你可能感兴趣的:(如何更高效地调试你的shellcode)