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?
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:
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 lainnyaRINGKASAN
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]
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
Perintah od dapat melakukan ini:
od -c *filename*
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 FILEatau
hexdump -C FILEadalah 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).