如何更高效地调试你的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

执行效果如下 :

Paste_Image.png
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容