at_shiita.ishigaki
2022年3月2日 8時52分
本ブログでは以下のコマンドで作成したa.outを使用します。
[armadillo ~]# apt install gcc [armadillo ~]# cat hello.c #include <stdio.h> int main(void) { printf("Hello World\n"); return(0); } [armadillo ~]# gcc hello.c [armadillo ~]# ls a.out a.out
ファイル内の表示可能な文字列を表示するにはstringsコマンドを使用します。
[armadillo ~]# strings a.out :(省略) .init_array .fini_array .dynamic .got .data .bss .comment .ARM.attributes
stringsコマンドはデフォルトでは4文字以上の文字列を出力します。これを変更するには-nオプションを使用します。
[armadillo ~]# strings -n 50 a.out /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/Scrt1.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o /usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crtn.o
複数ファイルを同時に表示することも可能です。-fオプションをつけることで、出力される文字列の前にファイル名が表示されます。
[armadillo ~]# strings -f a.out hello.c :(省略) a.out: .got a.out: .data a.out: .bss a.out: .comment a.out: .ARM.attributes hello.c: #include <stdio.h> hello.c: int main(void) hello.c: printf("Hello World\n"); hello.c: return(0);