Bir sihirli sayı genellikle (genellikle başlangıçta) belirli bir pozisyonda, belli bir biçimde tüm dosyaları kullanılan bayt dizisidir. Belirli bir biçimdeki tüm dosyalar, belirli bir konumda belirli bir bayt dizisine sahip olduğundan ve diğer biçimlerdeki çoğu dosyada bulunmadığından, sihirli sayı, bir dosyanın hangi biçimde olduğunu tanımlamanın bir yoludur.
Burada, bu kavram bir dosya sistemi formatına uygulanır. Örneğin, bir ext2 / ext3 / ext4 dosya sistemi her zaman 0x53 0xEF
1080-1081 konumlarındaki baytlara sahiptir. Bir reiserfs dosya sistemi her zaman ReIsErFs
65588 konumunda (veya ReIsEr2Fs
daha yeni sürümlerde vb.) Başlar . Diğer dosya sistemleri de benzer sihirli sayılara sahiptir. Dosya sistemi araçları, onları ele alamayacakları ve zarar verebilecekleri biçimde düzenlenmiş verilerde yanlışlıkla başlatmamanızı sağlamak için sihirli numaranın (ve muhtemelen diğer ipuçlarının) varlığını kontrol eder. Bir dosya sistemindeki sihirli numarayı değiştirirseniz, sıradan araçların ona dokunmayı reddetmesi muhtemeldir; onarım araçları daha akıllı olabilir ve kötü bir sihirli sayıya kırılabilecek şeylerden sadece biri olarak davranabilir.
file
Komut onların sihirli numaraları dayalı dosyalarını tanır. file -s /dev/sda1
Bölümde ne düşündüğünü görmek için koşabilirsiniz /dev/sda1
. Kararları genellikle /etc/magic
veya içinde bulunan bir veritabanına dayanır /usr/share/misc/magic
. Belirli komutlar, başa çıkabilecekleri dosya biçimlerini tanımak için farklı sihirli sayılar kullanabilir.
apt-get install source file
çekecektirfile-x.yy/magic/Magdir/filesystems
.