如何使用LLDB修改内存内容?

5 assembly gdb hexdump lldb osx-mavericks

在GDB中,下面显示的等效lldb命令是什么?

(gdb)set {char} 0x02ae4 = 0x12

这些值是任意的例子.使用GDB,我可以轻松编辑给定十六进制地址的字节代码,同时查看终端中的转储.自从我升级为小牛队以来,我一直试图用lldb来捣乱,但我在一些领域遇到了困难.也许它甚至没有这个功能..

Kam*_*olo 12

根据lldb-basics指南, LLDB的替代方案是memory write.

(lldb) help memory write定义了这样的输入格式:

memory write -i <filename> [-s <byte-size>] [-o <offset>] <address> <value> [<value> [...]]

   -f <format> ( --format <format> )
        Specify a format to be used for display.

   -i <filename> ( --infile <filename> )
        Write memory using the contents of a file.

   -o <offset> ( --offset <offset> )
        Start writng bytes from an offset within the input file.

   -s <byte-size> ( --size <byte-size> )
        The size in bytes to use when displaying with the selected format.
Run Code Online (Sandbox Code Playgroud)

所以,在你的情况下,类似的东西(lldb) memory write 0x02ae4 0x12应该工作.