Merhaba sevgili müridler, hepinizin içinde fırlamalık olduğu bilinen birşey. Ancak bunu iyi ynde kullanabilirsiniz :) Kopyala yapıştır en büyük zehirdir. Bilgi ruhun temizlik malzemesidir. Yerli-yabancı sitelerden kopyala yapıştırla, anlamadan birşeyler yaparak heykır olamazsınız. Ben de biraz dil bilen biraz api kullanmışlığı olan müridler için sıfırdan birşeyler ğretmeyi kendime grev belledim. Laf salatasını geçelim konuya girelim, evvela keylogger, yazmanın en kolay olduğu zararlı yazılım olduğu için bundan başlamak, her türlü ktü yazılımı yazmanız için temel oluşturacak bilgileri burada ara ara paylaşıcam, bu giriş yazısı. Amuda kalkıp su içtikten sonra 2 ters 1 düz takla atıp kıçından ateş çıkaran kodlar grmeyeceksiniz burda, grseniz de çoğunu anlamayacağınız şeyler yerine, en basit halini gsterip daha gelişmişini yazmanız için yol gstermek istiyorum, c/p nin nüne geçmek için :)İki kod var rneklerde, birbirinin %90 aynısı, birisi ekrana basılan tuşları yazıyor, diğeri dosyaya, birisi 40 diğeri 50 satır C kodu. Ancak rahatlıkla bildiğiniz başka bir dile port edebilirsiniz. Ekrana yazan kod: // Stolen From Dogan K.#include <windows. h> #include <stdio. h> LRESULT CALLBACK LowLevelKeyboardProc { if CallNextHookEx ; return 0; } int main { HHOOK hhookSysMsg; MSG messages; hhookSysMsg = SetWindowsHookEx (WH_KEYBOARD_LL, LowLevelKeyboardProc, GetModuleHandle , 0); if while (GetMessage (&messages, NULL, 0, 0)) return 0; } Açıklamalar:Kodda 2 fonksiyon var, birisi main fonksiyonu diğeri ise LowLevelKeyboardProc. main fonksiyonu programın giriş noktasıdır, LowLevelKeyboardProc fonksiyonu ise her tuşa basıldığında çağırılacak olan bir "CALLBACK" fonksiyonu. main fonksiyonundan açıklamaya başlayım. nce 2 değişken tanımlanmış, birisi hook handle'ı diğeri ise mesaj türü. Bunlarla direkt ilgilenmiyoruz. SetWindowsHookEx fonksiyonu: bu fonksiyon windows'un bize sunduğu legal hook fonksiyonu ama her istediğimizi hook edemiyoruz, msdn den bakabilirsiniz neler hook edilebiliyor diye, tabiki klavye vuruşları hook edilebiliyor. Mouse ve windows mesajları da yle. Hook nedir kısaca onu tanımlayak, diyelim ki bir A fonksiyonu var, biz her A fonksiyonu çağırıldığında, bizim B fonksiyonumuzun çağırılmasını istiyorsak, A fonksiyonunu hook ederiz, birsürü farklı yntemi var, ancak tek legal yntemi SetWindowsHookEx. Şimdi biz klavyeden tuşa basıldığında çağırılan fonksiyonu hook ederek, basılan her tuşu alıyoruz, bunla işlem yapabiliyoruz, ancak işimizi biran nce bitirmemiz lazım, çünkü low level hookta tuşun kendi fonksiyonu daha çağırılmadan bizim fonksiyonumuz çağırılır. Burada hook fonksiyonu tabi LowLevelKeyboardProc fonksiyonu, yani kullanıcı her tuşa bastığında o fonksiyon bir kere çağırılacak. Hook nasıl gerçekleşir, normalde bu LowLevelKeyboardProc fonksiyonu bir dll içinde olmalıdır, biz de bu dll i belleğe yükledikten sonra HINSTANCE değerini, yani bellekteki başlangıç adresini, ayrıca LowLevelKeyboardProc fonksiyonunun dll içindeki adresini kullanarak SetWindowsHookEx apisini çağırmamız lazımdı. En azından MS yle yapmamızı bekliyor, bylece bizim yüklediğimiz dll i diğer exe'lere de yükletiyor, bylece dll içindeki LowLevelKeyboardProc fonksiyonu tüm exelerin kendi bellek blgesinde bulunuyor, ancak dll ve exe aslında neredeyse aynı dosyalardır ve ikisi de PE dosyalardır, yani biz, dll'i LoadLibrary ile yükleyip dnen başlangıç adresini kullanmak yerine, GetModuleHandle şeklinde kendi HINSTANCE yani bellekteki başlangıç adresimizi kullanırsak, SetWindowsHookEx fonksiyonu dll i değil bizi tüm exelere dll gibi yükler. Tabiki bu durumda, LowLevelKeyboardProc hook fonksiyonunu dll den GetProcAddress ile almak yerine direk yazabiliyoruz SetWindowsHookEx e, çünkü fonksiyon dll içinde değil bizim exe mizin içinde zaten. Yani, keylogger'ımız, SetWindowsHookEx in bir exede LowLevelKeyboardProc unda bir dll de olduğu 2 parçadan oluşan bir program olmak yerine tek bir exe den ibaret oluyor. En sondaki mesaj dngüsü de bizi ilgilendiren birşey değil, sadece klavye mesajlarını alabilmemiz için kullanmak zorundayız. Bu dngü zaten klasiktir, tüm windows programlarında aynı şekilde bulunur , bu dngü sayesinde, biz tuşa bastığımızda, mouse ile tıkladığımızda vs, bu mesajlardan form'un haberi olur. Geldik LowLevelKeyboardProc fonksiyonuna, bu fonksiyon bizim tarafımızdan yazılmış, ancak fonksiyonu biz çağırmıyoruz, biz sadece sisteme diyoruz ki, birisi bir tuşa basarsa nce bu fonksiyonu çağır, haber ver, sonra ne halin varsa gr, CALLBACK bu demektir zaten. Nerede sylüyoruz bunu, SetWindowsHookEx in 2. parametresinde. Birinci parametresi hook'un keyboard hook olduğunu sylüyor, 3. parametre hook fonksiyonunun bulunduğu dll in bellekteki yerini gsteriyor. LowLevel... fonksiyonunun wParam parametresi mesaji içeriyor, WM_KEYDOWN demek tuşa basıldı demek, WM_KEYUP ise kaldırıldı demektir. lParam parametresi KBDLLHOOKSTRUCT adında bir yapının adresidir, bu yapıda basıldan tuşun scan kodu, virtual key kodu gibi yararlı bilgileri var. yapının içeriğine msdn den bakabilirsiniz. MapVirtualKey fonksiyonu scan code dan ya da virtual key code dan, istediğimiz formatta çıktı veriyor, mesela virtual key code dan char çıktısı isteyebiliriz, normalde virtual key code bir sayıdan ibarettir, enter'a basıldığında filan bunun kodu gelir, ancak char'a çevir dedik biz, yani bu tür karakterlerde fonksiyon hiç bişey dndürmez. Programı geliştirmek için:ncelikle caps lock açıksa büyük kapalıysa küçük harf yazmak için GetKeyState apisini kullanmanız lazım, bu api ile caps lock un durumunu ğrenebilirsiniz. Virtual-Key Codes diye aratırsanız, f1 shitf ctrl vs tuşların virtual key code larını ğrenebilir, bunlar için dosyaya istediğinizi yazdırabilirsiniz. GetForegroundWindow ile aktif olan pencerenin handle ını alıp GetWindowText ile o pencerenin başlığını alabilrisiniz, bylece adam o metinleri yazarken msn de kimle konusuyor, facebook ta ya da google da mı, üniversite not bilgilerinin olduğu panelde mi :F ğrenebilirsiniz. Her tuşa basıldığında aktif pencere değişmiş mi kontrolü yapılabilir. Ayrıca belirli aralıklarla koda o anki tarihi yazdırabilirsiniz, bunun her dilde fonksiyonu var, api ile de yapılabilri tabi. Son olarak 10 satır fazla, dosyaya çıktıyı yazan program, fikir vermesi açısından, ç ğ gibi harflar dosyada grünüyor :) //Stolen From Dogan K.#include <windows. h> #include <stdio. h> LRESULT CALLBACK LowLevelKeyboardProc { static FILE flog = NULL; if { if (NULL (flog = fopen } if CallNextHookEx ; return 0; } int main { HHOOK hhookSysMsg; MSG messages; hhookSysMsg = SetWindowsHookEx (WH_KEYBOARD_LL, LowLevelKeyboardProc, GetModuleHandle , 0); if while (GetMessage (&messages, NULL, 0, 0)) return 0; } En son olarak LÜTFEN SORU SORMAK İÇİN PM ATMAYINIZ. Copyright 2012

