Python ile Binary File Analizi




 İyi günler arkadaşlar. Bugün Python ile metin dosyası olmayan ikili yani binary dosyalar üzerinde çalışma yapacağız.
 Dosyalar genellikle 2 farklı sınıfa ayrılır , metin dosyaları ve binary dosyalar olmak üzere. Metin dosyalarından neyi kastettiğimi anlamışsınızdır. Okunabilen , metin içerikli dosyalardır.
Binary dosyalar ise metin düzenleyici ile açılmayan , açıldığında ortaya anlamlı karakterlerin çıkmadığı dosyalardır. Bunlara örnek bir resim dosyası, müzik ya da video dosyası ..
Aslında bilgisayar bilimcisi gözüyle baktığımız zaman dosyalar sadece ikili , 1'ler ve 0'lardan oluşan dosyalardır. Ama bu birlerin ve sıfırların ne anlama geldiğini , pc üzerlerinde koşan işletim sistemleri ve uygulamalar belirler .

Çok fazla konuyu dağıtmadan , test ortamımızda python3 diliyle , resim dosyaları ve pdf uzantılı dosyalar üzerinde  yapacağımız çalışmalarımıza geçelim 

Hedef  : Bir Pdf dosyasının hangi uygulama ile dönüştürüldüğünü öğrenme 

Burdaki amacımız elimizde bulunan bir pdf dosyası üzerinde read () işlemi yaparak "/Producer" etiketinin indeksini bulmak ve neticede bize editlenen uygulama hakkında bilgi vermesini sağlamak.. 
Pdf belgelerinde o belge hakkında bilgi veren bir takım tag'ler yer alır .

mesela /Producer etiketi , hangi uygulama ile pdf'e dönüştürüldüğünü 

/Title , belgenin başlığı vb.. 





Öncelikle ilk olarak hedef dosyamızı açalım #Python3 


  1. hedef dosyamızı binary okuma kipinde "rb" açıyor ve okuma işlemini gerçekleştiriyoruz 



                            dosya=open("tablo.pdf","rb") 
                             okunan= dosya.read() 
   
    2. okunan veride /producer etiketinin indeksini buluyoruz

                      etiket_indeksi=okunan.index(b"/Producer") 

    3. okunan verinin etiket indeks değerinden başlayıp ondan sonraki +50 indeks sonraki veriye kadar okuyup ekrana basıyoruz 


                         print(okunan[etiket_indeksi:etiket_indeksi + 50]) 

                          çıktı : b'/Producer (Oracle BI Publisher 11.1.1.7.140114)\r\n>'


pdf dosyamız , Oracle iş zekası uygulamasından alınan bir rapordu 



bir sonraki blog yazımızda resim dosyaları üzerinde çalışıyor olacağım.


Bol bloglu günler ..






Yorumlar