Ana sayfa Tersine Mühendislik Tersine Mühendislik 4.1

Tersine Mühendislik 4.1 [ Ollydbg inject ]

82
0

Tersine mühendislik serisinde Ollydbg ile ilgili olan konular 4. bölüm içerisinde detaylandırılacak. Tersine mühendislik 4.1 konusunda Ollydbg ile kod enjekte etmeyi anlatacağım. Böylece bu yazıda Ollydbg inject ve Ollydbg injection kullanımı konusunda bilgi sahibi olacağız.

Kod enjekte etmek ne için kullanılır? [Ollydbg injection]

Kod enjekte etmek programın açılış sırasında mesaj vermesi sağlanabilir. Yada çalışan aktif program akış sırasında başka işlemler yaptırabiliriz. Bu durumu oyun hilelerinde bulunan .dll inject gibi düşünebilirsiniz. Oyunun normal koşullarda barındırmayan kod bloklarını ekleyip yeni özellikler kazandırması gibi.

Ollydbg içerisinde programın başlangıç bölümü

Hedef programımızı ollydbg ile açtık ve başlangıç adresi yani EP(Enrty Point) noktası belirdi. Yapacağımız işlem program açılışında mesaj verdirmek olacak. Program başlamadan enjekte ettiğimiz kod bölümüne yönlendirip normal akışına bırakacağız. Bunun için kodların en altına inip boş kısımlar bulalım.Yazdığımız kodlara başlangıç adresinden sonra JMP komutu ile atlatıp tekrardan başlama noktasına yönlendireceğiz. Amacımız programın akışını değiştirmek olsaydı o konuma gidip yine aynı işlemler ile bunu yapabilirdik.

Ollydbg inject ve Ollydbg injection Kullanımı

Ollydbg inject

boş byte bölümlerini seçip edit kısmınandan ascii karakter olarak mesajlarımı girdim. Ardından mesaj için yazdığım adresleri PUSH komutu ile tutup MessageBoxA apisini çağırdım. Sonrasında jmp ep adresine götüreceğiz.

Enjekte ettiğimiz kodlar program açılışında bu şekilde bir uyarı verdi

Kodların tamamı :
PUSH 0
PUSH 00403341 ; ASCII “mesaj basligi”
PUSH 0040335A ; ASCII “webdeyazilim.com”
PUSH 0
CALL MessageBoxA
PUSH 004014FC
JMP 004012CD

Bu komutları Olly aracı yardımı ile enjekte ettik. Peki tersine mühendislik araçlarını kullanırken bir kez daha tersine düşünelim şimdi. 🙂 Bu enjekte yöntemi daha farklı olarak nerelerde kullanabiliriz ? Konuya hakim olan kullanıcılarımızın aklında şimşekler çaktığını tahmin edebiliyorum. Evet sağlıklı bireyseniz kendi alanınız ile alakalı yapılabilirliği tartışılır fikirler gelmiş olması gerekiyor. Yada çok zorlamayalım ve sizlere nerelerde kullanabileceğimiz konusunda biraz fikir vereyim :

  • Crack yapmış olduğunuz dosyaların açılışında bu mesajlama yöntemi kullanılabilir.
  • Portable program hazırladığınızda kullanılabilir.
  • Sadece mesaj kutusu çıkartmak için düşünmeyin . Windows platformunda kullanılabilen her türlü dll dosyası çağırılıp dosya okuma,yazma ,şifreleme  yada bir programlama dilinde bulunan ne kadar işlem varsa diyelim. Bu şekilde olly içerisinden enjekte edilebilir.

Son olarak : Eğer windows işletim sisteminde bulunan .exe uzantlı dosyalar bir başlangıç ve bitiş noktalarına sahip olmadan çalışabilseydi ollydbg programı ile sadece  “00000000”  olan bir proje açıp .exe dosyası kodlayabilirdik. Ama ne yazık ki bu sadece olly ile mümkün değil. Entropy dediğimiz düzgün yapıdan dağınık yapıya geçme isteği (sadece fizik derslerinde geçmiyor.)  .exe dosyalarının okunması için bir takım bilgiler gerekiyor.

Videolu anlatım talep doğrultusunda eklenecektir.

BİR CEVAP BIRAK

Lütfen bir yorum yazın!
Lütfen Adınızı Girin!