eline saglik

güzel paylaşım ucan bok http://www.youtube.com/watch?v=OH4eOQ6ZI0Q - - - - - http://www.youtube.com/watch?v=TqErNP20gpI - - - - - https://www.youtube.com/watch?v=fhr5UBZh1rY

: Peroksit bunu yazdı: güzel paylaşım ucan bok hoca flying shit deil fly on the shit, yani bok üzerindeki sinek :D bana onu carıştırdı yle anladım tamam doğrusunu grenmiş olduk :D http://www.youtube.com/watch?v=OH4eOQ6ZI0Q - - - - - http://www.youtube.com/watch?v=TqErNP20gpI - - - - - https://www.youtube.com/watch?v=fhr5UBZh1rY

tebrikler hacı, güzel dküman olmuş.

: Eyvallah hocam güzel olmuş temel keylogger için. Başka bir sitede olsak 3. post şuydu; Emeğe saygı! beyler elinde anti virüsden kaçan keylogger olan var mı? :D doğru tespit @bok sineği: güzel dküman olmuş klavyene uzun mürler :) keşke tuş kayıt olayından teye geçip ağ işlemlerinide anlatsaymışsın :F bide bu ne perhiz: Ben de biraz dil bilen biraz api kullanmışlığı olan müridler için sıfırdan birşeyler ğretmeyi kendime grev belledim. bu ne lahana turşusu:LÜTFEN SORU SORMAK İÇİN PM ATMAYINIZ. =) :)

