Perintah Linux untuk menemukan Strings dalam file Biner atau non ascii

39

Apakah ada perintah linux untuk mengekstrak semua string ascii dari file biner yang dapat dieksekusi atau lainnya? Saya kira saya bisa melakukannya dengan kasar, tetapi saya ingat pernah mendengar di suatu tempat bahwa perintah seperti itu ada?

Ethan Heilman
sumber

Jawaban:

72

Perintah yang Anda cari adalah strings

Namanya cukup jelas, ia mengambil string yang dapat dicetak dari file yang diberikan.

man strings memberi:

STRING (1)


String NAME - temukan string yang dapat dicetak dalam suatu objek, atau file biner lainnya

RINGKASAN
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]

drAlberT
sumber
10

The string perintah adalah cara untuk pergi untuk jenis tertentu dari masalah. Kadang-kadang Anda juga harus menyalurkannya ke grep .

Sebagai contoh:

strings somebinaryfile | grep textuwanttofind
luis.espinal
sumber
4

Perintah itu ada, dan disebut .... string!

Menandai
sumber
3

Perintah od dapat melakukan ini:

od -c *filename*
Kyle Brandt
sumber
3
ya, itu mengekstrak karakter ASCII, tapi itu bukan benar-benar string, per se. Saya pikir 'string' lebih berguna untuk sebagian besar kasus.
user5336
Ya, tidak tahu tentang perintah itu, tetapi saya lakukan sekarang! AlberT mendapatkan '+1' :-)
Kyle Brandt
2

Masalah dengan menggunakan string adalah bahwa Anda tidak melihat yang tidak dapat dicetak di sekitarnya dan Anda harus berhati-hati dengan panjang string minimum.

Masalah saat menggunakan

od -c FILE
atau
hexdump -C FILE
adalah bahwa urutan dapat sulit ditemukan jika membungkus garis.

Sesuatu yang sangat saya sukai untuk ini adalah ZTreeWin yang berjalan di WINE di Linux - Anda dapat melakukan banyak hal dengannya tetapi pencarian dalam file apa saja atau mengedit binari dapat sangat berguna.

Paket ytree yang luar biasa tersedia untuk banyak varian Linux dan Unix dan memiliki tampilan dump Hex yang baik untuk file apa pun tetapi tidak memiliki pencarian yang dimiliki ZTreeWin (dan pendahulunya 16bit, XTree).

qeff
sumber