Kategori Arşivi: ‘Belgeler’

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
898 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
1188 Okunma

RadASM Konsol Uygulaması Taslağı

Esenlikler,
Daha önce, birkaç defa RadASM için keygen taslağı hazırlayıp paylaşmıştım. Ara ara ufak demeler yapıyorum konsolda. Bunun için sıfırdan assembly yazmak uzun sürüyor ve ekrana yazdırma komutlarını da oradan buradan eski kaynaklardan bakmak uzun sürüyor diye bir taslak hazırladım. Bu .tpl dosyasını RadASM>Masm>Templates dizini altına atınız. RadASM ile yani bir proje başlatın ve “Console App” seçin projenize bir ad verin. İleri dediğinizde proje sihirbazı size taslağı gösterecek onu seçin ve devam edin. Taslak dosyanızı buradan indirebilirsiniz:

http://www.sctzine.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif İndir: [SCT]KonsolTaslagi2017 (3.35KB)
Tarih: 05/05/2017
Tıklanma: 599
Açıklama: RadASM ile hızlıca konsol uygulaması yazabilmek için örnek fonksiyonlarla hazır bir taslak

Share Button
Kategori Assembly
05.05.2017
561 Okunma

WireShark + USBPcap 1.1.0.0-g794bf26-3 yüklerken gelen KB3033929 hatası

Esen;
Wireshark ile network üzerindeki paketleri koklayabiliyorsunuz. Varsayılan olarak network sniffer olan bu araç USBPcap ara yazılımı sayesinde USB ve makineniz arasındaki trafiği de koklayabilirsiniz. USBPcap aslında 1.0.0.7 sürümünü kendi özgün hesabında yayımlamış. Yani 1.1.0.0 gibi bir sürüm yok. Bu sürüm WireShark üreticileri tarafından uygulama arayüzü ile birleştirilmiş ve biraz da optimize edilmiş bir sürüm. Ancak bir çokları gibi bende “Windows 7 x86” sanal makineme WireShark kurmaya çalışırken USBPcap kurulumuna geldiğimde “HotFix KB3033929” hatası alıyorum, bu güncelleme yüklü olmuş olmasına rağmen. Benim bulup uyguladığım çözüm şu şekilde:
1.Geçici bir findstr.exe oluşturacağız. Notdefterini açıp:

@echo KB3033929

yazıyor ve findstr.cmd olarak c:\Windows\system32 dizini altına atın. x64 sistemlerde c:\windows\syswow64 olmalı denemedim.
2.c:\Windows\system32\findstr.exe uygulamasının uzantısını değiştirin: findstr.exe.BAK gibi. Sonra da yeni dosyamızı aynı adla kaydedelim.
3.Yalnız bu uygulamanın uzantısını Administrator olsanız bile değiştiremiyorsunuz. Bu nedenle uygulamanın “file owner” siz olacak ve kendinize “full permisssion” tam yetki vermeniz gerekmektedir.
4.Bu düzenlemeyi yaptıktan sonra WireShark kurulumunu USBPcap ile yapın. Hata verebilir ancak kurulumu etkileyen hatalar değil “ignore” edebilirsiniz.
5.findstr.exe ‘yi eski haline ve eski izinlere geri getirmeyi unutmayın.

Kolay gelsin.

Share Button
Kategori Araçlar, Belgeler
27.04.2017
845 Okunma

IDA Pro İpucu #1 – Grafik Arayüze Geçmek ya da Geçmemek

Esen;
Aklıma geldikçe, pek sık rastlanmayan ama işe yarar IDA Pro ipuçlarını buraya atmayı planlıyorum.
IDA Pro ekranındayken -disassembly ya da debug- “boşluk – space” tuşuna basarak grafik arayüze geçiş yapabilirsiniz. IDA Pro her zaman şak diye grafik arayüze geçemeyebilir ve sürekli can sıkıcı bir hata ile karşınıza çıkabilir:

