//常用 , 从0x123456开始每个单元八个字节 , 十六进制显示10个单元的数据
x /10xd $rdi //从rdi指向的地址向后打印10个单元 , 每个单元4字节的十进制数x /10i 0x123456 //常用 , 从0x123456处向后显示十条汇编指令p fun_name//打印fun_name的地址 , 需要保留符号
p 0x10-0x08//计算0x10-0x08的结果
p &a//查看变量a的地址
p *(0x123456)//查看0x123456地址的值 , 注意和x指令的区别 , x指令查看地址的值不用星号
p $rdi//显示rdi寄存器的值 , 注意和x的区别 , 这只是显示rdi的值 , 而不是rdi指向的值
p *($rdi)//显示rdi指向的值
disass 0x123456//显示0x123456前后的汇编指令x /10i//我一般喜欢用x显示指令
- list//查看当前附近10行代码 , 要有源码 , list指令pwn题中几乎不用 , 但为了完整性还是简单举几个例子
list 38//查看38行附近10行代码list 1,10//查看1-10行list main//查看main函数开始10行
set $rdi=0x10//把rdi寄存器的值变为0x10set *(0x123456)=0x10//0x123456地址的值变为0x10 , 注意带星号set args "abc" "def" "gh"//给参数123赋值set args "python -c 'print "1234\x7f\xde"'"'//使用python给参数赋值不可见字符
search rdi//从当前位置向后查包含rdi的指令 , 返回若干search -h//查看search帮助 , 我也不太长用这个指令find "hello"//查找hello字符串 , pwndbg独有ropgadget//查找ropgadget , pwndbg独有 , 没啥用 , 可以用其他工具
arena//显示arena的详细信息
arenas//显示所有arena的基本信息arenainfo//好看的显示所有arena的信息
bins//常用 , 查看所有种类的堆块的链表情况fastbins//单独查看fastbins的链表情况largebins//同上 , 单独查看largebins的链表情况smallbins//同上 , 单独查看smallbins的链表情况unsortedbin//同上 , 单独查看unsortedbin链表情况tcachebins//同上 , 单独查看tcachebins的链表情况tcache//查看tcache详细信息
heap//数据结构的形式显示所有堆块 , 会显示一大堆heapbase//查看堆起始地址heapinfo、heapinfoall//显示堆得信息 , 和bins的挺像的 , 没bins好用parseheap//显示堆结构 , 很好用
tracemalloc//好用 , 会跟提示所有操作堆的地方
经验总结扩展阅读
- 四十一 增删查改分页 Java开发学习----MyBatisPlus标准数据层开发
- 中 学习ASP.NET Core Blazor编程系列十——路由
- CC1,3,6回顾
- 图学习【参考资料2】-知识补充与node2vec代码注解
- 二十四 设计模式学习:Spring 中使用到的设计模式
- Java安全之CC3
- TensorFlow深度学习!构建神经网络预测股票价格!?
- JUC学习笔记——共享模型之管程
- Seata Server 1.5.2 源码学习
- 2022极端高温!机器学习如何预测森林火灾?? 万物AI
