save command in order to write a region from an IO
space into a file in your file system.
This command has the following synopsis.
save [:ios ios] [:from offset] [:size offset] [:file string] [:append bool] [:verbose bool]
All arguments are optional. When invoked with no arguments,
save does nothing.
size are used to determine the
region of the IO space to save. This is how you would extract and
save the contents of an ELF section to a file out.text:
(poke) var s = elf_section_by_name (Elf64_Ehdr @ 0#B, ".text") (poke) save :file "out.text" :from s.sh_offset :size s.sh_size
size are arbitrary offsets. You should
keep in mind however that files are byte oriented. Therefore saving,
say, nine bits to a file will actually write two bytes.
save will extract the data from the current
IO space. However, it is possible to specify an alternative IOS by
save will truncate the output file, if it exists,
before starting writing. If the argument
set as true, however, it will append to the existing contents of the
file. In this case, the file should exist.