it-swarm.asia

Linux İkili veya ASCII olmayan dosyada Dizeleri bulma komutu

Tüm ascii dizelerini yürütülebilir veya diğer bir ikili dosyadan ayıklamak için linux komutu var mı? Sanırım bunu bir grep ile yapabilirdim, ama böyle bir komutun var olduğunu bir yerde duyduğumu hatırlıyorum?

40
Ethan Heilman

Aradığınız komut strings

Adı oldukça açıklayıcıdır, belirli bir dosyadan yazdırılabilir herhangi bir dizeyi alır.

man strings şunu verir:

İPLERİ (1)

[~ # ~] isim [~ # ~]
strings - bir nesnede veya başka bir ikili dosyada yazdırılabilir dizeleri bulun

[~ # ~] özet [~ # ~]
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]

72
drAlberT

strings komutu, bu tür sorunlar için gidilecek yoldur. Bazen grep 'a da göndermelisiniz.

Örneğin:

strings somebinaryfile | grep textuwanttofind
11
luis.espinal

Komut var ve .... dizeleri!

4
Mark

od komutu bunu yapabilir:

od -c *filename*
3
Kyle Brandt

Dizeleri kullanmayla ilgili bir sorun, çevreleyen yazdırılamayanları görmemeniz ve minimum dize uzunluğuna dikkat etmeniz gerektiğidir.

Kullanırken bir sorun

od -c DOSYA
hexdump -C DOSYA

Bunun için çok sevdiğim bir şey ZTreeWin Linux'ta WINE'da çalışıyor - bununla çok şey yapabilirsiniz, ancak herhangi bir dosyada veya düzenleme ikili dosyalarında arama yapmak özellikle yararlı olabilir.

Harika ytree paketi birçok Linux ve Unix varyantı için mevcuttur ve herhangi bir dosyanın iyi bir Hex dökümü görünümüne sahiptir, ancak ZTreeWin (ve 16bit selefi XTree) aramasına sahip değildir.

2
qeff