Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: [Detect HideToolz] Tìm HideToolz và các process bị nó ẩn

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    223

    Mặc định [Detect HideToolz] Tìm HideToolz và các process bị nó ẩn

    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:
    1. #define WINNT 1 // Define for using EndTask API
    2.  
    3. #include <windows.h>
    4. #include <conio.h>
    5. #include <stdio.h>
    6.  
    7. struct ProcInfo {
    8.     HWND hWnd;
    9.     DWORD dwProcId;
    10.     CHAR szTitle[255];
    11.     CHAR szClass[255];
    12. };
    13.  
    14. void main()
    15. {
    16.     DWORD dwProcId;
    17.     HWND hWnd;
    18.     ProcInfo mProc[255];
    19.     int mIdList[255];
    20.     int nCount = 0;
    21.     int nPID = 0;
    22.     int i = 0;
    23.  
    24.     printf("DETECT HIDDEN PROCESS OF HIDE TOOLZ VER 2.X\n");
    25.     printf("Author: gianghoplus [gianghoplus@gmail.com]\n");
    26.     printf("Copyright (c) 2010 www.virusvn.com\n\n");
    27.  
    28.     hWnd = FindWindow(0,0);
    29.  
    30.     while( hWnd > 0)
    31.     {
    32.         if (GetParent(hWnd) == 0) // && IsWindowVisible(hWnd)
    33.         {
    34.             GetWindowThreadProcessId(hWnd, &dwProcId);
    35.  
    36.             // Kiem tra xem OpenProcess co bi chan bang Hooking khong ?
    37.             if (!OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcId))
    38.             {
    39.                 mProc[nCount].hWnd = hWnd;
    40.                 mProc[nCount].dwProcId = dwProcId ;
    41.  
    42.                 GetWindowTextA(hWnd, mProc[nCount].szTitle, 255);
    43.                 GetClassNameA(hWnd, mProc[nCount].szClass, 255);
    44.  
    45.                 printf("%2d. ProcessId: %d\n   - Class Name: %s\n   - Window Title: %s\n",
    46.                     nCount+1, dwProcId, mProc[nCount].szClass, mProc[nCount].szTitle);
    47.                 printf("   - Window Handle: 0x%X\n   - Window State: %s\n\n",
    48.                     hWnd, IsWindowVisible(hWnd) ? "Shown" : "Hidden");
    49.                 nCount++;
    50.  
    51.                 for (i = 0; i < nPID; i++)
    52.                     if (dwProcId == mIdList[i])  // Kiem tra co chua ?
    53.                         break;
    54.  
    55.                 if (i == nPID)
    56.                      mIdList[nPID++] = dwProcId; // Cho vao danh sach
    57.             }
    58.         }
    59.         hWnd = GetWindow(hWnd, GW_HWNDNEXT); // Chuyen sang cua so ke tiep
    60.     }
    61.    
    62.     printf("\n=> Detected %d windows of %d hidden process.\n", nCount, nPID);
    63.  
    64.     if (nCount > 0)
    65.     {
    66.         printf("\n<?> DO YOU WANT TO TERMINATE ALL (Y/N): ");
    67.  
    68.         CHAR c = getchar();
    69.  
    70.         if (c == 'Y' || c == 'y')
    71.         {
    72.             for (i = 0; i < nCount; i++)
    73.             {
    74.                 if (IsWindow(mProc[i].hWnd)) // Cua so nay con ton tai khong ?
    75.                 {
    76.                     // Thu tat lan luot bang 4 buoc ?
    77.                     SendMessageA(mProc[i].hWnd, WM_CLOSE, 0, 0);    // 1. Close
    78.                     SendMessageA(mProc[i].hWnd, WM_QUIT, 0, 0);     // 2. Quit
    79.                     SendMessageA(mProc[i].hWnd, WM_DESTROY, 0, 0);  // 3. Destroy
    80.                     EndTask(mProc[i].hWnd, FALSE, TRUE);            // 4. EndTask
    81.                    
    82.                     printf("\n [+] Found Window Handle 0x%08X of ProcessId %4d. Terminate: ",  
    83.                         mProc[i].hWnd, mProc[i].dwProcId);
    84.                     printf( IsWindow(mProc[i].hWnd) ? "Error" : "OK" ); // Kiem tra lai ket qua ?
    85.                 }
    86.             }
    87.         }
    88.     }
    89.  
    90.     printf("\n\nVISIT TO MY WEBSITES:\n\n"); // Tranh thu quang cao ti ^^!
    91.     printf(" [+] http://forums.giangho.tv\n [+] http://auto.giangho.tv\n [+] http://www.vn-soft.net");
    92.     getch();
    93. }

    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, ...
    Attached Files Attached Files
    Đã đượ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/

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,760

    Chạy ổn đấy chứ. Cách làm đơn giản mà hiệu quả.
    Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667

    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 đó.
    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.

  3. #3
    Ngày gia nhập
    06 2009
    Bài viết
    129

    Do you want to terminate all .....

  4. #4
    Ngày gia nhập
    09 2008
    Bài viết
    223

    Trích dẫn Nguyên bản được gửi bởi windows Xem bài viết
    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/

Các đề tài tương tự

  1. anti hidetoolz, ẩn luôn cả chương trình của mình. ai biết chỉnh giúp mình với
    Gửi bởi kumamuka trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 5
    Bài viết cuối: 12-03-2012, 10:12 PM
  2. ẩn driver của HideToolz như thế nào?
    Gửi bởi zeroplus trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 13-01-2012, 04:17 PM
  3. [Linux API] Hướng Dẫn Kỹ Thuật Inter Process Memory và semaphore Nhiều Process
    Gửi bởi AlexF trong diễn đàn Thủ thuật, Tutorials và Mã nguồn
    Trả lời: 0
    Bài viết cuối: 21-04-2011, 11:06 PM
  4. Detect New Service Create
    Gửi bởi MartSoft trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 10-10-2009, 12:01 PM
  5. Hardware detect trong MFC
    Gửi bởi keancaptinh trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 25-08-2009, 10:45 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn