PDA

View Full Version : Anti HideToolz Source



eddy
13-08-10, 09:48 PM
//================================================== ====
// Original Source by GiangHoPlus
// (c) VNN 2010
// Moded Source by Eddy - EDMT
// Tested 100% working
//================================================== ====



// Source goc by GiangHoPlus
// EDMT _ Eddy dev version 1.0



#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 DetectHideToolz()
{
DWORD dwProcId;
HWND hWnd;
ProcInfo mProc[255];
int mIdList[255];
int nCount = 0;
int nPID = 0;
int i = 0;

hWnd = FindWindow(0,0); // tim cua so null

while( hWnd > 0) // neu cua so null ton tai
{
if (GetParent(hWnd) == 0) // && IsWindowVisible(hWnd)
{
GetWindowThreadProcessId(hWnd, &dwProcId); // lay thread va gan cho ProcId

// 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);
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
}
if (nCount > 0)
{

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
}
}
}
}


Credit's :
[VNN] GiangHoPlus - For Source
[EDMT] Eddy - For Mod and Test


Hướng dẫn :
- copy code trên vào DllMain.cpp
- Gọi hàm "DetectHideToolz()" ở Proc của Dll


Chúc các bạn thành công ^^

P/s : Tớ đang nghiên cứu 1 project antihack mới ... anh rành c++ có thể pm cùng nhau nghiên cứu và trao đổi kinh nghiệm nha

Chiritokaji
13-08-10, 09:52 PM
Thằng nào Edit bài thế (:|
Xé cái tem chơi nào =)) =))

Hellboycp33
13-08-10, 10:07 PM
dạo này lắm code hide tool quá :))

eddy
13-08-10, 10:17 PM
Source này tớ mod lại work đơn giản rùi
Các bạn có thể add vào bất cứ 1 project GG nào ^^

@Chiritokaji : Vui lòng k spam topic này

Mr.Hau
13-08-10, 10:44 PM
- Gọi hàm "DetectHideToolz()" ở Proc của Dll

Addy nói dõ chô này đc không

có phải gọi như này không


extern "C" __declspec(dllexport) void DetectHideToolz()

Mr.Quy
13-08-10, 10:55 PM
X_X
ko bít dùng aaaaaaaaaaaaaaa =((

Mr.Hau
13-08-10, 10:59 PM
X_X
ko bít dùng aaaaaaaaaaaaaaa =((

Quý biết dùng chỉ cái nào ^:)^

tuyenbc2
13-08-10, 11:00 PM
Bây h vẫn còn anti hidetoolz nữa à >.<

Mr.Quy
13-08-10, 11:07 PM
Bây h vẫn còn anti hidetoolz nữa à >.<

không anti hidetoolz
thì Anti ShowToolz à :-s

tomatoes
13-08-10, 11:39 PM
Anti Hide tool làm gì cho mệt nhỉ :))
Antihack cơ bản nhất là phải giấu đc cách anti,cái gì cũng show ra hết thì anti gì nữa
Muốn antihack good thì hãy áp dụng công nghệ Virtuallizer vào,check hook API,anti debug,sử sụng auth packet như ggauth ấy (liên hệ Viper :D )
Mấy cái hide toolz này anti làm gì nhỉ :D

Mr.Quy
13-08-10, 11:56 PM
ô đệt
DLL check các Process đc hide và delect nó
Khi dll load thì các proces bị hide sẽ bị kill
Mà dll load xong rồi.
Bật HideToolz lên hack tiếp =))

eddy
13-08-10, 11:59 PM
Chỉ là 1 VD cách dùng scr của giangho+ thui

Các cậu tự phát triển lên mà xài ^^

Nếu ai cũg giữ kín bí mật anti hack thì còn gì là phát triển nữa hả anh cà chua :))

tomatoes
14-08-10, 12:19 AM
Thật ra các bạn ko cần suy nghĩ anti theo black list làm gì cho mệt,có 1 cách hiệu quả là
xem soft đó hook API này mà anti,tôi VD như ở MU hiện tại anti những cái sau là thông dụng nhất.
1 Speed : Speed có 2 loại: 1 hook GetTickCount và 1 cơ chế như HastyMU
2 Hack Agi: cái này là 1 hình thức patch memory
3.Send packet: có 2 loại 1 là WPE (or các tool tương tự) 2 là Proxy.

