Visual Basic - Basic - PicBasic ve Türevleri
Explorer‘İn Aktif Olan Klasör Yolunu Nasıl Alırız (VB6)
Explorer‘İn Aktif Olan Klasör Yolunu Nasıl Alırız (VB6)
-
WH0 bunu yazdı:
-----------------------------
Tugberk in dedigi gibi setwindowHookEx apisi de kullanilabilir.. DLL Injection da zaten soyle bir durum ortaya cikabilir
32 bit process 64 bit process e inject edilemez yani hem x32 hemde x64 bit için derleme yapman gerekir.
@UAC aktif olsa bile DLL Injectionu engelleyemez.DLL injectionu yapabilen bir coder haberleşmeyi de yapabilecek bilgiye sahiptir;)
ReadProcessMemory,Set/Get-ThreadContext, WriteProcessMemory CreateProcessA ve CreateRemoteThread apilerini kullanabilirsin oldukca basit.
-----------------------------Evet 32 bit 64 bit process muhabbeti benim aklıma gelmemişti bu durumda SetWindowsHookEx şart gibi, çünkü ReadProcessMemory gibi fonksiyonlar zaten 32 bit process ile 64 bit processden okuyamaz (pointer boyutu uyumsuzluğundan dolayı)
UAC meselesi bu durumda sorun olmaz , ancak biz şöyle bir sorunla karşılaşmıştık (gVeR ile ), örneğin services.exe ye inject etmek için process debug privilege alması gerekiyor, bu yetkiyi aldıktan sonra tüm processlere inject edebiliyor ancak bu yüksek privilege ile yarattığı haberleşme ve senkronizasyon nesneleri explorer gibi daha düşük privilege'e sahip processler tarafından açılamıyor :)
Daha sonra SECURITY_ATTRIBUTES sayesinde hallettik ama kernel32 yi değil ntdll i hook ettiğimiz için bazı başka saçmalıklar oluştu neyse :).
-
yukarida bahsettiği iş için setWindowsHookEx en iyisi olur heralde :) NTDLL yi hiç karistirma :) bunu yapamayan native yi hiç yapamaz:)
-
WH0 bunu yazdı:
-----------------------------
yukarida bahsettiği iş için setWindowsHookEx en iyisi olur heralde :) NTDLL yi hiç karistirma :) bunu yapamayan native yi hiç yapamaz:)
-----------------------------Aynen :)