guzel paylasim, tesekkurler. nick ise sukella :D anca gidersin...

Babaaa seni var ya seni, seviyorumm :) niye byle bişey yok TBT de beyaz tahribat canlansın ya, en azından bi grup kuralım byle cici paylaşımları benim gibi yenilerin ğrenmesi sağlansın :) @Renegadealien hocam, eminim ki haberlerde olduğu gibi onaylanabilen bir sistem yapabilirsiniz, ki var zaten tek eksiği buna uygun gruplandırma yok... Çok sıkılıyom

Süper, ellerine sağlık... Bu dahil; tüm genellemeler yanlıştır! Yolcu; Kendi Yolunda... Şükür biz Allahtan başka sahibi olmayanlarız!

lazım olur teşekkür ettim hocam artık birşeyler grenelim yaw Zikir_Fikir_Şükür

@boka batmış sinek eline sağlık. bu tip paylaşımları tbt de grmek çok güzel. zumsukun beyaz tahribat ı geldi gzümün nüne. kelimeler albayım bazı anlamlara gelmiyor.

abi adamın adı sinekteki bok a doğru kayıyo yalnız her postta değişiyo :D since 2005 // tbt

: güzel paylaşım ucan bok hoca flying shit deil fly on the shit, yani bok üzerindeki sinek Copyright 2012

eyvallah hocam güzel çalışma bundan sonra oy kullanmayacağım eğer bir kişi bile gelip oy kullanmak vatandaşlık grevidir felan derse çıkarır kimliğimi gtüne sokarım

uyuyup okuycam 2 defa okudum bi sey anlamadim :D forumda yazmıyorum artık okuyorum yeter adam olana.

: manyaki bunu yazdı: Eyvallah hocam güzel olmuş temel keylogger için. Başka bir sitede olsak 3. post şuydu; Emeğe saygı! beyler elinde anti virüsden kaçan keylogger olan var mı? :D doğru tespit @bok sineği: güzel dküman olmuş klavyene uzun mürler :) keşke tuş kayıt olayından teye geçip ağ işlemlerinide anlatsaymışsın :F bide bu ne perhiz: Ben de biraz dil bilen biraz api kullanmışlığı olan müridler için sıfırdan birşeyler ğretmeyi kendime grev belledim. bu ne lahana turşusu:LÜTFEN SORU SORMAK İÇİN PM ATMAYINIZ. =) hoca ncelikle ağ olayı apayrı bi olay, onuda işin içine girmesi zaten dkümanın amacına aykırı, dediğim gibi keylogger ın çalışma mantığını en temelden gsteriyorum, yoksa internette tam kapsamlı keylogger kodu zaten bulunabilir. ikincisi, soru sormak için pm atmayın demek soru sormayın demek deil, konuyla ilgili soruları buraya yazın, konu dışı sorular için zaten pm atmayın demek. Copyright 2012

Eyvallah hocam güzel olmuş temel keylogger için. Başka bir sitede olsak 3. post şuydu; Emeğe saygı! beyler elinde anti virüsden kaçan keylogger olan var mı? since 2005 // tbt

Güzel :) Sanıyorum kendi ataszümü yaptım, kaynak belirterek kullanabilirsiniz. 10.05.2013 tarihli google arama sonucu : Aradığınız - "herşeyin hayırlısı rampanın bayırlısı" - ile ilgili hiçbir arama sonucu mevcut değil. Not : Syleyeni belli olduğu için ataszü değil, zlüsz oluyormuş, dolayısı ile kendi zlüszümü yapmış oldum :)