如何在LLDB中扫描内存以查找十六进制值的数组?

时间:2018-12-27 14:01:51

标签: debugging lldb

我想在内存中找到N(例如16个)字节的十六进制。在gdb中,我只是这样做:

find /b memrange_start, memrange_end, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f

它完美无瑕。 lldb中的等效项是什么?我尝试过:

(lldb) me find -e "0x01 0x02 0x03" -- 0x00000001050e8000 0x00000001050e9000

但是它只是寻找最后一个字节(0x03)。使用-s参数和“ \ x00 \ x01 \ x02 \ x03(...)\ x0f”的字符串搜索也不起作用。此外,当我尝试各种组合时,偶然发现了此错误:

(lldb) me find -e "{0x01, 0x02}" 0x7fffbe6abfc6 0x7fffbe6abfcf
error: result size larger than 8 bytes. pass a string instead

请不要告诉我,“-e”限制为8个字节:(我是否错过了一些简单的方法来扫描内存中16字节的十六进制虚拟地址?

0 个答案:

没有答案