2-3 gündür aklımda böyle bir şey vardı, başta online oyunların olmak üzere bir çok uygulamanın baş belasıdır DLL injection, hafızaya dahil olan DLL uygulamanın hafızasındaki fonksiyonları istediği gibi işliyebilir, Hook Detour yaratıp, API'lere gelen parametreleri analiz edebilir ve daha bir çok şey, iyi yönde kullanabildiği gibi kötü yöndede gayet kullanılabilir...
nerdeyse her winapi (user gdi ve winsock apilerinin hepsi değil, çoğu zaman kernel nesnelerini işliyen api'ler), bir native api'yi çağırır yani gerekli parametreleri sağlayıp servis no'yu girdikten sonra native api'leride gayet işliyebilirsiniz, bu teknik sizi user mode hook'ten atlatır ama kernel hook'te takılırsınız..
Anti dll injection uygulamasının mantığıda, DLL injectorun hafızaya müdahalesinde hangi native API'lere takıldığını gözlemleyip onları blocklamak debugger ile takip ettiğimde
RtlCreateUserThread ve LdrLoadDll bunlar, hafızaya dahil olduğunda bu native api'lerin adreslerini bulur ve code inject ederek bloke eder.. aslında geliştirip api'yi detour edip daha kapsamlı kullanıcaktım ama vazgeçtim
kullanımı:
indirdiğiniz rarı klasöre çıkartın.
dll klasörü boştur, anti_injection.exe'yi çalıştırın.
koruma yapılacak olan api'yi seçip (önerilen 2 apiyide seçmenizdir) patch'e basın, hafızada haritalandırdığı dll'i 4 byte (seçilen dll'leri belirtir) patchleyip diske kaydedecektir.
dll klasöründe "anti_injection.dll" oluşacaktır..
"anti_injection.dll"'i korumak istediğiniz uygulamanız ile aynı klasöre atınız, ve aşağıdaki kodları giriniz..
korumayı durdurmak (threadi suspend etmek için aşağıdaki kod)Kod:void koruma_baslat(HMODULE, DWORD); void koruma_durdur(HMODULE); void koruma_devam(HMODULE); void koruma_durdur(HMODULE modul) { LPVOID adres = GetProcAddress(modul, "koruma_durdur"); __asm call adres //çağır } void koruma_devam(HMODULE modul) { LPVOID adres = GetProcAddress(modul, "koruma_devam"); __asm call adres } void koruma_baslat(HMODULE modul, DWORD mili_saniye) { //milisaniyeyi stack'e push et.. LPVOID adres = GetProcAddress(modul, "koruma_baslat"); __asm call adres //çağır } MAIN kısma aşağıdaki kodlar: HMODULE yukle = LoadLibraryA("anti_injection.dll"); koruma_baslat(yukle, 5000); //döngüye girdiğinde 5 saniyede bir api'lere müdahale eder..
korumayı devam ettirmek için aşağıdaki kodKod:koruma_durdur(yukle);
dll fonksiyonları export table'ye aktardığı için bu şekilde çağırabilirsiniz fonksiyonları, dll_attach'te bir olay gerçekleşmez çağırmanızı bekler fonksiyonları...Kod:koruma_devam(yukle);
KORUMA SEVIYESI
bu koruma ile sadece tecrübesiz crackerları atlatır bir nebzede uygulamayı korursunuz, cracker koruma sağlıyan threadı suspend edip api'nin başlangıç kodlarını geri fixup ettiğinde dll injector çalışacaktır.. ama geliştirip daha detaylı koruma sağlanabilir.
INDIRME
https://rapidshare.com/files/2075616...i_injector.rar











Alıntı
ama tecrübeli bi cracker için koruma sağlarmı?, hayır en fazla 10dk'sını alır çözmek.. ama tecrübesizlere sinir krizi geçirtebilir
: