LLVM-STRINGS(1)

πŸ“¦ version 15.0.7, in opensuse-leap 16.0

πŸ’– NAME πŸ’–

llvm-strings β€” print strings. Bestie, this is the LLVM-STRINGS(1) manual page, and it's giving "find the printable bits in your files" energy. πŸŽ€

🌸 SYNOPSIS 🌸

llvm-strings [options] [input...]

✨ DESCRIPTION ✨

okay so llvm-strings is a tool intended as a drop-in replacement for GNU's strings. It looks for printable strings in files and writes them to the standard output stream. πŸ’…

A printable string is any sequence of four (by default) or more printable ASCII characters. The end of the file, or any other byte, terminates the current sequence. No cap.

llvm-strings looks for strings in each input file specified. Unlike GNU strings it looks in the entire input file, regardless of file format, rather than restricting the search to certain sections of object files. It's literally reading the whole vibe of the file. 🌈

If - is specified as an input, or no input is specified, the program reads from the standard input stream. Yep, stdin main character energy. πŸ¦‹

πŸ“ EXAMPLE πŸ“

$ cat input.txt
bars
foo
wibble blob
$ llvm-strings input.txt
bars
wibble blob

Notice how foo doesn't make the cut here β€” the default minimum is 4, bestie. πŸ’€

πŸ‘‘ OPTIONS πŸ‘‘

  • --all, -a β€” Silently ignored. Present for GNU strings compatibility. It's giving "I'm here for the vibes and the compat," not actual functionality. πŸ™ˆ
  • --bytes=<length>, -n β€” Set the minimum number of printable ASCII characters required for a sequence of bytes to be considered a string. The default value is 4. Literally the length gatekeeper. πŸŽ€
  • --help, -h β€” Display a summary of command line options. Your little cheat sheet, bestie. πŸ’–
  • --print-file-name, -f β€” Display the name of the containing file before each string.

Example:

$ llvm-strings --print-file-name test.o test.elf
test.o: _Z5hellov
test.o: some_bss
test.o: test.cpp
test.o: main
test.elf: test.cpp
test.elf: test2.cpp
test.elf: _Z5hellov
test.elf: main
test.elf: some_bss
  • --radix=<radix>, -t β€” Display the offset within the file of each string, before the string and using the specified radix. Valid <radix> values are o, d and x for octal, decimal and hexadecimal respectively.

Example:

$ llvm-strings --radix=o test.o
    1054 _Z5hellov
    1066 .rela.text
    1101 .comment
    1112 some_bss
    1123 .bss
    1130 test.cpp
    1141 main
$ llvm-strings --radix=d test.o
    556 _Z5hellov
    566 .rela.text
    577 .comment
    586 some_bss
    595 .bss
    600 test.cpp
    609 main
$ llvm-strings -t x test.o
    22c _Z5hellov
    236 .rela.text
    241 .comment
    24a some_bss
    253 .bss
    258 test.cpp
    261 main
  • --version β€” Display the version of the llvm-strings executable. Slay, version check. ⭐
  • @<FILE> β€” Read command-line options from response file <FILE>. Response file era, iykyk. 🧚

πŸ’€ EXIT STATUS πŸ’€

llvm-strings exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0. So 0 is the good vibe, non-zero means something went sideways. No cap.

πŸ› BUGS πŸ›

To report bugs, please visit https://github.com/llvm/llvm-project/labels/tools:llvm-strings/. The LLVM team wants the receipts, bestie. 🫢

🌟 AUTHOR 🌟

Maintained by the LLVM Team (https://llvm.org/). Periodt.

2003-2023, LLVM Project.


xoxo πŸ’œ β€” this was LLVM-STRINGS(1) from LLVM 15, dated 2023-01-14. Now go find those printable strings, bestie! πŸ¦‹βœ¨

πŸ“¦ where this page comes from