Ở 1 chúng ta check hook API GettickCount xem nếu bị hook thì exit main cách này chống 100% tool hack speed hiện tại,còn hasty lại chia ra làm 2 loại (cái này giải thích dài dòng lắm nhưng đại loại là dựa vào tốc độ load của main Webzen),chống nó thì phải biết anti patch memory thui,cái này khó :D )
Cái 2 thì cũng vậy la patch memory
Còn 3 thì khá mệt,MuGuard lúc đầu họ dùng Mu.exe tưởng đâu có thể anti đc tool Proxy,or chống Open Port 44405 ở client nhưng hiện tại đều thất bại.Cách chống Proxy hay nhất hiện giơ vần là mã hóa lại packet vì các tool hiện giờ cũng chỉ decrypt packet theo MU packet của Webzen.
WPE hay bất kỳ tool send packet (ko phải Mu Proxy) đều hook 2 hàm Recv và send.
Tóm lại là antihack là phải anti ở gốc,chứ cái cách anti theo black list thì chỉ là phụ họa thêm cho vui thui :)

xom1b
14-08-10, 12:28 AM
Thật ra các bạn ko cần suy nghĩ anti theo black list làm gì cho mệt,có 1 cách hiệu quả là
xem soft đó hook API này mà anti,tôi VD như ở MU hiện tại anti những cái sau là thông dụng nhất.
1 Speed : Speed có 2 loại: 1 hook GetTickCount và 1 cơ chế như HastyMU
2 Hack Agi: cái này là 1 hình thức patch memory
3.Send packet: có 2 loại 1 là WPE (or các tool tương tự) 2 là Proxy.

Ở 1 chúng ta check hook API GettickCount xem nếu bị hook thì exit main cách này chống 100% tool hack speed hiện tại,còn hasty lại chia ra làm 2 loại (cái này giải thích dài dòng lắm nhưng đại loại là dựa vào tốc độ load của main Webzen),chống nó thì phải biết anti patch memory thui,cái này khó :D )
Cái 2 thì cũng vậy la patch memory
Còn 3 thì khá mệt,MuGuard lúc đầu họ dùng Mu.exe tưởng đâu có thể anti đc tool Proxy,or chống Open Port 44405 ở client nhưng hiện tại đều thất bại.Cách chống Proxy hay nhất hiện giơ vần là mã hóa lại packet vì các tool hiện giờ cũng chỉ decrypt packet theo MU packet của Webzen.
WPE hay bất kỳ tool send packet (ko phải Mu Proxy) đều hook 2 hàm Recv và send.
Tóm lại là antihack là phải anti ở gốc,chứ cái cách anti theo black list thì chỉ là phụ họa thêm cho vui thui :)

Anti vậy mấy thằng chơi trên server ko chơi đc vì GS cũng dùng GetTickCount mà anh cà chua :D
nói chung cứ Kernelmode đc mới tính tiếp :D
mà anh cà chua cho em hỏi là mã hóa packet trên main như thế nào vậy, src GS thì có chứ src main chưa thấy ai realease bao h`

tomatoes
14-08-10, 01:08 AM
Anti vậy mấy thằng chơi trên server ko chơi đc vì GS cũng dùng GetTickCount mà anh cà chua :D
nói chung cứ Kernelmode đc mới tính tiếp :D
mà anh cà chua cho em hỏi là mã hóa packet trên main như thế nào vậy, src GS thì có chứ src main chưa thấy ai realease bao h`

tớ nói là detect hook API chứ ko có nói anti API đó :))
Mã hóa packet thì nghiên cứu sâu thêm Mu Packet C1 C2 C3 C4 bên RZ đã share ấy.Mấy cái này tự mò thui,tớ cũng tự mò nếu chỉ ra hết thì ko còn gì để nói :) vả lại tự hiểu sẻ sâu hơn.

Frank
14-08-10, 03:03 AM
Source này eddy lấy từ virusvn.com?
Anti = đọc mem thì bypass 1 là hide process 2 là hook mà hook thì có nhiều cách và có cách rất khó phát hiện. Nhưng tạm thời để đối phó với những người chỉ biết dùng tool thì source này cũng tốt rồi.

tuantep
14-08-10, 09:34 AM
Những cái bác tomatoes nói thuộc hàng siêu siêu :D có nhiều người giỏi C++ có thể làm nhưng họ ko work cho MU vì chẳng làm để làm j :(

Nhưng nghe qua anh to nói thấy hay wa. muốn học hỏi gê :D

membering
14-08-10, 02:18 PM
Eddy có thể nói chi tiết hơn về Project này tại đây về cách thức hoạt động hay đại loại bất cứ vấn đề gì liên quan đến nó để mỗi người có thể góp 1 chút hiểu biết giống như trước đây clb đã từng. Mình nghĩ như zậy sẽ khả quan hơn.
P/S: tiện thể cho mình xin cái link pack SV EDMT Season 5 Free của ông cái, thanks nhìu

kumamuka
14-08-10, 02:26 PM
mình có đoạn code này để scan black list nhưng có một lỗi nhỏ ai biết giúp mình fix với nha!
khi detect được hack thì game sẽ tự động tắt, nhưng mình muốn cho game vừa bị tắt mà trương trình hack cũng bị tắt luôn thì phải làm sao. bro nào biết giúp mình với cám ơn các bạn nhiều.




ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] =
{
{0x4C8259, {0xA1, 0x38, 0xBD, 0x4C, 0x00, 0x8B, 0x00, 0x8B, 0x4D, 0xFC, 0xBA, 0xC0, 0x82, 0x4C, 0x00, 0xE8, 0x1F, 0xF1, 0xFF, 0xFF, 0x33, 0xDB, 0xE8, 0xF8, 0xBE, 0xF3, 0xFF, 0x33, 0xC0, 0x5A, 0x59, 0x59}}, //Catastrophe
};
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;
}
thank!

