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?
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 ...]
strings komutu, bu tür sorunlar için gidilecek yoldur. Bazen grep 'a da göndermelisiniz.
Örneğin:
strings somebinaryfile | grep textuwanttofind
Komut var ve .... dizeleri!
od komutu bunu yapabilir:
od -c *filename*
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.