gdb - 我在使用 GDB 'find' 命令时做错了什么?
问题描述
首先,我正在查看的内存:
(gdb) x/8x 0x108df0
0x108df0: 0x36393735 0x2d007d37 0x65707974 0x6574203a
0x108e00: 0x702f7478 0x6e69616c 0x6863203b 0x65737261
现在,对单词大小的内存块运行 find 可以:
(gdb) find /w 0x108df0, +500, 0x6863203b, 0x65737261
0x108e08
0x108e58
2 patterns found.
但是,就字节而言,运行我认为应该是相同的命令不会:
find /b 0x108df0, +500, 0x68, 0x63, 0x20, 0x3b, 0x65, 0x73, 0x72, 0x61
Pattern not found
find /b1 0x108df0, +500, 0x68, 0x63, 0x20, 0x3b, 0x65, 0x73, 0x72, 0x61
Pattern not found
同样,寻找大词也行不通:
find /g 0x108df0, +500, 0x6863203b65737261
Pattern not found
有人对我在这里做错了什么有任何建议吗?(我通过 python API 来做这件事,以防万一?)
解决方案
您很可能在一台little-endian机器上执行此练习。
尝试反转字节:
find /b 0x108df0, +500, 0x3b, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65
推荐阅读
- nginx - URL的nginx位置proxy_pass
- python - 如何使用 Python elasticsearch_dsl 在分析器中包含 shingle elasticsearch 过滤器
- python - 如何通过 Python 列表避免访问节点
- excel - 如果满足多个条件,则选择语句
- sql - 文本名称上的 SQL 连接表(而不是按 id)
- abaqus - 在 Abaqus 中的 *Instance entry 中计算平移和旋转轴和角度
- javascript - 使用 vuex mapGetters 在用户的状态 obj 中进行迭代
- python - 在我的 Python 脚本中从 Delphi DLL 获取 PChar 参数
- c++ - 如何使用 ndk-build.cmd 构建 Android .so 文件
- node.js - 为什么等待后的布尔赋值会触发原子更新错误?