Tüm ascii dizelerini çalıştırılabilir veya başka bir ikili dosyadan çıkarmak için herhangi bir linux komutu var mı? Sanırım bir grep ile yapabilirim, ama böyle bir komutun var olduğunu duyduğumu hatırlıyorum.
Tüm ascii dizelerini çalıştırılabilir veya başka bir ikili dosyadan çıkarmak için herhangi bir linux komutu var mı? Sanırım bir grep ile yapabilirim, ama böyle bir komutun var olduğunu duyduğumu hatırlıyorum.
Yanıtlar:
Aradığınız komut strings
Adı oldukça açıklayıcıdır, verilen bir dosyadan yazdırılabilir herhangi bir dize alır.
man strings
verir:
İPLERİ (1)
NAME
dizeleri - yazdırılabilir dizeleri bir nesnede veya başka bir ikili dosyada bulunÖZET
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]
Dizeleri komut sorunların bu özel türü için gitmek yoludur. Bazen de onu ezmek için çıkarmalısın .
Örneğin:
strings somebinaryfile | grep textuwanttofind
Od komutu bunu yapabilir:
od -c *filename*
Dizeleri kullanmakla ilgili bir sorun, çevreleyen basılabilirleri görmemeniz ve minimum dizgi uzunluğuna dikkat etmeniz gerektiğidir.
Kullanarak bir sorun
od -c DOSYAveya
hexdump-C DOSYAbir dizinin bir çizgiyi sararsa olmadığını bulmak zor olabilir.
Bunun için çok hoşuma giden bir şey , Linux'ta WINE'da çalışan ZTreeWin - bununla çok şey yapabilirsiniz, ancak herhangi bir dosyada arama yapmak veya ikili dosyaları düzenlemek özellikle yararlı olabilir.
Müthiş ytree paketi birçok Linux ve Unix varyantı için mevcut ve herhangi bir dosyanın iyi bir Hex döküm görünümüne sahip, ancak ZTreeWin (ve 16bit selefi, XTree) 'nin yaptığı aramalara sahip değil.