Etiket Arşivi: ‘rtlgetversion’

MASM32 Assembly ile Windows Sürüm Bilgisini Döndürmek

Esen;
Windows işletim sisteminden sürüm bilgisi çekmenin birden çok yolu var. Bu yazıda bunları açıklamaya çalışacağım. Peki neden böyle birşey yapalım? Sürüm bilgisi bizim ne işimize yarayacak? Eğer geliştirici iseniz ve sadece belli bir windows sürümüne özel program yazıyorsanız ya da özellikle belli sürümün altındakilerde çalışmasını istemiyorsanız sürüm kontrolü yaparak istediğiniz sonucu alabilirsiniz. Veya zararlı yazılım çözümlemesi yaparken zararlının nasıl çalıştığını daha iyi anlamak adına işinize yarayabilir. APT saldırısı yapıldığını düşünün. Hedefte bir kurum olsun devlet ya da özel. Saldırganlar bu kurumda sadece belli sürüm (Mesela Windows 7 SP1 Enterprise) windows kullanıldığını öğrenmiş olsun. O zaman yazacakları zararlıyı Windows 7 SP1 ve üzerinde çalışacak şekilde programlayabilirler. Bizde bunu hata ayıklarken ortaya çıkartabiliriz.

Process Environment Block – PEB kullanarak sürüm bilgisi öğrenmek

Şunu söylemeliyim PEB başlı başına bir yazı konusu olabilir. Ama kısaca da olsa anlatmak gerek. PEB (Process Environment Block) windows tarafından yüklenen bir “yapıdır – struct”. Bu yapı user-mode içerisinde çalışır ve çok değerli bilgiler içerir: Sürüm bilgisi, yığıt adresleri ve yığıt sayısı (heap address – heap number), programın debug edilip edilmediğine dair bilgi, işlemci sayısı gibi bilgiler… WinDBG ile ilgili yazımı okuyup uygulama yaptıysanız, lokalde kernel debuggerı açıp dt ntdll!_PEB komutunu yazarak PEB yapısını WinDBG ekranına basabilirsiniz. devamını okuyun »

Share Button
Kategori Assembly
14.06.2017
291 Okunma