Managed Kod ile Global Hook
Okuyucu : 1.527
Günlük Okuyucu : 1,6
Windows programcılığında bence en eğlenceli konular hooklar, processlere dışarıdan erişim, injection ve memory okuma atraksityonlarıdır.
Daha önceden .NET ile bir keylogger yazmıştım bunun için KeyboardHook kullanılıyor, daha sonradan keyboard' u disable etmek için bit Low Level Keyboard Hookları ile de uğraşmıştım. Ancak mouse ve keboard harici diğer hooklar ile uğraşmamıştım. Bu hooklar arasında windows message' larını alanlar var vs.
Dün bu konu hakkında bir şey yazmak istedim ancak klasik hook mantığım çalışmadı, konu hakkında araştırma yapınca öğrendim ki meğersem Keyboard ve Mouse hookları haric .NET üzerinden Global Hook yapılamıyormuş ! ( MS KB 319524 : Global Hook Is Not Supported in .NET Framework )
Olayın temeli de şu ki Low level hooklar Keyboard ve Mouse gibi henüz girişlerin hangi pencereye gideceğini bilmediğinden her uygulama bunları belli window' a gitmeden yakalayabiliyor dolayısıyla belli bir DLL' e enjekte etmek gerekmiyor. Ancak diğer üst seviye hooklarda direk pencereye giden girdileri (input) o pencereye enjekte edip almanız gerekiyor. Bomba kısımda buradaki .NET Framework DLL Export desteklemiyor. Bir yerde türlü şekillerle bunun yapılabildiğini okudum ancak örnek kod vs. bulamadım. Bir fikri olan varsa da bekliyoruz.
Bu durumda yapılacak tek iş kalıyor ki o da C++ ile native bir DLL yazıp .NET üzerinden onu kullanmak yada tüm programı C++ ile geliştirmek.
Güncelleme : Benzer bir konu vbaccelerator' un hook library's inde de konu edilmiş ve VB6' da global hook lar kullanılamıyormuş.

Yorumlar
Yorum Ekle
Diğer Yazılar
Marmaraya Karşı Sinema
Masaüstü İkonlarına Undo
Masaüstü Oyunlar ve Bağımsız Oyunlar
Massively Multiplayer Games For Dummies
Matematiksel olarak ISBN No Kontrol Etme
Math Captcha 10 dk. da nasıl geçilir?
Mavi Ajanda
McAffee ve Symantec Güvenlik Atağı
MD5 Checksum Tool Düzeltildi !
Media Center Uzaktan Kumandası
Media Serverlar
Merry Christmas nidaları...
Meslekmetik
Metacritic - Oyun, Film vs. Kritikleri
Method Overloading' de ilginç davranış
Mevlid Kandilimiz Mübarek Olsun
Mevlid Kandiliniz Mübarek Olsun
Microsoft API Sorunları
Microsoft Destek ve Yardım, Microsoft Support
Neredeyim ?
Ferruh.Mavituna » Haberler » Managed Kod ile Global Hook