Sağlam bir resim veya video dosyası bulup bir hex editörü üzerinden rastgele bir yerindeki byte’lara rastgele bir değer girerek veya bir bölümünü silerek dosyayı bozabilirsiniz. Bozulmuş dosyalar genellikle böyle oluyor.
Video, resim ve ses dosyaların içinde header kısmı bulunur. Burası dosyanın türünü belirten işareti (örneğin Ogg dosyaları OggS ile başlar), dosya özellikleri (resim boyutu, video uzunluğu, vs.) gibi verileri barındırır. Burası bozulursa program dosyayı büyük olasılıkla açamaz ve hata verir. Header’dan sonra resim/video/ses verisinin depolandığı kısım bulunur. Bu kısım bozulduğunda dosya büyük olasılıkla açılır ama bozulduğu için çeşitli sorunlarla karşılaşılır. Resim dosyalarında resmin bazı yerlerinin bozulması, Video dosyalarında görüntü ve/veya seste bozulma, kesilme, atlama gibi durumlar.
İlk yapacağınız şey dosya türünü tespit etmek. Bunu dosya uzantısından ziyade dosyanın başındaki özel işaretten(magic number) tespit etmek daha kesin sonuç verecektir. Özel işaret bozulmuşsa(bu genellikle olmaz) dosya uzantısından veya dosya formatını analiz ederek bulunabilir.
Dosya uzantısını tespit ettikten sonra dosyayı analiz ederek bozuk yeri tespit etmeniz gerekiyor. Burası işin en zor kısmı. Çünkü hangi kısmın bozulduğunu tespit etmek, onarmak veya kurtarmak oldukça karışık bir iş. Dosya formatı hakkında çok iyi bilgi sahibi olmanız gerekiyor. Eğer resim/video/ses verisinin depolandığı kısım bozulduysa dosyanın tamamını maalesef kurtaramazsınız çünkü veri kaybı oluşmuştur. Resim dosyası ise geçmiş olsun. Video dosyası ise bozuk kısımları kesip öyle kurtarabilirsiniz ama dediğim gibi tamamen dosyayı kurtaramazsınız. Header kısmı bozulmuş ama veri kısmı bozulmamış ise veri kısmını tespit edip orayı alıp, decode edip yeni dosyaya kaydederek dosyayı tamamen kurtarabilirsiniz. Ama genellikle veri kısmı bozulmuş oluyor ve bundan dolayı tamamen kurtarmak mümkün olmuyor.
Yapacağınız şey pek kolay bir işe benzemiyor. Yine de bol şanslar.
Resimler için sadece header düzeltmesi ve conversion uygulayacağım. Derin manüpilasyon yaptıramam. Muazzam bir bilgi gerekiyor, yapay zeka bile yapamaz sanırım.
Resimleri elle bozmak istemiyorum. Orjinalden bozuk dosyalara ihtiyacım var, teşekkürler.
Sadece header kısmını düzelten yazılım yapacaksınız galiba. Ama dediğim gibi bozuk resimler, atlama yapan videolar gibi durumlar header’dan ziyade resim/video verisinin olduğu kısmın bozulması sonucu oluyor. Bunları sadece header düzeltmesi yaparak düzeltemezsiniz. Bu tarz dosyalara yapılabilecek bir şey yok. Sadece açılmayan dosyalarda eğer veri kısmı bozulmadıysa header düzelterek kurtarabilirsiniz.
PNG, JPEG gibi resim dosyalarından başlayın. Bu dosya formatlarını anlamak daha kolay. Video, ses dosyalarının formatı inanılmaz derece karışık ve işin içine sıkıştırma algoritmaları giriyor. Sadece header düzeltmesi yapacağınız için bir hex editörü ile header’ı bozuk dosyalar yapabilirsiniz. Ama bu tarz dosyalarla karşılaşmak oldukça nadirdir. Çoğunlukla veri kısmı bozulmuş oluyor.
Çok teşekkür ederim, bu bilgilere öteden beri sahibim.
Benim bahsetmeye çalıştığım şey, “hafif düzeyde” bozulmalardır. Fotolarda bunun nasıl oluşageldiğini tam olarak bilmiyorum. Ancak basit header kısımlarının üzerine yazdırıp, garanti olsun diye bir kez convert ederek düzeltme denemesi yaptıracağım. Yoksa, sihirli bir program yapmayı düşünmüyorum. HEX editörü ile elle yapılacak işlemi bir betikle yaptıracağım. Böyle şeyleri hiç bilmeyen kullanıcılar için faydalı olacaktır sanırım.
Videolara gelince, aynı şekilde “hafif bozulmalar” durumunu değerlendireceğim. Elimde bulundan bazı videoların zamanla “siyah ekran” haline geldiğini farketmiştim. Çok eski yıllardan kalma wmv gibi dosyalarda da glitch gibi durumlar oluştuğunu, seek çubuğu ile atlatırken donma, zor kendine gelme gibi durumlar oluştuğunu farkettim. Keşfettiğim bir yöntemle bunları düzeltmeyi başardım. Bunu bir GUI’ye taşımak istiyorum.
Üzerine yazılmış, içeriği tamamen ya da az miktarda da olsa bozulmuş verileri düzeltemem. Çok özel algoritmalarla “akıllı tamamlama” yapılması gerekiyor ki bunu benim gibi birisi yapamaz. Geçenlerde bir diskimden yanlışlıkla veri kaybettim ve windows tarafında pro bir programla tarama-kurtarma yaptırdım. Programın bulduğu bazı resim dosyaları ilgimi çekti: Adı belli, uzantısı belli, ama header düzeltmesi vb ile tamir olamıyor. Bunun nedeni, kurtarma programının MFT ve MFT mirror tablolarını okuyarak, o dosya ismi ve uzantısına ulaşması ancak; dosya aylar önce silinmiş ve üzerine yazılmış olduğu için o sektörden kurtardığı baytların anlamsız olmasıdır.
Kısaca olay şöyle: mucizeler yaratamam. Ama ufak sorunları giderebilirim.
Normal şartlarda bir diskte yer alan dosyaların tek bir biti bile kolay kolay bozulmaz. Resim, video dosyalarını bozan şey işletim sistemi dosyalarını da bozar ve sorun göstermeye başlar ve diskin pert olduğunu gösterir. Böyle zamanla bozulma diye bir şey olsaydı bilgisayar kullanmak kabusa dönerdi. 10 yıllık bilgisayarımın harddiski hala tık demeden çalışıyor ve şimdiye kadar hiç bir veri bozulmasıyla karşılaşmadım.
Yıllarca kullanılan flaş bellekler verileri bozabiliyor. Tıpkı SSD’ler gibi flaş belleklerinde bir ömrü var sonuçta ve ömrü bittiğinde doğru düzgün veri depolayamıyor. Flaş bellekleri güvenli kaldırma işlemi yapmadan çıkarmak da verileri bozabiliyor. Eğer dosyalar CD’den alındıysa böyle sorunlar çıkabilir. CD’ler belirli bir zaman geçtikten sonra bozulmaya başlıyor ve hele çizildiyse bozulma zaten kaçınılmaz oluyor. Bunlar benim düşünebildiğim dosya bozulma sebepleri. Öbür türlü veriler durduk yere nasıl bozulur bilmiyorum.
Verilerin durduk yere bozulmaları çok çok nadir görülür ancak yine ortaya çıkar.
Günümüzde kullanılan HDD’lerde hata ayıklama teknolojileri vardır. Örnek: HDD sorunlu bir sektör görürse ki bu sorun o sektördeki bitleri oluşturan manyetik desenlerin zamanla silikleşmeye/solmaya başlamasıdır, o zaman oraya manyetik palsler uygulayarak bilgiyi tazeler (refresh). Sonra emin olmak için orayı tekrar okur (read-retry). Hala sorunluysa bir daha dener. Fabrikanın belirttiği sayıda denedikten sonra hala sorun tesbit ederse orayı kullanım dışı bırakmak için çipindeki gömülü yazılıma bilgi ekler. Bundan böyle o sektörün üzerinden geçmez. Bu arada, orada bir dosya varsa, onu oradan alıp yedeklenmiş başka sektörlere aktarmaya çalışır (remapping).
Bütün bu bilgileri bildiğinizi tahmin ediyorum ama bilmeyip okuyanlar da birşeyler öğrensin istiyorum.
Gereksiz bilgi: Bazı durumlarda HDD’nin toparlayamadığı bu manyetik bozulmaları LLF gibi yöntemlerle düzeltmeye çalışıyoruz, bilimsel olmayan, biraz kocakarı yöntemidir ama zaman zaman işe yaradığı oluyor.
İşte bu süreçte, dosya arızalı şekilde aktarılabilir. Eski yerinde hasarlıydı, hasarlı olarak kopyalandı mantığı. Böyle bir durumda zaten kurtarma imkansız gibidir ama, ufak tefek bit hatalarını tazeleyebiliyoruz.
İşte, enterprise seviyesinde olmayan bazı HDD’lerde yukarıda anlattığım hata düzeltme işlevi bulunmayabiliyor. Bende de 10 yıllık bir WD Blue EZEX serisi var ve çok memnunum. Hatayla karşılaşma durumum yoka yakın. Ama olmuyor mu, oluyor.
Öte taraftan, flaşbellekler ve diğer konularda haklısınız. Fotoğfam makinesini kapatmadan hafıza kartını çıkaran bir müşterimin fotoğraflarını kurtarmıştım. Bereket, içerik zarar görmemiş, sadece başlangıç sektörlerini uçurmuş. Kart Unallocated olarak görünüyordu ve bütün fotolarını adlarıyla beraber kurtarmıştım. Bütün kullanıcıların bu kurallara dikkat etmesi gereklidir.
Bazı bozuk dosyalara eriştim arkadaşlar. Teşekkürler.