Kategori Arşivi: ‘Assembly’

MASM32 Assembly ile Windows 32bit mi 64bit mi?

Esen;
Windows işletim sistemimizin kaç bit olduğunu “Windows+Pause” tuş kombinasyonunu kullanarak öğrenebilirsiniz. Ancak bugünkü konumuz, masm32 assembly de kodladığımız uygulamamız ile işletim sistemimizin bit durumunu döndürmek olacak. İnternet’te de değişik kaynaklarda farklı farklı yöntemler bulabilirsiniz. Hadi kodlara dönelim:

GetNativeSystemInfo APIsi Kullanarak

Windows, yazılım geliştirirken kullanabileceğimiz bir yapı sunuyor bize; adı: SYSTEM_INFO
Aşağıda MSDN ağından çektiğim yapının ayrıntılarını görüyorsunuz. Bu yapı birçok harika bilgi için alan yaratıyor. İşlemci seviyesi, “revision” numarası gibi.
devamını okuyun »

Share Button
Kategori Assembly
13.09.2018
316 Okunma

RadASM 2.2.2.3 Solarized Türkçe

Esenlikler,
Güncellendikçe yeni sürümlerini burada duyurduğum RadASMRapid Application Development Assembler IDE, Solarized Dark teması ve Türkçe dil desteğiyle yenilenmiş olarak karşınızda.
Önceki sürümlerinden farklı olarak burada neler var bir bakalım:

  • Türkçe dil desteğinde daha önce Türkçeleştirmediğim bazı eklentileri Türkçeleştirdim ve hataları düzelltim.
  • Solarized Dark Temasını ekledim.
  • Özellik listesinin altına özellik açıklama alanı eklendi.
  • Yardım mönüsü altındaki bağlantılar düzeltildi. Gerekli eklemeler yapıldı.
  • F1/Ctrl+F1/Shift+F1/Ctrl+Shift+F1 ile açılacak yardım dosyaları düzenlendi.
  • Özel kontrol max sayısı 64’e yükseltildi.
  • Taslak oluşturulurken kaynak dosyaya eklenen dosyalar eğer RadASM.ini dosyasında tanımlı değilse hata alınıyordu. Bu nedenle yeni uzantılar RadASM.ini’ye eklendi.

devamını okuyun »

Share Button
Kategori Assembly
02.09.2018
476 Okunma

RadASM Eklenti Taslağı – Hello Addin – Merhaba Eklentisi

Esen,
RadASM ile assembly kodlarken ayırdında olmadan bir çok eklenti kullanıyoruz. Kendi araçlarımı da eklenti olarak neden eklemeyeyim düşüncesinden hareketle, önce bir “merhaba dünya” eklentisi yazmak istedim. Durum böyle olunca, hem assembly ile DLL yazmış olacak hemde RadASM için eklenti nasıl yaratılır onu öğreneceğiz.
devamını okuyun »

Share Button
Kategori Assembly
02.09.2018
295 Okunma

Keygen for s3rh47 KeygenMe 18.05.2018

Esenlikler;
s3rh47 KeygenMe ile bugün yeni bir keygenning dersini yapacağız. KeygenMe’yi (ve keygeni ile kaynak kodlarını da) yazımızın en altındaki bağlantıdan ya da decompile.us‘daki konu başlığından indirebilirsiniz.

1. KeygenMe’yi ExeInfo ile açalım:

Gördüğünüz gibi herhangi bir paketleme kullanılmamış.
devamını okuyun »

Share Button
Kategori Assembly, Cracking
23.07.2018
767 Okunma

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
1187 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
1120 Okunma

MASM32 Assembly ile Animated-Hareketli GIF Görüntülemek

Esen.
Bugün Rnd0M’dan bir mesaj geldi. Keygen içerisine hareketli GIF koyup koyamayacağımızı soruyordu. Açıkçası şu sıralar sistem programlama ve başka konular ile -arduino gibi- uğraştığım için böyle şeylere pek merak sarmıyorum. Ancak Rnd0m’ı kıramadım. Hemen bir araştırma yaptım ve işlerin aslında öyle pek basit olmadığını gördüm. Biz GIF dosyalarını resim olarak biliyoruz doğru ama GIF- Graphics Interchange Format olarak bilinen bu biçemi Assembly RCDATA olarak tanımlıyor ve ona göre işlem yapıyor. Bu dosya biçemini öyle hemen koyamıyorsunuz hatta bir ara patent muhabbeti bile yapılmış bu dosya biçemiyle ilgili. En son 30 yıl kadar önce 1987 yılında en son sürümü çıkmış.
Durum bu olunca dosyayı açmak ve her bir frame’i teker teker ekrana göstermek buna bir loop-döngü ayarlamak gerekiyor derken; harici bir kitaplık buldum. Bu kitaplık işleri oldukça hızlandırdı. Bende hemen en son keygen taslağımı buna göre düzenledim. Aşağıda iki tane indirme var. İlki hazırladığım keygenin kaynak kodları. RadASM projesi olarak kaydettim çünkü daha derli toplu olduğunu düşünüyorum. İkinci dosya ise bir RadASM Template-taslak dosyası. Bu arşivi açıp RadASM > Masm > Templates altına atın ve Yeni Proje deyip ileri geçtiğinizde gelen taslaklar penceresinden bu yeni taslağı seçin böylece sıfırdan keygen yazmakla uğraşmanıza gerek yok. Sadece anahtar üretme algoritmasına yoğunlaşabilirsiniz.
İyi çalışmalar.
Rnd0M kahveleri ne zaman içiyoruz?

