linux之strings命令

strings 命令是二进制工具集 GNU Binutils 的一员,用于打印文件中可打印字符串,strings命令在对象文件或二进制文件中查找可打印的字符串。字符串是4个或更多可打印字符的任意序列,以换行符或空字符结束。 strings命令对识别随机对象文件很有用。
命令语法
strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [ file ... ]

命令选项
-a --all:扫描整个文件而不是只扫描目标文件初始化和装载段 -f –print-file-name:在显示字符串前先显示文件名 -n –bytes=[number]:找到并且输出所有NUL终止符序列 - :设置显示的最少的字符数,默认是4个字符 -t --radix={o,d,x} :输出字符的位置,基于八进制,十进制或者十六进制 -o :类似--radix=o -T --target= :指定二进制文件格式 -e --encoding={s,S,b,l,B,L} :选择字符大小和排列顺序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit @ :读取中选项

列出ls中所有的ASCII文本:
> strings `which pwd` | more /lib64/ld-linux-x86-64.so.2 libc.so.6 fflush strcpy __printf_chk readdir setlocale mbrtowc strncmp optind strrchr dcgettext closedir fchdir ...

查看某一个字符串属于哪个文件
> cd /usr/bin && strings -f * | grep "name"

查看glibc支持的版本
strings /lib64/libc.so.6 | grep GLIBC GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_2.13 GLIBC_2.14 GLIBC_2.15 GLIBC_2.16 GLIBC_2.17 GLIBC_PRIVATE ...

更改分隔符
默认情况下,字符串使用的分隔符是换行符。但是,如果需要,您可以使用 -s 命令行选项自定义分隔符。
> strings -s /ls | more /lib64/ld-linux-x86-64.so.2/ ... $8H/T$@H/D$@H/D$@H/=u|!/D$@H9/D$8t/D$@H/=^y!/=]y!/=Hy!/=+y!/=/y!/G(H; G0/5 s!/-Is!/D$P??/D$@H/D$PL/5|u!/D$8H/D$@H/D$8H/L$$H/L$$L/D$(H/D$@I/D$@H/-Vj!/t$81/=9r!/=P_!/>v|

打印字符序列的偏移量
> strings -t d ls | more 568 /lib64/ld-linux-x86-64.so.2 648_k+ 3817 libselinux.so.1 3833 __gmon_start__ 3848 _init 3854 fgetfilecon 3866 freecon 3874 lgetfilecon 3886 _fini 3892 libcap.so.2 3904 cap_to_text 3916 cap_free 3925 cap_get_file 3938 libacl.so.1 3950 acl_get_entry 3964 acl_get_tag_type 3981 acl_extended_file 3999 libc.so.6

【linux之strings命令】原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站

    推荐阅读