membering
14-08-10, 02:31 PM
không rõ lỗi mà bạn nói là lỗi gì ??

kumamuka
14-08-10, 03:03 PM
không rõ lỗi mà bạn nói là lỗi gì ??

ah ko phải lỗi mà mình muốn chỉnh cho cái antihack của mình khi phát hiện được hack trong danh sách black list thì nó sẽ tắt trương trình hack đi đồng thời tắt game luôn thì phải làm như thế nào.

vì cái source của mình hiện tại nó chỉ tắt game chứ ko tắt trương trình hack.

bạn biết fix làm sao chỉ mình với nha thank bạn nhiều

eddy
15-08-10, 11:19 AM
Tất nhiên ! Nguyên lý để antihack khoảng 90% là đúng như anh tomatoes nói !

- Chúng ta cần phải tìm được mấu chốt của vấn đề để anti tận gốc :

+ Chẳng hạn để chống các tool hackspeed thì ta phải kiểm tra tốc độ máy trước và sau khi main run (nếu khác nhau thì exit !)
+ Chống các soft hack kiểu memory thì ta phải hook được hàm WriteProcessMemory
+ Chống các soft kiểu Proxy thì phải mã hoá packet ngăn chặn việc sniff packet

Và có 1 cách chốg "thô thiển" hơn đó là scan all Windows đang mở , check title chỉ cần có 1 trong số các ký tự trong blacklist thì exit main.exe


Đó là nguyên lý ^^...mong mọi người đóng góp ý kiến và ý tưởng để hoàn thiện hơn
:D

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

eddy
15-08-10, 11:21 AM
ah ko phải lỗi mà mình muốn chỉnh cho cái antihack của mình khi phát hiện được hack trong danh sách black list thì nó sẽ tắt trương trình hack đi đồng thời tắt game luôn thì phải làm như thế nào.

vì cái source của mình hiện tại nó chỉ tắt game chứ ko tắt trương trình hack.

bạn biết fix làm sao chỉ mình với nha thank bạn nhiều

lấy Handle của ct hack sau đó dùng hàm PostMessage

kumamuka
15-08-10, 06:10 PM
ANITHACK_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] =
{
{0x4C8259, {0xA1, 0x38, 0xBD, 0x4C, 0x00, 0x8B, 0x00, 0x8B, 0x4D, 0xFC, 0xBA, 0xC0, 0x82, 0x4C, 0x00, 0xE8, 0x1F, 0xF1, 0xFF, 0xFF, 0x33, 0xDB, 0xE8, 0xF8, 0xBE, 0xF3, 0xFF, 0x33, 0xC0, 0x5A, 0x59, 0x59}}, //Catastrophe
};
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;
}


eddy có lòng tốt giúp mình fix cái source này với nhe!

cám ơn bạn nhiều lằm, mình gà bạn thông cảm

thank! again

Bason4ik
01-09-10, 09:07 PM
eddy,hi!
i use your source for my AH,but have problem,then i start main.exe client open and again closed...can you say,wtf?)))

khanhdkny
05-09-10, 09:43 AM
huong dẫn thế ông nội mày làm dc à eddy? thằng quỷ!chim té

SnowBlood™
05-09-10, 11:06 AM
huong dẫn thế ông nội mày làm dc à eddy? thằng quỷ!chim té

Chắc bạn này thích chửi hã ;;)

thích thì chiều =)) cái code này chỉ để mọi người xem và tham khảo , còn những thằng mặt *** như mi thì làm sao mà hiểu đc :))

eddy
05-09-10, 11:08 AM
huong dẫn thế ông nội mày làm dc à eddy? thằng quỷ!chim té


;))...k bik gì về C++ thì đừng học đòi Anti Hack bạn ạ

Tôi đã mod code về đơn giản thế , chỉ việc gọi hàm DetectHidetoolz(); vào thân chương trình thui ^:)^

Dọn cho để ăn rùi mà còn bắt đút àk =)).....

khanhdkny
28-09-10, 10:54 AM
thằng quỷ eddy share toan` thứ vớ va vớ vẩn!

hoangtu_eck94
24-11-10, 05:26 PM
// 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
mình kô thể nào build đc khi có dòng này. Hay là muốn build đc dòng này phải dùng MS2010 ?????