使用lldb查找字符串内存

时间:2014-06-26 13:16:57

标签: string macos lldb mach-o

您好我正在尝试在mac os上找到lldb中字符串的地址。

在GDB中,我会使用find命令和地址进行搜索。 但是我找不到lldb这样的命令,我知道字符串在cstring部分,在我的例子中是0x00000000002e4f08-0x000000000032e0a8。 但我需要确切知道在哪里。

2 个答案:

答案 0 :(得分:3)

如果您可以访问Xcode 6预发布工具,则lldb会包含一个新的memory find命令来执行此操作。几个月前,恩里科增加了这个命令的快速实现。

答案 1 :(得分:1)

一个简单的示例,该示例使用三个lldb命令sectionmemory findmemory read在剥离的发行版应用程序中查找字符串。

(lldb) section 
[0x0000010462c000-0x00000107744000] 0x0003118000 MyApp`__TEXT
[0x00000107744000-0x00000107d48000] 0x0000604000 MyApp`__DATA
/* removed sections for brevity */

(lldb) mem find -s "youtube" -- 0x00000107744000 0x00000107d48000
data found at location: 0x10793362c
0x10793362c: 79 6f 75 74 75 62 65 2e 63 6f 6d 2f 65 6d 62 65  youtube.com/embe


(lldb) memory read -c100 0x10793362c
0x10793362c: 79 6f 75 74 75 62 65 2e 63 6f 6d 2f 65 6d 62 65  youtube.com/embe
0x10793363c: 64 2f 58 46 67 45 59 75 35 71 66 36 38 3f 61 75  d/XFgccu5qf68?a