在学最初级的逆向,感觉如果能够把x 0x400da0
之后显示的函数内容直接打印到纸上,然后在后面自己手写注释是最舒服的。但是我查看了gdb
所有的命令,发现并没有可以打印到纸上的,同时我又不想通过 pipeline 来输出到打印机,请问有办法在 gdb 内部完成这个事项吗?谢谢~~
1
lonewolfakela 2020-07-22 09:41:15 +08:00
所以你为啥不想通过 pipeline 来输出到打印机呢……
|
2
levelworm OP @lonewolfakela 能够在 gdb 里头不用退出就行么?如果可以的话最好了,多谢!
话说还不知道如何 pipe 进打印机不过让我查一下。。。 |
3
listenerri 2020-07-22 10:29:53 +08:00 1
据我所知 gdb 支持 python/shell 扩展,楼主可以想一下怎么自己实现打印,贴一下我的部分配置:
``` # pretty print qt type value # "Lekensteyn/qt5printers" github project needed be cloned into "~/.config/gdb/" python import sys, os.path sys.path.insert(0, os.path.expanduser('~/.config/gdb')) import qt5printers qt5printers.register_printers(gdb.current_objfile()) end # hexdump specified memory block define hexdump dump memory /tmp/dump.bin $arg0 $arg0+$arg1 shell hexdump -C /tmp/dump.bin end # alias for above hexdump define hd dump memory /tmp/dump.bin $arg0 $arg0+$arg1 shell hexdump -C /tmp/dump.bin end ``` |
4
lonewolfakela 2020-07-22 12:05:45 +08:00 1
@levelworm 如果是不想退出的话,可以参考 https://stackoverflow.com/questions/5941158/gdb-print-to-file-instead-of-stdout,设置 gdb 把输出写进文件里,之后打印文件什么的应该就没啥困难的了
|
5
lamy 2020-07-22 13:13:55 +08:00 via Android 1
还有个方法,shell 里执行 script,会把 shell 的所有输出输出到文件
|