Chạy ổn đấy chứ. Cách làm đơn giản mà hiệu quả.
Hello a e.
Mặc dù gh+ đã tuyên bố "cai" máy tính 1 tuần nhưng chỉ mới 3 ngày gh+ đã không chịu nổi và phải mò lên đây (Người không giữ chữ "tín" như thế này sao còn tồn tại được trên đời nhỉ- Lưu Ngạn Sương hôm qua nói thế
)
Dạo này mình thấy khá nhiều bạn dạo trên các diễn đàn để hỏi cách phát hiện các chương trình gian lận cho game (nghe đồn là tìm và diệt). Và cũng có khá nhiều bạn phàn nàn về chương trình có tên là HideToolz
Bổ sung: HideToolz là một tiện ích nhỏ được viết bằng Delphi. (tải về ở đây)Hình như ông tác giả dev nó để ẩn mấy thằng Debuger như OllyDbg, Cheat Engine,... Nhưng cũng có mấy bạn sử dụng nó để che giấu các phần mềm gian lận game (mà hình như game mấy ông này phát hành cũng là đồ "lậu")
Mặc dù HideToolz sử dụng driver để hook khá nhiều hàm trong bảng SSDT và SSDT Shadow nhưng lại để lộ khá nhiều sơ hở. Ta có thể dùng một vài thủ thuật đơn giản là có thể phát hiện ra được.
Ở đây gh+ viết 1 đoạn chương trình nhỏ để phát hiện ra HideToolz và các chương trình bị nó ẩn. (có thể kill nếu muốn). Working for XP/Vista/Win7
và source cho bạn nào cần:
C++ Code:
#define WINNT 1 // Define for using EndTask API #include <windows.h> #include <conio.h> #include <stdio.h> struct ProcInfo { HWND hWnd; DWORD dwProcId; CHAR szTitle[255]; CHAR szClass[255]; }; void main() { DWORD dwProcId; HWND hWnd; ProcInfo mProc[255]; int mIdList[255]; int nCount = 0; int nPID = 0; int i = 0; printf("DETECT HIDDEN PROCESS OF HIDE TOOLZ VER 2.X\n"); printf("Author: gianghoplus [gianghoplus@gmail.com]\n"); printf("Copyright (c) 2010 www.virusvn.com\n\n"); hWnd = FindWindow(0,0); while( hWnd > 0) { if (GetParent(hWnd) == 0) // && IsWindowVisible(hWnd) { GetWindowThreadProcessId(hWnd, &dwProcId); // Kiem tra xem OpenProcess co bi chan bang Hooking khong ? if (!OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcId)) { mProc[nCount].hWnd = hWnd; mProc[nCount].dwProcId = dwProcId ; GetWindowTextA(hWnd, mProc[nCount].szTitle, 255); GetClassNameA(hWnd, mProc[nCount].szClass, 255); printf("%2d. ProcessId: %d\n - Class Name: %s\n - Window Title: %s\n", nCount+1, dwProcId, mProc[nCount].szClass, mProc[nCount].szTitle); printf(" - Window Handle: 0x%X\n - Window State: %s\n\n", hWnd, IsWindowVisible(hWnd) ? "Shown" : "Hidden"); nCount++; for (i = 0; i < nPID; i++) if (dwProcId == mIdList[i]) // Kiem tra co chua ? break; if (i == nPID) mIdList[nPID++] = dwProcId; // Cho vao danh sach } } hWnd = GetWindow(hWnd, GW_HWNDNEXT); // Chuyen sang cua so ke tiep } printf("\n=> Detected %d windows of %d hidden process.\n", nCount, nPID); if (nCount > 0) { printf("\n<?> DO YOU WANT TO TERMINATE ALL (Y/N): "); CHAR c = getchar(); if (c == 'Y' || c == 'y') { for (i = 0; i < nCount; i++) { if (IsWindow(mProc[i].hWnd)) // Cua so nay con ton tai khong ? { // Thu tat lan luot bang 4 buoc ? SendMessageA(mProc[i].hWnd, WM_CLOSE, 0, 0); // 1. Close SendMessageA(mProc[i].hWnd, WM_QUIT, 0, 0); // 2. Quit SendMessageA(mProc[i].hWnd, WM_DESTROY, 0, 0); // 3. Destroy EndTask(mProc[i].hWnd, FALSE, TRUE); // 4. EndTask printf("\n [+] Found Window Handle 0x%08X of ProcessId %4d. Terminate: ", mProc[i].hWnd, mProc[i].dwProcId); printf( IsWindow(mProc[i].hWnd) ? "Error" : "OK" ); // Kiem tra lai ket qua ? } } } } printf("\n\nVISIT TO MY WEBSITES:\n\n"); // Tranh thu quang cao ti ^^! printf(" [+] http://forums.giangho.tv\n [+] http://auto.giangho.tv\n [+] http://www.vn-soft.net"); getch(); }
Làm ơn đừng hỏi mình biên dịch như thế nào, tại sao biên dịch lỗi, chuyển thành dll thế nào, ...
Đã được chỉnh sửa lần cuối bởi gianghoplus : 12-08-2010 lúc 10:05 AM.
Ân oán giang hồ nuôi tôi lớn
Cuộc đời khốn nạn dạy tôi khôn
Không đâm không chém đời không nể
Không tiền không bạc gái không theo
----------------------
Visit my blog: http://nova-soft.net/
Chạy ổn đấy chứ. Cách làm đơn giản mà hiệu quả.
Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó.Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
Phone: 0972 89 7667
Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp hoặc bị sự thiếu kỷ luật làm tiêu tan sự nghiệp.
Do you want to terminate all .....
Úi, xin lỗi. Sai ngữ pháp nghiêm trọng. Giờ mới để ý. Ngại chết đi được
Nếu thay PROCESS_QUERY_INFORMATION thành PROCESS_NAME_NATIVE thì nó có thể phát hiện ra hết mấy cái như Ice Sword, XueTr, Rootkit Unhooker,... tuy nhiên cách kill thì phải có phương pháp riêng cho từng thằng
Ân oán giang hồ nuôi tôi lớn
Cuộc đời khốn nạn dạy tôi khôn
Không đâm không chém đời không nể
Không tiền không bạc gái không theo
----------------------
Visit my blog: http://nova-soft.net/