Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 16 kết quả

Đề tài: source dll chống chương trình Cheat engine 5.5 và speed gear 6, giúp mình sửa lỗi?

  1. #1
    Ngày gia nhập
    05 2009
    Bài viết
    4

    Question source dll chống chương trình Cheat engine 5.5 và speed gear 6, giúp mình sửa lỗi?

    antihack.cpp
    Visual C++ Code:
    1. #include "stdafx.h"
    2. #include "Antihack.h"
    3. #include <tlhelp32.h>
    4. #include <windows.h>
    5. #include <stdlib.h>
    6.  
    7.  
    8. #ifdef _MANAGED
    9. #pragma managed(push, off)
    10. #endif
    11.  
    12. ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] = {
    13.                                          {0x606140, {0x8C, 0x79, 0x60, 0x00, 0xE0, 0xA8, 0x60, 0x00, 0x18, 0x70, 0x4D, 0x00, 0xE8, 0x18, 0x60, 0x00, 0x8C, 0xA0, 0x60, 0x00, 0xDC, 0x9C, 0x60, 0x00, 0x3C, 0x86, 0x60, 0x00, 0xD0, 0x9D, 0x60, 0x00}}// Cheat Engine 5.5
    14.                                           {0x568F0C, {0xEB, 0x17, 0x86, 0xF4, 0x24, 0x55, 0xC0, 0xAE, 0x98, 0xC8, 0xB2, 0xC4, 0x57, 0x31, 0x4F, 0x2E, 0x4D, 0x27, 0xC1, 0x63, 0xBE, 0x41, 0xBC, 0x37, 0xDE, 0xE5, 0x31, 0x51, 0xAF, 0x21, 0x34, 0x7B}}, // Speed Gear 6
    15.                                           };
    16.  
    17. void SystemProcessesScan() {
    18.     HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    19.     if(hProcessSnap != INVALID_HANDLE_VALUE)
    20.     {
    21.         PROCESSENTRY32 pe32;
    22.         pe32.dwSize = sizeof(PROCESSENTRY32);
    23.  
    24.         if(Process32First(hProcessSnap, &pe32))
    25.         {
    26.             do
    27.             {
    28.                 HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
    29.                 if(hProcess != NULL)
    30.                 {
    31.                     if(ScanProcessMemory(hProcess))
    32.                     {
    33.                         MessageBoxA(0, "Found hack software in your system.\n\nHint: Close all illegal programs and run application again.", "Software guard", MB_OK | MB_ICONSTOP);
    34.                         ExitProcess(0);
    35.                     }
    36.                 }
    37.             }
    38.             while(Process32Next(hProcessSnap, &pe32));
    39.         }
    40.     }
    41.  
    42.     CloseHandle(hProcessSnap);
    43. }
    44.  
    45. bool ScanProcessMemory(HANDLE hProcess) {
    46.     for(int i = 0; i < MAX_PROCESS_DUMP; i++)
    47.     {
    48.         char aTmpBuffer[MAX_DUMP_SIZE];
    49.         SIZE_T aBytesRead = 0;
    50.         ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead);
    51.  
    52.         if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0)
    53.         {
    54.             return true;
    55.             break;
    56.         }
    57.     }
    58.  
    59.     return false;
    60. }
    61.  
    62. BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved) {
    63.     return TRUE;
    64. }
    65.  
    66. #ifdef _MANAGED
    67. #pragma managed(pop)
    68. #endif

    antihack.h
    Code:
    #ifndef ANTIHACK_ANTIHACK_H
    #define ANTIHACK_ANTIHACK_H
    
    #define MAX_DUMP_OFFSETS 47
    #define MAX_DUMP_SIZE 32
    #define MAX_PROCESS_DUMP 47
    
    typedef struct ANITHACK_PROCDUMP {
    	unsigned int m_aOffset;
    	unsigned char m_aMemDump[MAX_DUMP_SIZE];
    } *PANITHACK_PROCDUMP;
    
    extern ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP];
    
    void SystemProcessesScan();
    bool ScanProcessMemory(HANDLE hProcess);
    
    
    #endif //ANTIHACK_ANTIHACK_H
    đây là source dll chống chương trình Cheat engine 5.5 và speed gear 6. người ta share trên mạng để nghiên cứu em cũng làm theo nhưng không hiểu sao
    "Khi bật chương trình hack speed trước thì nó nhận ra"
    "Vào game rồi mới bật hack thì nó lại không nhận ra được"
    nhờ mấy anh hướng dẫn dùm phải thêm hoặc sửa thế nào để nó có thể chạy cùng với chương trình liên tục với
    em chỉ làm theo hướng dẩn thôi nên còn non lắm :(
    Đã được chỉnh sửa lần cuối bởi nidobeam : 13-05-2009 lúc 10:43 AM. Lý do: update

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Sao thiếu file antihack.h nhỉ ? Theo mình nghĩ thì cách này chỉ dùng để kiểm tra định kỳ thôi, chứ kiểm tra liên tục thì khỏi chơi game luôn vì mất nhiều thời gian. Chưa kể nếu chương trình cheat nào "lấy độc trị độc", dùng dll này để anti-anti-cheat thì cách kiểm tra trên cũng bó tay.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

    uhm đúng như anh nói em cần kiểm tra định kỳ khoảng 60 giây 1 lần.
    file dll nhẹ mà load cái vèo là xong nên ko đáng lo.
    em add hàm void MainThread() cho nó chạy lại SystemProcessesScan() mà không chạy không hiểu sai thế nào :(.
    ai rành add dùm em với :(

  4. #4
    Ngày gia nhập
    05 2009
    Bài viết
    4

    ai rành giúp em với :(

  5. #5
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    File dll dĩ nhiên là rất nhẹ. Cái "nặng" mà mình nói chính là chi phí đề thực hiện hàm SystemProcessesScan(), trong đó ReadProcessMemory là mất nhiều thời gian nhất. Hơn nữa cheater có thể qua mặt rất dễ dàng, cho dù có cố công kiểm tra.

    Thread phải chạy liên lục mới kiểm tra được. Có thể bạn gọi một lần rồi thôi nên thread dừng mất rồi.

    C++ Code:
    1. DWORD ThreadProc(LPVOID param)
    2. {
    3.     int i = 0;
    4.     while (true)
    5.     {
    6.         Sleep(1000);
    7.         i++;
    8.         if (i >= 60)
    9.         {
    10.             SystemProcessesScan() ;
    11.             i = 0;
    12.         }
    13.     }
    14. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  6. #6
    Ngày gia nhập
    05 2009
    Bài viết
    4

    Mặc định source dll chống chương trình Cheat engine 5.5 và speed gear 6, giúp mình sửa lỗi?

    hix không hiểu sao em compile lại không được chắc chỉnh sửa tùm lum trong config của visual c++.em dùng tạm cách khác.
    em hook 1 dll có tính năng tương tự như gameguard vào trước dll của em trong file thực thi.dll đó có tính năng chạy nền load liên tục kéo theo cái dll của em cũng chạy theo luôn.hix cách này nặng máy hơn >_< (mà không sao máy game thủ bị chứ không phải máy mình) :P

  7. #7
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình nghĩ việc bạn cố tìm cách nhận dạng cheat engine rất hao tốn tài nguyên máy và không hiệu quả. Cũng có nhiều cách khác chống cheat, không nhất thiết phải nhận dạng cheat engine.

    Ví dụ như ta có biến HP ( từ 0->10000), giá trị hiện thời của nó là 8000, thì bạn làm như sau :
    HP = 5000 - 8000 = -3000;
    Như vậy, giá trị thực sự trong bộ nhớ là -3000. Các cheat engine sẽ cố gắng tìm số 8000 và chắc chắn sẽ không tìm chính xác.
    Khi ta cần biết HP, ta tính ngược ra :
    HP = 5000 - (-3000)
    Rất đơn giản mà lại rất hiệu quả đó bạn.

    Ngoài ra còn có một số kỹ thuật khác như "vùng nhớ ma", tức là tạo ra nhiều ô nhớ có địa chỉ khác nhau cùng lưu một giá trị, như thật ra khi dùng ta chỉ dùng một ô nhớ trong số đó mà thôi. Có thể Cheater sẽ tìm ra nhưng họ sẽ bị bối rối vì thấy có quá nhiều kết quả.
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 14-05-2009 lúc 06:43 PM.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  8. #8
    Ngày gia nhập
    05 2009
    Bài viết
    1

    Sao mình build ra nó bị lỗi vậy ~.~. Mình xài C++ 2008

  9. #9
    Ngày gia nhập
    04 2008
    Bài viết
    15

    vùng nhớ ma j đi chăng nữa thì qua nhiều lần lọc thì vẫn tìm ra...

  10. #10
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi slowlove Xem bài viết
    vùng nhớ ma j đi chăng nữa thì qua nhiều lần lọc thì vẫn tìm ra...
    Ví dụ mình tạo ra 100 biến ma, lúc nào cũng giống giá trị nhau, cập nhật giá trị như nhau. Nếu bạn là người sử dụng cheater, bạn có dám add hết 100 kết quả vào freeze không ? Lọc nhiều lần cũng vẫn thế vì lúc nào giá trị của tụi nó cũng giống nhau cả thôi. Tuy nhiên cách này là hạ sách vì vẫn tốn chi phí ghi biến ma. Cách phía trên có phần nhẹ nhàng hơn.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

  1. Cheat Engine làm sao lấy được tốc độ nhân vật
    Gửi bởi kunkunlove trong diễn đàn Thắc mắc chung
    Trả lời: 1
    Bài viết cuối: 13-04-2011, 12:28 PM
  2. Cần 1 source đơn giản về Hook. Ai giúp em?
    Gửi bởi metaldragon trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 2
    Bài viết cuối: 04-06-2010, 04:08 PM
  3. Cheat Sheet Collection
    Gửi bởi Xcross87 trong diễn đàn Giải trí - Thư giãn
    Trả lời: 0
    Bài viết cuối: 12-02-2009, 10:21 PM
  4. Music Effect bằng Sound Engine : Irrklang (Co Source)
    Gửi bởi ThanhDN trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 06-01-2008, 10:41 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