Etiket Arşivi: ‘masm32’

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
43 Okunma

SetConsoleTextAttribute ile komut satırını renklendirmek

Esen!
Sıkıcı siyah + gri komut satırından siz de benim gibi sıkıldıysanız bu ders aradığınız şey: Assembly ile komut satırını renklendirmek. Bunun için SetConsoleTextAttribute APIsini kullanacağız.

devamını okuyun »

Share Button
Kategori Assembly
06.06.2017
62 Okunma

MASM32 Assembly ile String Concatenation-Dizi Birleştirme ve String Find-Replace – Dizi Bulma-Yer Değiştirme

Esen.
Eğer dikkat ederseniz assembly altına koyduğum tüm örnekler aslında keygen/crack/patch gibi uygulamalar yazarken sıklıkla kullanılabilecek konuları içeriyor. Bunlardan bir tanesi de dizi metin işlemlerinden olan string-metinleri birleştirme. Ya da bir string dizisi içerisinde bir başla karakter/string bulma işlemleri olabiliyor.

lstrcat

lstrcat yordamı Windows 2000’den beri kernel’de olan bir yordamdır.
devamını okuyun »

Share Button
Kategori Assembly
17.05.2017
125 Okunma

Windows 10 için MASM32 v11

Esen!
Yakın zamanda MASM32’nin son sürümü olan sürüm 11’i buradan yayınlamıştım. MASM32’inin kendi betinde de bulunan bu kurulum dosyası Windows 10 sistemlerde maalsef hatalar veriyordu. Şimdi eklediğim sürüm ise Windows 10’da denendi ve hata vermiyor.

http://www.sctzine.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif İndir: Masm v11 for Windows 10 (4.41MB)
Tarih: 28/06/2016
Tıklanma: 492
Açıklama: MASM32'nin son yayımladığı ve hala sitesinde bulunan MASM32 Windows 10 kurulumunda hata vermekteydi. Bu eklediğim sürümde hata bulunmamaktadır.

Share Button
Kategori Araçlar, Assembly
28.06.2016
794 Okunma

Win32 Assembly: Komut Satırına Print ile Çıktı Almak

Esen;
Son iki yazımı incelerseniz, komut satırına takıldığımı göreceksiniz. Aslında yazılarım birbirlerini destekliyor ya da birbirinin devamı şeklinde oluyor. Benim de biraz ayrıntıya girme deliliğim yok değil. Bir konu hakkında yazarken ya da çalışırken o konu ne ise en derin yerine kadar gidip bakmaya bayılırım. Böylece sistemin çalışma mekanizmasını daha iyi öğrenirim ve onu daha iyi kullanırım. Komut satırına bir şerler yazdırdıktan sonra bununla ilgili bir yazı neden olmasın demiştim. Ama konunun derinliğine girince çok fazla ayrıntı olduğunu -her zamanki gibi- gördüm. İnternette de araştırıp bir çok şey bulabilirsiniz. umarım yazı yararlı olur.

Bilgisayardaki veri insan okunabilirliğinden uzaktır. O ikilik veriyi bir metin durumuna çevirmemiz/dönüştürmemiz gerekmektedir. RadASM 2.2.2.1 ve MASM v11 bilgisayarınızda kurulu ise devam edelim. Ayrıca aşağıda eski yazılarım da var; bunların da kaynak kodlarını inceleyebilirsiniz.
SCTZine Assembly Beti
HEX.BIN Converter v1.0
HEX.DEC Converter v1.0
Türkçe Destekli SubClass Örneği
ROT13 Converter ve ROT13 Şifreleme Yöntemi
Rastgele Ondalıklı Sayı Üreteci devamını okuyun »

Share Button
Kategori Assembly, Belgeler
27.06.2016
675 Okunma

RadASM 2.2.2.1 Türkçe

radasm-belgiEsen!
RadASM’nin yazarı Ketil Olsen aslında RadASM v3’ü duyurmuştu. Ancak hemen sonra RadASM’yi geliştirmeyi durdurdu. RadASM açık kaynak kodlu bir assembly geliştirme ortamı ve kaynak kodlarını Sourceforge‘de bulabileceğiniz gibi MASM32 forumlarında da küçük bir topluluk RadASM üzerinde çalışmaya devam ediyor.

Ben halen v2 sürümünü kullanıyorum çünkü bu sürümü Türkçeleştirdim ve v3 sürümünün dil desteği yok. Ayrıca v3 sürümü çok fazla bir yenilik getirmediği gibi v2 sürümünün proje dosyaları olan .rap uzantılı dosyaları da tanımıyor.

Aşağıda bağlantısını verdiğim paketi devamını okuyun »

Share Button
Kategori Araçlar, Assembly
17.05.2016
1042 Okunma

MASM v11

MASM32 Yazılım Geşitirme Ortamı 32bit Microsoft assembly geliştirmek isteyenler için hazırlanmış bir pakettir. Kurulum seçtiğiniz sürücüye otomatik olarak yapılır ve dizin düzenlemesiyle uğraşmazsınız. Eğer hala Visual Studio kullanmayanlardansanız MASM32 yaygınlığıyla en çok seçilen assembly geliştirme ortamıdır.

Not: Merak etmeyin ilerleyen zamanlarda Visual Studio ile de hem 32 bit hem de 64 bit assembly geliştirme dersleri yayınlayacağım!

http://www.sctzine.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif İndir: MASM v11 (4.78MB)
Tarih: 17/05/2016
Tıklanma: 425
Açıklama: Macro Assembler sürüm 11. 32bit Assembly programlama için kullanabileceğiniz en yaygın assemblerlardan biridir.

Share Button
Kategori Araçlar
17.05.2016
768 Okunma

Pencere Animasyonları – AnimateWindow fonksiyonu ve RadioButton Kullanımı

Merhabalar; AnimateWindow fonksiyonu; pencerenizi açarken ya da kapatırken bazı görsel efektler sunmanıza yarar. Bunlar dönme, kayma, çökme/açılma ve yavaşça görünür olma şeklindedir. Bunların bazılarını birleştirebilirsiniz de aynı zamanda.

Yazım Şekli:
AnimateWindow,hWnd,dwTime,dwFlags
Örnek olarak:
invoke AnimateWindow,hWin,600,AW_HIDE or AW_SLIDE or AW_HOR_POSITIVE

Parametreler:
hWnd(dword): Oynatacağımız pencerenin handle değeri burada oluyor
dwTime(dword): Milisaniye olarak animasyonun oynayacağı süreyi belirtir.
dwFlags(dword):Animasyonun çeşidi. Bir seferde birden fazla çeşit kullanabilirsiniz. Bunu yapmak için bayrakların arasına “OR” mantıksal operatörünü koymanız yeterli. Pencere açılırken “AW_ACTIVATE” eğer kapanacaksa “AW_HIDE” kullanılır.

For English users please visit: MASM32 Forum Related Topic devamını okuyun »

Share Button
Kategori Assembly, Belgeler
05.11.2012
1753 Okunma