http://www.sctzine.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif İndir: [SCT]Keygen Template 2017 - Gif Edition (1.23MB)
Tarih: 17/05/2017
Tıklanma: 1290
Açıklama: RadASM projesi olarak kaydettiğim Gif çalıştırabilen keygen taslak kaynak kodları.

http://www.sctzine.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif İndir: [SCT]RadASM Keygen Template 2017 - Gif Edition (725.09KB)
Tarih: 17/05/2017
Tıklanma: 1136
Açıklama: RadASM > Masm > Templates dizini içerisine arşivden çıkartığınız dosyayı atın ve hızlıca keygeninizi kodlamaya başlayın.

Not: RadASM ile dialog düzenlediğimizde Res/ dizini altında projeadıDlg.rc adında bir dosya otomatik düzenleniyor. Orada bir satır var bizim GIF’i etkileyen ve şöyle olmalı:

RadASM ile düzenleme yapıldığında gifin IDsi olan 501i ve AniGIF etiketlerini değiştiriyor. Derlemeye çalışınca da hata alıyoruz. O yüzden bu ikisine dikkat ediyoruz derlemeden önce.

Share Button
Kategori Assembly
17.05.2017
1043 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
1294 Okunma

Bellek özgüleme yordamları karşılaştırması – HeapCreate, HeapAlloc, GlobalAlloc, LocalAlloc, VirtualAlloc, CoTaskMemAlloc, malloc

Esen,
Bu yazımda Assembly ya da C++ kodlarken karşımıza sıklıkla çıkan bellek özgüleme -memory allocation- yordamları hakkında bilgiler ve kaynak kodlar vermeye çalışacağım. MSDN ağında Memory Mamagement Functions – Bellek Yönetim Yordamları adı altındaki bette windows için kullanılacak tüm bellek yordamları listelenmiş. Gönül isterdiki hepsini uzun uzun örneklerle anlatayım ama öyle bir zaman dilimi yok. Ben burada en çok kullanacaklarımızı anlatmaya özen gösteriyorum. Daha çok ayrıntı isteyenler o beti incelesinler.

GlobalAlloc, LocalAlloc, HeapAlloc en sonunda heap-yığıt ‘tan bellek alanı ayırma işlemi yapan ve aralarında ufak bazı farklılıklar olan yordamlardır. 32 bit Windows ile birlikte başlayan GlobalAlloc ve LocalAlloc yordamları özünde HeapAlloc yordamının “wrapper” yani “sarmalayan” yordamlarıdır. Bu şu anlama geliyor GlobalAlloc ve LocalAlloc bellekte ayırma işlemi yaparken aslında HeapAlloc yordamını kullanmaktadır.Farklı yığıt bölüştürücüleri yine farklı mekanizmalar kullanarak belirgin işlevsellik sağladıkları için doğru yordamla bellek alanını serbest bırakmak gerekmektedir. HeapAlloc için HeapFree, LocalAlloc için LocalFree ve GlobalAlloc için GlobalFree kullanılmalıdır. devamını okuyun »

Share Button
Kategori Assembly, Belgeler
16.05.2017
1095 Okunma

CreateFile, WriteFile ve ReadFile API kullanımı

Esen!
Win32Assembly’de bir dosyaya yazmak ya da bir dosyadan okumak işlemlerini yapmak istiyorsak ilk önce o dosyayı OKUMAK ya da YAZMAK veya her ikisi içinde AÇMAK veya YARATMAK zorundayız. Böylece elimizde yeni yaratılmış veya varolan bir dosya/aygıtın HANDLE değeri olur. Sonrasında yazmak – WriteFile ya da Okumak – ReadFile gibi işlemlerimizi yapabiliriz

CreateFile

HANDLE WINAPI CreateFile(
  _In_     LPCTSTR               lpFileName,
  _In_     DWORD                 dwDesiredAccess,      ;
  _In_     DWORD                 dwShareMode,
  _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  _In_     DWORD                 dwCreationDisposition,
  _In_     DWORD                 dwFlagsAndAttributes,
  _In_opt_ HANDLE                hTemplateFile
);

devamını okuyun »

Share Button
Kategori Assembly
08.05.2017
1376 Okunma