merhabalar
bir hile engel sistemi yapıyorum
burada dizi içerisinde md5 değerleri var
döngü ile açık olan programları kontrol edip md5 değeri eşleşen
programı nasıl kapatabiliriz
c++ ile Açık olan programı kapatma
7
●3.317
- 10-02-2015, 12:01:13Üyeliği durduruldu
- 10-02-2015, 13:36:43c++ 'da ;
system("c:\Windows\System32\TaskKill /F /IM xxx.exe");
komutunu çalıştırırsan xxx.exe programını kapatır. Bu işine yarayabilir. - 10-02-2015, 18:02:00Üyeliği durdurulduburada kapatmakla ilgili sorun yokdevveloper adlı üyeden alıntı: mesajı görüntüle
döngü içerisinde çalışan programların md5 değerini alarak dizi içerisindeki md5 ile eşleşeni kapatmak
- 10-02-2015, 21:43:57Anladığım kadarıyla çalışan programların Md5 checksum değerlerini alarak kontrol yapacaksın.
İlk başta çalışan programların listesini alacaksın. (Process id vs...)
http://www.cplusplus.com/forum/windows/45564/#msg247402
C++ ile çok fazla çalışma fırsatım olmadı ama yukarıdaki örnekte pe32.szExeFile büyük ihtimal exe yolunu verecektir.
http://stackoverflow.com/questions/1...of-a-file-in-c
Bu örnekte md5 checksum değerinin alınması var. Process list gelirken teker teker checksum değerlerini alarak dizi içindeki checksumlar ile eşleşiyormu eşleşmiyor mu kontrolünü yapacaksın. Eşleşiyorsa taskkill yaparak kapatabilirsin.
Bu arada eğer bu kontrolü yapan programa güvenlik koymazsan kolaylıkla bypass edilebilir. - 15-02-2015, 16:39:18Kimlik doğrulama veya yönetimden onay bekliyor.
void TerminateProc(char* ProcName){ PROCESSENTRY32 pe32; HANDLE hSnapshot = NULL; pe32.dwSize = sizeof(PROCESSENTRY32); hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (Process32First(hSnapshot, &pe32)){ do{ if (strcmp(pe32.szExeFile, ProcName) == 0) { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID); TerminateProcess(hProcess, NULL); } } while (Process32Next(hSnapshot, &pe32)); } if (hSnapshot != INVALID_HANDLE_VALUE) CloseHandle(hSnapshot); } void Kontrol_Kill_Proc(){ TerminateProc("cmd.exe"); }Şeklnde bi fonksiyon yazmıştım bi süre önce md5 için yukarıda örnek verilmiş snapshot kısmındaki exefile yerine md5 için bi loop oluşturup kullanabilirsiniz
Ancak ne kadar işe yarar orasında muamma, width height formstyle gibi anlamlı alternatiflerde deneyebilirsiniz
Herneyse İlk olarak şunu belirteyim uygulama odaklı değil yöntem odaklı çözüme gitmeye çalışın İlla program olarak tespit etmem gerekiyor derseniz signature,entrypoint+byte blokları yada string-class daha çok iş görür düşüncesindeyim
döngü içerisinde çalışan programların md5 değerini alarak dizi içerisindeki md5 ile eşleşeni kapatmak