Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2

    Source Kill Icesword từ UserMode

    em không hiểu cái source này nó làm việc thế nào nữa
    Mã nguồn PHP:
    // // RkUKiller // Version 1.0 // Copyright (c) aintrust, 2006 // #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers #include <windows.h> #include <stdio.h> #include <conio.h> // RkU constants #define RKU_SYS_DEVICE "\\Device\ khdrv10" #define RKU_SYS_DEVICE_NAME "RkU" #define RKU_WINDOW_CLASS_NAME "#32770" #define RKU_WINDOW_TITLE_LEN 8 #define RKU_WINDOW_TITLE_MIN_LEN 2 #define RKU_WINDOW_TITLE_MAX_LEN 32 #define RKU_BTN_UNHOOK_ALL "UnHook ALL" #define RKU_BTN_UNHOOK_SEL "UnHook Selected" #define RKU_BTN_SCAN "Scan" #define RKU_BTN_CLOSE "Close" #define SLEEP_TIMEOUT 100 #define USER32_DLL "user32.dll" #define END_TASK "EndTask" typedef BOOL (WINAPI *fEndTask)(HWND hWnd, BOOL fShutDown, BOOL fForce); HWND g_hRkUWindow = NULL; BOOL g_fChildWindowsFound = FALSE; BOOL g_fBtnUnhookAll = FALSE; BOOL g_fBtnUnhookSel = FALSE; BOOL g_fBtnScan = FALSE; BOOL g_fBtnClose = FALSE; // // EnumChildProc() // BOOL CALLBACK EnumChildProc(HWND hWnd, LPARAM lParam) { CHAR szWindowTitle[256]; INT iWindowTitleLn; iWindowTitleLn = GetWindowText(hWnd, szWindowTitle, sizeof szWindowTitle / sizeof szWindowTitle[0] - 1); if (!strcmp(szWindowTitle, RKU_BTN_UNHOOK_ALL)) g_fBtnUnhookAll = TRUE; if (!strcmp(szWindowTitle, RKU_BTN_UNHOOK_SEL)) g_fBtnUnhookSel = TRUE; if (!strcmp(szWindowTitle, RKU_BTN_SCAN)) g_fBtnScan = TRUE; if (!strcmp(szWindowTitle, RKU_BTN_CLOSE)) g_fBtnClose = TRUE; if (g_fBtnUnhookAll && g_fBtnUnhookSel && g_fBtnScan && g_fBtnClose) { g_fChildWindowsFound = TRUE; return FALSE; } return TRUE; } // // EnumWindowsProc() // BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam) { CHAR szWindowTitle[256], szClassName[256]; INT iWindowTitleLn; INT i; iWindowTitleLn = GetWindowText(hWnd, szWindowTitle, sizeof szWindowTitle / sizeof szWindowTitle[0] - 1); // if (iWindowTitleLn == RKU_WINDOW_TITLE_LEN) if ((iWindowTitleLn >= RKU_WINDOW_TITLE_MIN_LEN) && (iWindowTitleLn <= RKU_WINDOW_TITLE_MAX_LEN)) { for (i = 0; i < iWindowTitleLn; i++) { if (!((szWindowTitle[i] >= '0' && szWindowTitle[i] <= '9') || (szWindowTitle[i] >= 'A' && szWindowTitle[i] <= 'F'))) break; } if (i == iWindowTitleLn) { GetClassName(hWnd, szClassName, sizeof szClassName / sizeof szClassName[0] - 1); if (!strcmp(szClassName, RKU_WINDOW_CLASS_NAME)) { EnumChildWindows(hWnd, EnumChildProc, (LPARAM)NULL); if (g_fChildWindowsFound) { g_hRkUWindow = hWnd; return FALSE; } } } } return TRUE; } // // main() // int main(int argc, char* argv[]) { HMODULE hUser32 = NULL; fEndTask _EndTask; HANDLE hDevice; printf("RkUKiller, version 1.0; Copyright (c) aintrust, 2006

    "
    ); hUser32 = GetModuleHandle(USER32_DLL); if (hUser32 == NULL) { hUser32 = LoadLibrary(USER32_DLL); if (hUser32 == NULL) { printf("RkUKiller error: Unable to get user32.dll handle, error %d
    "
    , GetLastError()); _getch(); return 1; } } _EndTask = (fEndTask)GetProcAddress(hUser32, END_TASK); if (_EndTask == NULL) { printf("RkUKiller error: Unable to get EndTask() function address, error %d
    "
    , GetLastError()); _getch(); return 1; } // // Let's wait for a while till RkU driver has been launched... // printf("Waiting for RkU driver (press Ctrl-C to cancel)... "); while (TRUE) { if (DefineDosDevice(DDD_RAW_TARGET_PATH, RKU_SYS_DEVICE_NAME, RKU_SYS_DEVICE)) break; Sleep(SLEEP_TIMEOUT); } while (TRUE) { hDevice = CreateFile("\\\\.\\" RKU_SYS_DEVICE_NAME, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hDevice != INVALID_HANDLE_VALUE) break; Sleep(SLEEP_TIMEOUT); } printf("OK
    "
    ); CloseHandle(hDevice); // // RkU has been loaded -- it's time to find (as reliable as we can) its window, if any... // EnumWindows(EnumWindowsProc, (LPARAM)NULL); if (g_hRkUWindow == NULL) { printf("No RkU window found, bye...
    "
    ); _getch(); return 1; } // // RkU window is found, just terminate it... // if (!(_EndTask(g_hRkUWindow, FALSE, TRUE))) { printf("RkUKiller error: EndTask() call failed, error %d
    "
    , GetLastError()); _getch(); return 1; } printf("RkU has been terminated successfully, bye...
    "
    ); _getch(); return 0; }  

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    đây là cách của bọn nước ngoài,mình không nhớ link,source này mình thử test nhưng không kill được,đang chưa biết cách sử dụng

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi Cpro
    đây là cách của bọn nước ngoài,mình không nhớ link,source này mình thử test nhưng không kill được,đang chưa biết cách sử dụng
    http://virusvn.com/forum/showthread.php?t=287

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    đây là phương pháp kill process có cửa sổ bằng cách đặt cửa sổ bất kỳ làm cửa sổ cha của Process,sau đó kill cửa sổ cha đó thì tất cả đều bị kill,nó khác với phương pháp source mình vừa post mà

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •