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

Đề tài: AntiHack Game - Source Check title Gần đúng

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

    Question AntiHack Game - Source Check title Gần đúng

    Chân thành cảm ơn sự quan tâm của của bạn . Vấn đề mình hỏi liên quan đến việc antihack dành cho Game . Hiện mình có sưu tập được 1 đoạn Source antihack thông qua việc check title . Cơ chế của nó là : khi chạy sẽ kiểm tra tiêu đề của các phần mềm đang chạy , nếu giống 100% tên trong source thì nó sẽ out Game . Nhược điểm của nó là tên phải chính xác 100%, phân biệt cả chữ hoa và chữ thường . Nghĩa là nếu Soft có tên : Speed Gear 6.0 , mà ta add vào source là : speed gear 6.0 hoặc Speed Gear . Thì không có tác dụng . Liệu các bạn có thể sửa đoạn source này thành việc chỉ check title gần đúng thay vì phải đúng 100% ?

    Đây là nguyên văn đoạn Source của mình

    Antihack.cpp

    Visual C++ Code:
    1. // --------------------------------------------------------
    2. //    Dll original: f1x / [email]f1ksiu@hotmail.com[/email]
    3. //    Creation date: 2008-06-26
    4. //    Cheats Added: Mulegend & LaiPro
    5. //  Addeed date : 26-04-2009
    6. //  Total cheats: 92
    7. //  Edit Reload CRC Check by LaiPro (cau2.0nljne_1102@yahoo.com.vn)
    8. // --------------------------------------------------------
    9.  
    10. #include <iostream>
    11. #include "stdafx.h"
    12. #include "Antihack.h"
    13. #include <tlhelp32.h>
    14. #include <windows.h>
    15. #include <stdlib.h>
    16. #include "crc.h"
    17.  
    18.  
    19. ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] =
    20. {
    21. {0x6E5B88, {0xFF, 0x96, 0xF4, 0x78, 0x2E, 0x00, 0x09, 0xC0, 0x74, 0x07, 0x89, 0x03, 0x83, 0xC3, 0x04, 0xEB, 0xD8, 0xFF, 0x96, 0x04, 0x79, 0x2E, 0x00, 0x8B, 0xAE, 0xF8, 0x78, 0x2E, 0x00, 0x8D, 0xBE, 0x00}} //MuProxy by Luciano
    22. };
    23.  
    24. int mypid;
    25. bool timcuaso(LPSTR tencuaso)
    26. {
    27.      char szText1[256];
    28.    
    29. HWND tim = FindWindowA(0,tencuaso);
    30. if
    31. (tim>0)
    32. {  
    33.                             MessageBoxA(FindWindowA(0,"MU"), "Block Vinh Vien .\n\n Neu Ban Su Dung HACK.", "Mu GameGuard System", MB_OK | MB_ICONSTOP);  
    34.                         ExitProcess(0);
    35. return 1;
    36. }
    37. }
    38.  
    39. void SystemProcessesScan() {
    40.     HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    41.     if(hProcessSnap != INVALID_HANDLE_VALUE)
    42.     {
    43.         PROCESSENTRY32 pe32;
    44.         pe32.dwSize = sizeof(PROCESSENTRY32);
    45.  
    46.         if(Process32First(hProcessSnap, &pe32))
    47.         {
    48.             do
    49.             {
    50.                 HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
    51.                 if(hProcess != NULL)
    52.                 {
    53.                     if(ScanProcessMemory(hProcess))
    54.                     {
    55.                        
    56.                         ExitProcess(0);
    57.                        
    58.                     }
    59.                 }
    60.             }
    61.             while(Process32Next(hProcessSnap, &pe32));
    62.         }
    63.     }
    64.  
    65.     CloseHandle(hProcessSnap);
    66. }
    67.  
    68. bool ScanProcessMemory(HANDLE hProcess)
    69. {
    70.     for(int i = 0; i < MAX_PROCESS_DUMP; i++)
    71.     {
    72.         char aTmpBuffer[MAX_DUMP_SIZE];
    73.         SIZE_T aBytesRead = 0;
    74.         ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead);
    75.  
    76.         if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0)
    77.         {
    78.             return true;
    79.             break;
    80.         }
    81. }
    82. return false;
    83. }
    84.  
    85. void MainThread()
    86. {
    87. again:
    88.   //  SystemProcessesScan();
    89.     Sleep(2000);
    90.     goto again;
    91. }
    92.  
    93. void CheckCRC32() {
    94.     timcuaso("Cheat Engine 5.5");
    95.     timcuaso("MoonLight Engine 1236");
    96.     timcuaso("Muproxy");
    97.     timcuaso("HideToolz");
    98.         timcuaso("Hide Toolz");
    99.         timcuaso("Gproxy");
    100.         timcuaso("Gproxy Fuck Grishhaaa pussy and Muwars.lv server");
    101.         timcuaso("Revolution Engine 8.3");
    102.         timcuaso("AlienzUCE");
    103.         timcuaso("MuProxy Builder");
    104.         timcuaso("Proxifier");
    105.                 //CheckSum32
    106. CCRC32 MyCRC32;
    107. MyCRC32.Initialize(); //Only have to do this once.
    108.  
    109. unsigned long ulCRC1 = MyCRC32.FileCRC("Data/Player/Player.bmd"); //check file player
    110.  
    111. {
    112. //MessageBoxA(NULL,"Phien ban client cua ban da bi loi! vui long download client tu trang chu","Laucher",NULL);
    113. //ExitProcess(0);
    114. }
    115.  
    116. if(ulCRC1 != 0x297457b2)
    117. {
    118. //    MessageBoxA(NULL,"check","Check player.bmd",NULL);
    119. ExitProcess(0);
    120. }
    121. unsigned long ulCRC3 = MyCRC32.FileCRC("Data/Item/Wing44.bmd");// check file wing44
    122.  
    123. if(ulCRC3 != 0x19a2adb0)
    124. {
    125. //    MessageBoxA(NULL,"check","Check Wing44.bmd",NULL);
    126. ExitProcess(0);
    127. }
    128.  
    129.  
    130.  
    131. }
    132.  
    133. void Return()
    134. {
    135. again:
    136.     CheckCRC32();
    137.     Sleep(10000);
    138.     goto again;
    139. }
    140.    
    141. extern  "C"  __declspec(dllexport) void main1s() {
    142. //Loads all functions(CRC,Hack)
    143. //f1x Code Edit by LaiPro:
    144.     MessageBoxA(NULL,"Qua Trinh Kiem Tra Thanh Cong","AntiHack by Team @NET",NULL);
    145.    
    146.     mypid=GetCurrentProcessId();
    147.    
    148. CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MainThread),NULL,0,0);
    149. //SystemProcessesScan();
    150. CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(Return),NULL,0,0);
    151.  
    152.  
    153.  
    154. CheckCRC32();
    155. }

    Antihack.h
    Visual C++ Code:
    1. // ----------------------------------------------------
    2. //  Dll original: f1x / [email]f1ksiu@hotmail.com[/email]
    3. //  Creation date: 2008-06-26
    4. //  Cheats Added: Mulegend
    5. //  Addeed date : 26-04-2009
    6. //  Total cheats: 92
    7. //  Edit Reload CRC Check by LaiPro (cau2.0nljne_1102@yahoo.com.vn)
    8. // ----------------------------------------------------
    9.  
    10. #ifndef ANTIHACK_ANTIHACK_H
    11. #define ANTIHACK_ANTIHACK_H
    12.  
    13. #define MAX_DUMP_OFFSETS 262
    14. #define MAX_DUMP_SIZE 32
    15. #define MAX_PROCESS_DUMP 262
    16.  
    17.  
    18. typedef struct ANITHACK_PROCDUMP {
    19.     unsigned int m_aOffset;
    20.     unsigned char m_aMemDump[MAX_DUMP_SIZE];
    21. } *PANITHACK_PROCDUMP;
    22.  
    23. extern ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP];
    24.  
    25. void SystemProcessesScan();
    26. bool ScanProcessMemory(HANDLE hProcess);
    27. void CheckCRC32();
    28.  
    29. #endif //ANTIHACK_ANTIHACK_H

    CRC.cpp


    Visual C++ Code:
    1. // ----------------------------------------------------
    2. // File Name: CRC.cpp
    3. // Creation Date: 2008-09-24
    4. // Author: SmallHabit / [email]SmallHabit@inbox.lv[/email]
    5. // ----------------------------------------------------
    6.  
    7. #ifndef _CCRC32_CPP
    8. #define _CCRC32_CPP
    9.  
    10. #include <windows.h>
    11. #include <stdio.h>
    12. #include <stdlib.h>
    13. #include <iostream>
    14.  
    15. #include "crc.h"
    16.  
    17.  
    18. void CCRC32::Initialize(void)
    19. {
    20. memset(&this->ulTable, 0, sizeof(this->ulTable));
    21.  
    22. // 256 values representing ASCII character codes.
    23. for(int iCodes = 0; iCodes <= 0xFF; iCodes++)
    24. {
    25. this->ulTable[iCodes] = this->Reflect(iCodes, 8) << 24;
    26.  
    27. for(int iPos = 0; iPos < 8; iPos++)
    28. {
    29. this->ulTable[iCodes] = (this->ulTable[iCodes] << 1) ^
    30. (this->ulTable[iCodes] & (1 << 31) ? CRC32_POLYNOMIAL : 0);
    31. }
    32.  
    33. this->ulTable[iCodes] = this->Reflect(this->ulTable[iCodes], 32);
    34. }
    35. }
    36.  
    37. // Reflection is a requirement for the official CRC-32 standard.
    38. // You can create CRCs without it, but they won't conform to the standard.
    39.  
    40. unsigned long CCRC32::Reflect(unsigned long ulReflect, char cChar)
    41. {
    42. unsigned long ulValue = 0;
    43.  
    44. // Swap bit 0 for bit 7 bit 1 For bit 6, etc....
    45. for(int iPos = 1; iPos < (cChar + 1); iPos++)
    46. {
    47. if(ulReflect & 1) ulValue |= 1 << (cChar - iPos);
    48. ulReflect >>= 1;
    49. }
    50.  
    51. return ulValue;
    52. }
    53.  
    54.  
    55. unsigned long CCRC32::FileCRC(const char *sFileName)
    56. {
    57. unsigned long ulCRC = 0xffffffff;
    58.  
    59. FILE *fSource = NULL;
    60. unsigned char sBuf[CRC32BUFSZ];
    61. int iBytesRead = 0;
    62.  
    63. if( (fSource = fopen(sFileName, "rb")) == NULL)
    64. {
    65. return 0xffffffff;
    66. }
    67.  
    68. do{
    69. iBytesRead = fread(sBuf, sizeof(char), CRC32BUFSZ, fSource);
    70. this->PartialCRC(&ulCRC, sBuf, iBytesRead);
    71. }while(iBytesRead == CRC32BUFSZ);
    72.  
    73. fclose(fSource);
    74.  
    75. return(ulCRC ^ 0xffffffff);
    76. }
    77.  
    78.  
    79. unsigned long CCRC32::FullCRC(unsigned char *sData, unsigned long ulLength)
    80. {
    81. unsigned long ulCRC = 0xffffffff;
    82. this->PartialCRC(&ulCRC, sData, ulLength);
    83. return ulCRC ^ 0xffffffff;
    84. }
    85.  
    86.  
    87. //For Example usage example, see FileCRC().
    88. void CCRC32::PartialCRC(unsigned long *ulInCRC, unsigned char *sData, unsigned long ulLength)
    89. {
    90. while(ulLength--)
    91. {
    92. *ulInCRC = (*ulInCRC >> 8) ^ this->ulTable[(*ulInCRC & 0xFF) ^ *sData++];
    93. }
    94. }
    95.  
    96. #endif

    CRC.h


    Visual C++ Code:
    1. // ----------------------------------------------------
    2. // File Name: CRC.h
    3. // Creation Date: 2008-09-24
    4. // Author: SmallHabit / [email]SmallHabit@inbox.lv[/email]
    5. // ----------------------------------------------------
    6. #ifndef _CCRC32_H
    7. #define _CCRC32_H
    8.  
    9. // This is the official polynomial used by CRC-32 in PKZip, WinZip and Ethernet.
    10. #define CRC32_POLYNOMIAL 0x04c11db7
    11. #define CRC32BUFSZ 1024 //Used for FileCRC()
    12.  
    13. class CCRC32{
    14.  
    15. public:
    16. void Initialize(void);
    17.  
    18. unsigned long FileCRC(const char *sFileName);
    19. unsigned long FullCRC(unsigned char *sData, unsigned long ulLength);
    20. void PartialCRC(unsigned long *ulInCRC, unsigned char *sData, unsigned long ulLength);
    21.  
    22. private:
    23. unsigned long Reflect(unsigned long ulReflect, char cChar);
    24. unsigned long ulTable[256]; // CRC lookup table array.
    25. };
    26.  
    27. #endif

    STDAFX.cpp


    Visual C++ Code:
    1. // ----------------------------------------------------
    2. //  Dll original: f1x / [email]f1ksiu@hotmail.com[/email]
    3. //  Creation date: 2008-06-26
    4. //  Cheats Added: Mulegend
    5. //  Addeed date : 26-04-2009
    6. //  Total cheats: 73
    7. // ----------------------------------------------------
    8.  
    9. #include "stdafx.h"
    10.  
    11. // TODO: reference any additional headers you need in STDAFX.H
    12. // and not in this file

    STDAFX.h


    Visual C++ Code:
    1. // ----------------------------------------------------
    2. //  Dll original: f1x / [email]f1ksiu@hotmail.com[/email]
    3. //  Creation date: 2008-06-26
    4. //  Cheats Added: Mulegend
    5. //  Addeed date : 26-04-2009
    6. //  Total cheats: 73
    7. // ----------------------------------------------------
    8. #pragma once
    9.  
    10. // Modify the following defines if you have to target a platform prior to the ones specified below.
    11. // Refer to MSDN for the latest info on corresponding values for different platforms.
    12. #ifndef WINVER              // Allow use of features specific to Windows XP or later.
    13. #define WINVER 0x0501       // Change this to the appropriate value to target other versions of Windows.
    14. #endif
    15.  
    16. #ifndef _WIN32_WINNT        // Allow use of features specific to Windows XP or later.                  
    17. #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
    18. #endif                     
    19.  
    20. #ifndef _WIN32_WINDOWS      // Allow use of features specific to Windows 98 or later.
    21. #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
    22. #endif
    23.  
    24. #ifndef _WIN32_IE           // Allow use of features specific to IE 6.0 or later.
    25. #define _WIN32_IE 0x0600    // Change this to the appropriate value to target other versions of IE.
    26. #endif
    27.  
    28. #define WIN32_LEAN_AND_MEAN     // Exclude rarely-used stuff from Windows headers
    29. // Windows Header Files:
    30. #include <windows.h>
    31.  
    32.  
    33.  
    34. // TODO: reference additional headers your program requires here

  2. #2
    Ngày gia nhập
    09 2010
    Bài viết
    5

    Theo mình bạn chỉ cần làm đơn giản thế này....
    bạn thay thế bool timcuaso()


    CHAR szTitle[255],title2[255];
    void check_title()
    {
    HWND hwnd = GetForegroundWindow(); // lay hwnd cua so dang su dung.
    GetWindowTextA(hwnd,szTitle,255); // lay tieu de cua cua so dang su dung
    strcpy(title2,strupr(szTitle)); // chuyen title thang chu hoa ... vi du : Speed Gear 6.0 thanh SPEED GEAR 6.0
    if (strstr(title2,TEXT("TEN_TITLE_VIET_HOA"))!=NULL)
    {
    ExitProcess(0); // khong nen de messagebox
    }
    }
    }

  3. #3
    Ngày gia nhập
    05 2013
    Bài viết
    2

    Mình làm như bạn hướng dẫn khi build lại báo lỗi:
    Code:
    Antihack.cpp
    D:\Project\Antihack.cpp(27) : error C2082: redefinition of formal parameter 'szTitle'
    D:\Project\Antihack.cpp(29) : error C2601: 'check_title' : local function definitions are illegal
    Error executing cl.exe.
    Đây là file mình sửa lại như bạn hướng dẫn.
    Bạn có thể giúp mình lại được không?
    Code:
    // --------------------------------------------------------
    //    Dll original: f1x / f1ksiu@hotmail.com
    //    Creation date: 2008-06-26
    //    Cheats Added: Mulegend & LaiPro
    //  Addeed date : 26-04-2009
    //  Total cheats: 92
    //  Edit Reload CRC Check by LaiPro (cau2.0nljne_1102@yahoo.com.vn)
    // --------------------------------------------------------
    
    #include <iostream>
    #include "stdafx.h"
    #include "Antihack.h"
    #include <tlhelp32.h>
    #include <windows.h>
    #include <stdlib.h>
    #include "crc.h"
    
    
    ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] =
    {
    {0x6E5B88, {0xFF, 0x96, 0xF4, 0x78, 0x2E, 0x00, 0x09, 0xC0, 0x74, 0x07, 0x89, 0x03, 0x83, 0xC3, 0x04, 0xEB, 0xD8, 0xFF, 0x96, 0x04, 0x79, 0x2E, 0x00, 0x8B, 0xAE, 0xF8, 0x78, 0x2E, 0x00, 0x8D, 0xBE, 0x00}} //MuProxy by Luciano
    };
    
    int mypid;
    bool timcuaso(LPSTR szTitle)
    {
    CHAR szTitle[255],title2[255];
    void check_title()
    {
    HWND hwnd = GetForegroundWindow(); // lay hwnd cua so dang su dung.
    GetWindowTextA(hwnd,szTitle,255); // lay tieu de cua cua so dang su dung
    strcpy(title2,strupr(szTitle)); // chuyen title thang chu hoa ... vi du : Speed Gear 6.0 thanh SPEED GEAR 6.0
    if (strstr(title2,TEXT("TEN_TITLE_VIET_HOA"))!=NULL)
    {
    ExitProcess(0); // khong nen de messagebox
    }
    }
    }  
    
    void SystemProcessesScan() {
        HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
        if(hProcessSnap != INVALID_HANDLE_VALUE)
        {
            PROCESSENTRY32 pe32;
            pe32.dwSize = sizeof(PROCESSENTRY32);
    
            if(Process32First(hProcessSnap, &pe32))
            {
                do
                {
                    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
                    if(hProcess != NULL)
                    {
                        if(ScanProcessMemory(hProcess))
                        {
                           
                            ExitProcess(0);
                           
                        }
                    }
                }
                while(Process32Next(hProcessSnap, &pe32));
            }
        }
    
        CloseHandle(hProcessSnap);
    }
    
    bool ScanProcessMemory(HANDLE hProcess)
    {
        for(int i = 0; i < MAX_PROCESS_DUMP; i++)
        {
            char aTmpBuffer[MAX_DUMP_SIZE];
            SIZE_T aBytesRead = 0;
            ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead);
    
            if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0)
            {
                return true;
                break;
            }
    }
    return false;
    }
    
    void MainThread()
    {
    again:
      //  SystemProcessesScan();
        Sleep(2000);
        goto again;
    }
    
    void CheckCRC32() {
        timcuaso("Cheat Engine 5.5");
        timcuaso("MoonLight Engine 1236");
        timcuaso("Muproxy");
        timcuaso("HideToolz");
            timcuaso("Hide Toolz");
            timcuaso("Gproxy");
            timcuaso("Gproxy Fuck Grishhaaa pussy and Muwars.lv server");
            timcuaso("Revolution Engine 8.3");
            timcuaso("AlienzUCE");
            timcuaso("MuProxy Builder");
            timcuaso("Proxifier");
                    //CheckSum32
    CCRC32 MyCRC32;
    MyCRC32.Initialize(); //Only have to do this once.
    
    unsigned long ulCRC1 = MyCRC32.FileCRC("Data/Player/Player.bmd"); //check file player
    
    {
    //MessageBoxA(NULL,"Phien ban client cua ban da bi loi! vui long download client tu trang chu","Laucher",NULL);
    //ExitProcess(0);
    }
    
    if(ulCRC1 != 0x297457b2)
    {
    //    MessageBoxA(NULL,"check","Check player.bmd",NULL);
    ExitProcess(0);
    }
    unsigned long ulCRC3 = MyCRC32.FileCRC("Data/Item/Wing44.bmd");// check file wing44
    
    if(ulCRC3 != 0x19a2adb0)
    {
    //    MessageBoxA(NULL,"check","Check Wing44.bmd",NULL);
    ExitProcess(0);
    }
    
    
    
    }
    
    void Return()
    {
    again:
        CheckCRC32();
        Sleep(10000);
        goto again;
    }
       
    extern  "C"  __declspec(dllexport) void main1s() {
    //Loads all functions(CRC,Hack)
    //f1x Code Edit by LaiPro:
        MessageBoxA(NULL,"Qua Trinh Kiem Tra Thanh Cong","AntiHack by Team @NET",NULL);
       
        mypid=GetCurrentProcessId();
       
    CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MainThread),NULL,0,0);
    //SystemProcessesScan();
    CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(Return),NULL,0,0);
    
    
    
    CheckCRC32();
    }

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

  1. Build dll Antihack Game check theo tên soft hack bị lỗi.
    Gửi bởi luutrunhac trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 13-03-2014, 10:53 PM
  2. AntiHack Game - Source Check title Gần đúng
    Gửi bởi cuocdoisp trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 5
    Bài viết cuối: 11-09-2010, 11:17 AM
  3. Timer check không đúng
    Gửi bởi tienlbhoc trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 21-05-2008, 10:57 PM
  4. Tại sao ko hiển thị đúng nội dung file Excel lên DataGrid (có Source đi kèm)
    Gửi bởi clairsang trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 15-10-2007, 11:34 PM

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