- gef
-- xinfo [register]
xinfo – Retrieve and display runtime information for the location(s) given as parameter.
-- telescope $xx l(line)[number]
枚举栈的指定行数的内容。l
表示:line 后面跟行数
-- pi [gef 自带的bash 命令] 如:gef:pi print('xx')
-- ! [本地机器的bash命令] 如: gef: ! wget www.baidu.com
pi命令加bash命令,可以直接执行命令。
-- pattern create [number]
-- pattern offset [number]
-- pattern search [number | registers($esp / $eip)]
gef扩展命令
Run the download script
$ git clone https://github.com/hugsy/gef-extras
安装完后,进行配置,主要是字典,在gef中输入以下命令,并保存:
gef➤ gef config gef.extra_plugins_dir /root/gef-extras/scripts
gef➤ gef save
结果:
Configuration saved to '/root/.gef.rc'
cd /root/gef-extras/scripts (就可以使用exploit脚本了)
gef扩展命令:skel
gef-skel.py 插件使用(依赖pwntools),因为要 gdb.attach
,所以最好是开启tmux
,理解为复合窗口,否则一个pty会显示错误,具体tmux
的使用详见:
tmux使用
原生成的脚本默认有错误:
gdb.attach(r, '\n'.join(["break *{:#x}".format(x) for x in bkps] + cmds))
把原格式化里的{}
和前面的*
去掉,修改为:
gdb.attach(r, '\n'.join(["break {}".format(x) for x in bkps] + cmd s))