Bölümler:
1-) Dosya Analizi
2-)İçeriği İnceleme
3-)Kodlara erişme ve gerekli kod parçasını bulma
4-)Kodu Çözme
1-) Dosya Analizi
Öncelikle dosya herhangi bir packer ile paketlenip paketlenmediğine bakıyoruz. Eğer paketlenmiş olsaydı bu dosyayı “Disassebler” programlar ile açamazdık. Açsak bile anlamsız, okuyamayacağımız değerler karşımıza çıkacaktı. Bu durumda genellikle “Unpack” işlemine tabi tutulur (Yazının en altında Unpack işleminin ne olduğu yazmaktadır.) ardından “Disasseble” edilir.
Eğer protector ile şifrelenmiş olsaydı şu şekilde gözükecekti:
Şifrelenmediğini tespit ettiğimize göre disassemble işlemine başlayabiliriz.
2-)İçeriği İnceleme
Öncelikle programımızı biraz inceleyelim.
Öncelikle bir Username ve Password verisi istiyor bizden. Buralara rastgele (yanlış) değerler girdiğimiz zaman ise “Invalid username/password” mesajını alıyorum.
3-)Kodlara erişme ve gerekli kod parçasını bulma
Bu değer beynimizin bir ucunda kalsın. Artık “dnspy” uygulamamızı açabiliriz.
Öncelikle bu hata mesajını vermesine sebep olan kodu bulmamız gerekli ki doğru cevaba ulaşalım.
Üst tarafta bulunan büyüteç simgesine tıklayarak arama menüsünü açıyoruz. String değerinde bir veri arayacağımız için sağ altta bulunan yeri “Number/String” olarak değiştiriyoruz ve “Search” bölümüne önceden bulduğumuz hata mesajını yazıyoruz.
Tarama bittiğinde çıkan sonuca çift tıklayarak bulunduğu metodu inceliyoruz.
4-)Kodu Çözme
Gördüğümüz gibi button1_Click fonskiyonu içerisinde bulunmaktadır. Fonksiyon adı “Click” içerdiği için button1’e basıldığında gerçekleşmektedir. İf yapısı içerisinde bulunan “usernameBox” ve “passwordBox” içinde bulunan değerlere göre hareket etmektedir. Eğer “usernameBox” değeri “GodworthDestroyor1822”, ayrıca “passwordBox” değeri ise “lopecart192password12356#6969” olduğu zaman bize “Successfully logged in!” mesajını MessageBox içerisinde gösterecektir.
Sözlük:
Packer nedir?
Packerler dosyaları okunmayacak hale getiren ancak bilgisayarın okuyabileceği değerleri değiştirmeyen uygulamalardır. Ücretli ve ücretsiz alternatifleri bulunmaktadır. Bu programlardan birkaçı: “The Enigma Protector”, “VMProtect”…
“Detect It Easy” programı ile bu packerlardan birinin bulunup bulunmadığını kontrol edeceğim. Eğer bulunuyor ise bunları çözmeyi, bulunmuyor ise de direkt olarak kodlarına erişmeye çalışacağım. Bu işlemi “PEiD” uygulaması ile veya başka bir scanner programı ile tarayabilirsiniz.
Disassembler Nedir?
Disassembler makine dilini (derlenmiş kodlar vb.) biz insanların anlayabileceği anlamlı kelime ve kelime guruplarına dönüştüren programlardır. En yaygın olarak kullanılanları: “IDA”, “DnSpy”, “.net Reflector” vb..
Unpack Nedir?
Unpack işlemi şifrelenmiş (Protect edilmiş) bir dosyanın derlenmiş haline dönüştürülmesidir. Bu şekilde Disassebler programlar tarafından okunabilir hale getirilebilir. Her şifreleme programı için FARKLI algoritma kullanılmaktadır. Bu işlem Unpacker programlar ile yapılır, başlıcaları: “de4dot”, “Enigma”, “Armadillo”, “Epx”, “Obsidium”dur…