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?

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 ...]


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


3

Perintah od dapat melakukan ini:

od -c *filename*

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).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.