IDA Pro, başı sonu belli olan -net bir şekilde- fonksiyonları algılayıp ona göre grafik ara yüzüne geçebiliyor. Eğer bu tarz bir durum yoksa grafik ara yüze geçişe izin vermiyor ve siz “boşluk – space” tuşuna bastıkça yukardaki hatayı vermeye devam ediyor.
Ancak bir fonksiyon içerisinde bulunduğunuzdan eminseniz, başı ve sonu belli ise, mesela sonunda “ret” operandını görüyorsanız, ya da daha “önce gösteriyordu ama şimdi hata veriyor ne oldu yaa” durumundaysanız yapacağınız bir şey var.
Fonksiyonun başı agidin ve “p” tuşuna basın. Böylece fonksiyon olarak tanımlanacak, ve başarılı bir şekilde fonksiyon olarak tanımlanırsa “boşluk – space” tuşuna başarak grafik görünüme geçebilirsiniz.
Kolay gelsin.

Share Button
Kategori Reverse eng.
26.04.2017
734 Okunma

Keygen for Zerohour’s Keygen Me #2

Esen,
Herkesden mükemmelliyetçi yapımdan dolayı özür dilerim. Ancak yapabileceğim çok fazla birşey yok. Sanırım bu durumu engelleyemiyorum. Zerohour’s Keygen Me #2 için keygeni yazalı bir kaç gün oldu aslında ama bunu bir ders haline dönüştürmek, içindeki ufak bugları temizlemek ve denetlemek, eski bağlantılar ile ilişkilendirmek derken yazacağım yazının tarihi de uzadıkça uzadı. Ancak sonuç çok iyi oldu diye düşünüyorum. devamını okuyun »

Share Button
26.04.2017
717 Okunma

Keygen for Zerohour’s Keygen Me #1

Esen;
Decompile.us Türkiye’de etkinliğiyle göz dolduran, ters mühendislik ile uğraşan harika gençlerden oluşan bir oluşum. Bugün sitenin kurucularından Zerohour’un hazırladığı Keygen Me #1 için keygen yazacağız. Zerohour’sKeygen Me #1 dosyasını Decompile.us adresinde Crackme ve Keygenme(Meydan okuma sanatı) bölümünden indirebilirsiniz. devamını okuyun »

Share Button
20.04.2017
786 Okunma

Zararlı Yazılım – Malware Kaynakları

Esen;
malwareZaman zaman üzerinde uğraşmak/çalışmak/mıncıklamak için kötücül yazılımlar ararız. Ya da özellikle aradığımız bir kötü amaçlı yazılım vardır. Onu indirip kurmak ve hata ayıklamak isteriz. İste bu kötü amaçlı yazılıları arayabileceğiniz bir çok ağ betinin bağlantılarını veriyorum. Yeni olursa buraya eklerim. Eğer sizin de eklenmesini istediğiniz varsa yorum olarak gönderebilirsiniz: devamını okuyun »

Share Button
Kategori Reverse eng.
21.12.2016
1099 Okunma

USB belleğinizi geri dönülemez bir şekilde silin/biçimlendirin

Esen!
Bu yazıya kadar geldiyseniz siz de ayırdındasınız ki bazen bir belleği biçimlendirmek(formatlamak) yeterli değildir. Gönül istiyorki; öyle bir silinsin veriler, geri getirilemesin. Dosyalarımızın nasıl geri getirildiğini anlarsak eğer, bu yapacağımız işlemin önemini daha iyi kavrarırız.

Şimdi 1GB’lık film dosyanızı bilgisayarınızdan USB’ye attığınızı düşünün. Ne kadar sürdü? Şimdi de aynı dosyayı sildiğinizi düşünün; ne kadar sürdü? Aralarında ciddi bir zaman farkı var. Çünkü işletim sistemleri zamandan kazanmak ve daha verimli çalışma şartları sunmak amacıyla dosyaları diskinizden gerçekte silmezler.

İşletim sistemleri harddiskleri kendi anlayabilecekleri ve yönetebilecekleri şekilde biçimlendirdikten sonra; hdd’ye yazılan dosyalar için bir tablo oluştururlar ve bu tabloda dosyanın adı ve hangi konum(lar)da oldukları gibi bilgileri saklarlar. Bir silme işlemi yaptığınız zaman aslında bu dosyanın bilgilerinin tutulduğu tablo silinir. Oysa depolama biriminiz üzerindeki sildiğinizi sandığınız dosyanın sayısal verileri durmaktadır.
devamını okuyun »

Share Button
05.12.2016
1084 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: 1235
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
1238 Okunma