Page 81 of 180 FirstFirst ... 317177787980818283848591131 ... LastLast
Results 1,201 to 1,215 of 2689
http://idgs.in/637925
  1. #1201
    Y4KUZ4's Avatar
    Join Date
    May 2008
    Location
    Surabaya City
    Posts
    14,759
    Points
    67,505.71
    Thanks: 152 / 299 / 221

    Default

    Quote Originally Posted by [OMG]-CinepleX- View Post
    Malem bs dnk ol
    KLo koneksi ga jelek, bisa

    KLo lg jelek, terpaksa ke game center, wkwkwkwk

    Yg jelas, mulai bsk sampe tgl 14 gw libur cirr




    Quote Originally Posted by chosenoren View Post
    anjrit desktop background nya



    Quote Originally Posted by [OMG]-CinepleX- View Post
    Masa?
    Quote Originally Posted by [R]aruku View Post
    di dalam pikiran gw

    ex-mat yg paling ******* cuma lu trist :rofl:
    Quote Originally Posted by odinez View Post
    Emang Pro Kalah Cepat GW Padahal Baru Mau Gw Post.
    Btw Thanks OM Yakuza
    Quote Originally Posted by [R]aruku View Post
    WSW! Motomu Picek ! Dengkulmu Melocot !

    serba salah gw di kritik mulu sm ykz

  2. Hot Ad
  3. #1202

    Join Date
    Aug 2007
    Posts
    213
    Points
    27.12
    Thanks: 3 / 1 / 1

    Default

    TS ****


  4. #1203
    Y4KUZ4's Avatar
    Join Date
    May 2008
    Location
    Surabaya City
    Posts
    14,759
    Points
    67,505.71
    Thanks: 152 / 299 / 221

    Default

    Quote Originally Posted by [R]aruku View Post
    di dalam pikiran gw

    ex-mat yg paling ******* cuma lu trist :rofl:
    Quote Originally Posted by odinez View Post
    Emang Pro Kalah Cepat GW Padahal Baru Mau Gw Post.
    Btw Thanks OM Yakuza
    Quote Originally Posted by [R]aruku View Post
    WSW! Motomu Picek ! Dengkulmu Melocot !

    serba salah gw di kritik mulu sm ykz

  5. #1204

    Join Date
    May 2012
    Posts
    6,383
    Points
    12,935.23
    Thanks: 139 / 73 / 69

    Default

    cewe mana cewe !!

  6. #1205
    eLdeeN's Avatar
    Join Date
    Jan 2013
    Location
    Kelapa Gading
    Posts
    733
    Points
    9.87
    Thanks: 6 / 25 / 24

    Default

    hay kuza , apa kabar ?
    minal aidin walfaizin ya

  7. #1206
    Y4KUZ4's Avatar
    Join Date
    May 2008
    Location
    Surabaya City
    Posts
    14,759
    Points
    67,505.71
    Thanks: 152 / 299 / 221

    Default

    Quote Originally Posted by Clon3 View Post
    cewe mana cewe !!
    Wuakakakakaka, kmn nyop points mu ?

    Cewe mulu pikiranmu, wkwkwkwk




    Quote Originally Posted by eLdeeN View Post
    hay kuza , apa kabar ?
    minal aidin walfaizin ya
    Hoi, kbr baek neh

    Sama2 ya, maaf lahir batin jg

    Quote Originally Posted by [R]aruku View Post
    di dalam pikiran gw

    ex-mat yg paling ******* cuma lu trist :rofl:
    Quote Originally Posted by odinez View Post
    Emang Pro Kalah Cepat GW Padahal Baru Mau Gw Post.
    Btw Thanks OM Yakuza
    Quote Originally Posted by [R]aruku View Post
    WSW! Motomu Picek ! Dengkulmu Melocot !

    serba salah gw di kritik mulu sm ykz

  8. #1207
    [OMG]-CinepleX-'s Avatar
    Join Date
    Dec 2011
    Location
    Public Server
    Posts
    20,793
    Points
    6.23
    Thanks: 553 / 519 / 414

    Default

    foto ne gk di share

  9. #1208

    Join Date
    Jan 2008
    Location
    www.indogamers.com
    Posts
    1,058
    Points
    -68.50
    Thanks: 124 / 394 / 279

    Default

    the function of send a message to window can be replaced by a function to send in the game

    mhcd is an open source program
    you can edit, debug, compile, DEcompile, translate into your language and or do update as like as you want

    Spoiler untuk sample mhcd.dll.main.cpp :
    Code:
    // dllmain.cpp : 定义 DLL 应用程åºçš„å…¥å£ç‚¹ã€‚
    #include "stdafx.h"
    
    DWORD JGetHeroLevel = (DWORD)0x3c7950;
    DWORD JGetPlayerName = (DWORD)0x3c19e0;
    DWORD JGetPlayerNameAdd1 = (DWORD)0x3bdf50;
    DWORD JGetPlayerNameAdd2 = (DWORD)0x40bb60;
    DWORD JIsUnitVisible = (DWORD)0x3c8570;
    DWORD JIsUnitSelected = (DWORD)0x3c8880;
    DWORD JPlayer = (DWORD)0x3bc5b0;
    DWORD JGamePoint = (DWORD)0xacd44c;
    DWORD HookUnitAddress = (DWORD)0x42b0ed;
    DWORD HookTlsSetAddress = (DWORD)0x6d9ff8;
    
    HMODULE GameDllBase;
    
    char HookUnitBytes[5] = {0xe9};
    char HookTlsSetBytes[5] = {0xe9};
    char HookSendBytes[5] = {0xe8};
    
    bool InDotA = true;
    bool State = 0;
    bool hasgotplayer;
    int ProcessId, ThreadId, ThreadTlsV, ThreadTlsT;
    
    int s_unit[500];
    int s_player[20];
    char s_playername[20][100];
    int s_selecttime[500][20];
    int s_visibletime[500][20];
    HWND htosend, hself;
    
    void SendString(char * buf)
    {
    	int k;
    	COPYDATASTRUCT Dta ;
    	Dta.dwData = 0x33;
    	Dta.cbData = strlen(buf) + 1;
    	Dta.lpData = (LPVOID)buf;
    	k = SendMessage(htosend, WM_COPYDATA, (WPARAM)hself,(LPARAM)&Dta);
    }
    
    void ConvertUTF8ToANSI(char * strUTF8, char * strANSI)
    {
    	int nLen = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, (LPCTSTR)strUTF8, -1, NULL, 0);
    	wchar_t * wszANSI = new wchar_t[nLen + 1];
    	memset(wszANSI, 0, nLen * 2 + 2);
    	nLen = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, (LPCTSTR)strUTF8, -1, wszANSI, nLen);
    	nLen = WideCharToMultiByte(CP_ACP, 0, wszANSI, -1, NULL, 0, NULL, NULL);
    	char * szANSI = new char [nLen + 1];
    	memset(szANSI, 0, nLen + 1);
    	WideCharToMultiByte(CP_ACP, 0, wszANSI, -1, szANSI, nLen, NULL, NULL);
    	memcpy(strANSI, szANSI, nLen + 1);
    	delete [] wszANSI;
    	delete [] szANSI;
    }
    
    int Check22(int tunit, int tplayer)
    {
    	int k = 0;
    	char tmp[100];
    	__try
    	{
    
    		__asm
    		{
    			pushad
    			push tplayer
    			push tunit
    			mov esi, 0x6F95A193
    			call dword ptr [JIsUnitVisible]
    			pop ecx
    			pop edx
    			mov k, eax
    			popad
    		}
    		
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		sprintf(tmp, "IsUnitVisible error : player : 0x%x unit : 0x%x", tplayer, tunit);
    		OutputDebugString(tmp);
    		ExitThread(0);
    		return 0;
    	}
    	return k;
    }
    
    
    
    int Check21(int tunit, int tplayer)
    {
    	int k = 0;
    	char tmp[100];
    	__try
    	{
    		__asm
    		{
    			pushad
    			push tplayer
    			push tunit
    			mov esi, 0x6F95A193
    			call dword ptr [JIsUnitSelected]
    			pop ecx
    			pop edx
    			mov k, eax
    			popad
    		}
    
    		
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		sprintf(tmp, "IsUnitSelected error : player : 0x%x unit : 0x%x", tplayer, tunit);
    		OutputDebugString(tmp);
    		ExitThread(0);
    		return 0;
    	}
    	return k;
    }
    
    int GetAllPlayer2(int k)
    {
    	int j = 0;
    	__try
    	{
    		__asm
    		{
    			pushad
    			push k
    			call dword ptr [JPlayer]
    			pop ecx
    			mov j, eax
    			popad
    		}
    			
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		return -1;
    	}
    	if(j >= 0x100000)
    		return j;
    	return 0;
    }
    
    void GetAllPlayer()
    {
    	int i, j, k, OldTls;
    	char tmp[100];
    	memset(s_player, 0, sizeof(s_player));
    	for(i = 0 ; i <= 11 ; i++)
    	{
    		OldTls = (int)TlsGetValue(ThreadTlsT);
    		TlsSetValue(ThreadTlsT, (LPVOID)ThreadTlsV);
    		k = GetAllPlayer2(i);
    		TlsSetValue(ThreadTlsT, (LPVOID)OldTls);
    
    		if(k > 0)
    		{
    			s_player[++s_player[0]] = k;
    			//if(k <= 0x100000 || k >= 0x100020)s_player[s_player[0]] = 0;
    			sprintf(tmp, "PlayerID %d", k);
    			OutputDebugString(tmp);
    		}
    
    	}
    }
    
    void GetPlayerName(int tplayer, char * dst, int maxLen)
    {
    	char * res;
    	__try
    	{
    		__asm
    		{
    			mov ecx, tplayer
    			call dword ptr [JGetPlayerNameAdd1]
    			test eax, eax
    			jnz A
    			jmp B
    
    			A:
    			push 1
    			mov ecx, eax
    			call dword ptr [JGetPlayerNameAdd2]
    
    			B:
    			mov res, eax
    		}
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		res = 0;
    	}
    	if(!res)
    	{
    		memset(dst, 0, maxLen);
    		return;
    	}
    	memcpy(dst, res, strlen(res) + 1);
    }
    
    
    void GetAllPlayerName()
    {
    	int i;
    	memset(s_playername, 0, sizeof(s_playername));
    	for(i = 1 ; i <= 12 ; i++)
    	{
    		GetPlayerName(s_player[i], s_playername[i], 100);
    		ConvertUTF8ToANSI(s_playername[i], s_playername[i]);
    		OutputDebugString(s_playername[i]);
    	}
    }
    
    int GetUnit2(int k)
    {
    	int a = 0;
    	__try
    	{
    		__asm
    		{
    			pushad
    			push k
    			call dword ptr [JGetHeroLevel]
    			mov a, eax
    			pop eax
    			popad
    		}
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		OutputDebugString("GetHeroLevel error");
    		return -1;
    	}
    	if(a)return 1;
    	return 0;
    }
    
    void GetUnit(int k)
    {
    	int i, a, OldTls;
    	char tmp[100];
    	
    	if(k < 0x100000 || k > 0x200000)return;
    
    	OldTls = (int)TlsGetValue(ThreadTlsT);
    	TlsSetValue(ThreadTlsT, (LPVOID)ThreadTlsV);
    		
    	if(GetUnit2(k) == 1)
    	{
    		for(i = 1 ; i <= s_unit[0] ; i++)
    			if(s_unit[i] == k) break;
    		if(i > s_unit[0])
    		{
    			s_unit[++s_unit[0]] = k;
    			sprintf(tmp, "得到英雄ID : %d", k);
    			if(!hasgotplayer)
    			{
    				GetAllPlayer();
    				GetAllPlayerName();
    				hasgotplayer = true;
    			}
    			SendString(tmp);
    			OutputDebugString(tmp);
    		}
    	}
    	TlsSetValue(ThreadTlsT, (LPVOID)OldTls);
    }
    
    
    int WINAPI CheckThread(LPVOID xx)
    {
    	int i, j, tunit, tplayer, k, k1, k2, nowtime, OldTls;
    	char tmp[100];
    	int * x;
    
    	x = (int *)JGamePoint;
    
    		/*if(*x)
    			OutputDebugString("InGame");
    		else
    			OutputDebugString("OutOfGame");*/
    
    	/*if(!State && *x)
    	{
    		s_unit.empty();
    		GetAllPlayer();
    		State = true;
    		return;
    	}*/
    	if(!*x)
    	{
    		State = false;
    		return 0;
    	}
    	if(!State)return 0;
    	
    	TlsSetValue(ThreadTlsT, (LPVOID)ThreadTlsV);
    	
    	for(j = 1 ; j <= s_player[0]  ; j++)
    	{
    		for (i = 1 ; i <= s_unit[0]; i++)
    		{
    			k = 0;
    			tunit = s_unit[i];
    			tplayer = s_player[j];
    			//OldTls = (int)TlsGetValue(ThreadTlsT);
    			
    			k1 = Check21(tunit, tplayer);
    			k2 = Check22(tunit, tplayer);
    			k = k1 && !k2;
    			//TlsSetValue(ThreadTlsT, (LPVOID)OldTls);
    			nowtime = GetTickCount();
    			if(k && nowtime - s_selecttime[i][j] > 1000  && nowtime - s_visibletime[i][j] > 1000)
    			{
    				sprintf(tmp, "玩家编å·ï¼š%d 玩家å:%s 选ä¸*ä¸å¯è§å•ä½ï¼š%d 时间:%d", j, s_playername[j], tunit, nowtime);
    				SendString(tmp);
    				OutputDebugString(tmp);
    			}
    			if(k1)
    				s_selecttime[i][j] = nowtime;
    			if(k2)
    				s_visibletime[i][j] = nowtime;
    		}
    	}
    	return 0;
    }
    
    void Check()
    {
    	CreateThread(0, 0, (LPTHREAD_START_ROUTINE)CheckThread, (LPVOID)0, 0, 0);
    }
    
    void GetThreadTls(int j, int k)
    {
    	char tmp[100];
    	if(GetCurrentThreadId() == ThreadId && k)
    	{
    		if(ThreadTlsV != k || ThreadTlsT != j)
    		{
    			ThreadTlsV = k;
    			ThreadTlsT = j;
    			sprintf(tmp, "GetMainThreadTls : 0x%x Type: 0x%x", k, j);
    			OutputDebugString(tmp);
    		}
    	}
    }
    
    __declspec(naked) void HookUnit()
    {
    	__asm
    	{
    		pushad
    		push edx
    		call GetUnit
    		pop edx
    		popad
    		pop esi
    		retn 4
    	}
    }
    
    
    __declspec(naked) void HookSend()
    {
    	__asm
    	{
    		pushad
    		call Check
    		popad
    
    		sub edx, 1
    		and eax, edx
    		ret
    		
    	}
    }
    
    __declspec(naked) void HookTlsSet()
    {
    	__asm
    	{
    		pushad
    		push edx
    		push ecx
    		call GetThreadTls
    		pop eax
    		pop eax
    		popad
    
    		ret
    	}
    }
    
    int WINAPI Watcher(LPVOID k)
    {
    	int * x;
    	while(1)
    	{
    		Sleep(100);
    		x = (int *)JGamePoint;
    
    
    		if(!State && *x)
    		{
    			memset(s_unit, 0, sizeof(s_unit));
    			memset(s_selecttime, 0, sizeof(s_selecttime));
    			memset(s_visibletime, 0, sizeof(s_visibletime));
    //			GetAllPlayer();
    			State = true;
    			hasgotplayer = false;
    			SendString("New Game");
    			OutputDebugString("New Game");
    			continue;
    		}
    		if(!*x)
    		{
    			State = false;
    			continue;
    		}
    		Check();
    		
    	}
    	return 0;
    }
    
    	
    
    void DllLoad()
    {
    	char tm[100];
    
    	hself = FindWindow(NULL, "Warcraft III");
    	htosend = FindWindow(NULL, "MapHackClickDetector");
    	GameDllBase = GetModuleHandle("game.dll");
    	JGetHeroLevel += (DWORD)GameDllBase;
    	JGetPlayerName += (DWORD)GameDllBase;
    	JGetPlayerNameAdd1 += (DWORD)GameDllBase;
    	JGetPlayerNameAdd2 += (DWORD)GameDllBase;
    	JIsUnitVisible += (DWORD)GameDllBase;
    	JIsUnitSelected += (DWORD)GameDllBase;
    	JPlayer += (DWORD)GameDllBase;
    	JGamePoint += (DWORD)GameDllBase;
    	HookUnitAddress += (DWORD)GameDllBase;
    	HookTlsSetAddress += (DWORD)GameDllBase;
    
    
    	int tmp = (DWORD)HookUnit - (DWORD)HookUnitAddress - 5;
    	memcpy(HookUnitBytes + 1, (void *)&tmp, 4);
    	WriteProcessMemory((HANDLE)-1, (LPVOID)HookUnitAddress, (LPCVOID)HookUnitBytes, 5, 0);
    
    	tmp = (DWORD)HookTlsSet - (DWORD)HookTlsSetAddress - 5;
    	memcpy(HookTlsSetBytes + 1, (void *)&tmp, 4);
    	WriteProcessMemory((HANDLE)-1, (LPVOID)HookTlsSetAddress, (LPCVOID)HookTlsSetBytes, 5, 0);
    
    	ProcessId = GetCurrentProcessId();
    	THREADENTRY32 te32 = {sizeof(te32)};
    	HANDLE hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,0);
    	if( Thread32First( hThreadSnap, &te32) )
    	{
    		do
    		{
    			if(ProcessId == te32.th32OwnerProcessID )
    			{
    				ThreadId = te32.th32ThreadID;
    				break;
    			}
    		}while( Thread32Next( hThreadSnap, &te32) );
    	}
    
    	CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Watcher, (LPVOID)0, 0, 0);
    	
    
    	SendString("å·²å¯åЍ");
    	sprintf(tm, "MainThreadId : %d", ThreadId);
    	OutputDebugString(tm);
    	OutputDebugString("DllLoad");
    }
    
    
    BOOL APIENTRY DllMain( HMODULE hModule,
                           DWORD  ul_reason_for_call,
                           LPVOID lpReserved
    					 )
    {
    	switch (ul_reason_for_call)
    	{
    	case DLL_PROCESS_ATTACH:
    		DllLoad();
    	case DLL_THREAD_ATTACH:
    	case DLL_THREAD_DETACH:
    	case DLL_PROCESS_DETACH:
    		break;
    	}
    	return TRUE;
    }
    Last edited by maphack_user; 11-08-13 at 21:24.

  10. #1209
    HARRYZZZ's Avatar
    Join Date
    Sep 2010
    Location
    sky ~
    Posts
    15,264
    Points
    67,848.83
    Thanks: 43 / 164 / 140

    Default

    oe ts baka

    ajarin gua cara ngedebug coding diatas







    Moving on to DotA2
    Status: 97%




    | Office |

  11. #1210

    Join Date
    May 2012
    Posts
    6,383
    Points
    12,935.23
    Thanks: 139 / 73 / 69

    Default

    TS musnah

    seperti poin gw

  12. #1211
    Y4KUZ4's Avatar
    Join Date
    May 2008
    Location
    Surabaya City
    Posts
    14,759
    Points
    67,505.71
    Thanks: 152 / 299 / 221

    Default

    Quote Originally Posted by [OMG]-CinepleX- View Post
    foto ne gk di share
    Wew, msh minat toh ? wkwkwk

    Oke2, sbr yaa, nunggu kiriman HP dr adek ku, 8MP kamera ne, mantabb kannn

    Akhir agustus ini dateng hp nya, wkwkwk


    Quote Originally Posted by maphack_user View Post
    the function of send a message to window can be replaced by a function to send in the game

    mhcd is an open source program
    you can edit, debug, compile, DEcompile, translate into your language and or do update as like as you want

    Spoiler untuk sample mhcd.dll.main.cpp :
    Code:
    // dllmain.cpp : 定义 DLL 应用程åºçš„å…¥å£ç‚¹ã€‚
    #include "stdafx.h"
    
    DWORD JGetHeroLevel = (DWORD)0x3c7950;
    DWORD JGetPlayerName = (DWORD)0x3c19e0;
    DWORD JGetPlayerNameAdd1 = (DWORD)0x3bdf50;
    DWORD JGetPlayerNameAdd2 = (DWORD)0x40bb60;
    DWORD JIsUnitVisible = (DWORD)0x3c8570;
    DWORD JIsUnitSelected = (DWORD)0x3c8880;
    DWORD JPlayer = (DWORD)0x3bc5b0;
    DWORD JGamePoint = (DWORD)0xacd44c;
    DWORD HookUnitAddress = (DWORD)0x42b0ed;
    DWORD HookTlsSetAddress = (DWORD)0x6d9ff8;
    
    HMODULE GameDllBase;
    
    char HookUnitBytes[5] = {0xe9};
    char HookTlsSetBytes[5] = {0xe9};
    char HookSendBytes[5] = {0xe8};
    
    bool InDotA = true;
    bool State = 0;
    bool hasgotplayer;
    int ProcessId, ThreadId, ThreadTlsV, ThreadTlsT;
    
    int s_unit[500];
    int s_player[20];
    char s_playername[20][100];
    int s_selecttime[500][20];
    int s_visibletime[500][20];
    HWND htosend, hself;
    
    void SendString(char * buf)
    {
    	int k;
    	COPYDATASTRUCT Dta ;
    	Dta.dwData = 0x33;
    	Dta.cbData = strlen(buf) + 1;
    	Dta.lpData = (LPVOID)buf;
    	k = SendMessage(htosend, WM_COPYDATA, (WPARAM)hself,(LPARAM)&Dta);
    }
    
    void ConvertUTF8ToANSI(char * strUTF8, char * strANSI)
    {
    	int nLen = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, (LPCTSTR)strUTF8, -1, NULL, 0);
    	wchar_t * wszANSI = new wchar_t[nLen + 1];
    	memset(wszANSI, 0, nLen * 2 + 2);
    	nLen = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, (LPCTSTR)strUTF8, -1, wszANSI, nLen);
    	nLen = WideCharToMultiByte(CP_ACP, 0, wszANSI, -1, NULL, 0, NULL, NULL);
    	char * szANSI = new char [nLen + 1];
    	memset(szANSI, 0, nLen + 1);
    	WideCharToMultiByte(CP_ACP, 0, wszANSI, -1, szANSI, nLen, NULL, NULL);
    	memcpy(strANSI, szANSI, nLen + 1);
    	delete [] wszANSI;
    	delete [] szANSI;
    }
    
    int Check22(int tunit, int tplayer)
    {
    	int k = 0;
    	char tmp[100];
    	__try
    	{
    
    		__asm
    		{
    			pushad
    			push tplayer
    			push tunit
    			mov esi, 0x6F95A193
    			call dword ptr [JIsUnitVisible]
    			pop ecx
    			pop edx
    			mov k, eax
    			popad
    		}
    		
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		sprintf(tmp, "IsUnitVisible error : player : 0x%x unit : 0x%x", tplayer, tunit);
    		OutputDebugString(tmp);
    		ExitThread(0);
    		return 0;
    	}
    	return k;
    }
    
    
    
    int Check21(int tunit, int tplayer)
    {
    	int k = 0;
    	char tmp[100];
    	__try
    	{
    		__asm
    		{
    			pushad
    			push tplayer
    			push tunit
    			mov esi, 0x6F95A193
    			call dword ptr [JIsUnitSelected]
    			pop ecx
    			pop edx
    			mov k, eax
    			popad
    		}
    
    		
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		sprintf(tmp, "IsUnitSelected error : player : 0x%x unit : 0x%x", tplayer, tunit);
    		OutputDebugString(tmp);
    		ExitThread(0);
    		return 0;
    	}
    	return k;
    }
    
    int GetAllPlayer2(int k)
    {
    	int j = 0;
    	__try
    	{
    		__asm
    		{
    			pushad
    			push k
    			call dword ptr [JPlayer]
    			pop ecx
    			mov j, eax
    			popad
    		}
    			
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		return -1;
    	}
    	if(j >= 0x100000)
    		return j;
    	return 0;
    }
    
    void GetAllPlayer()
    {
    	int i, j, k, OldTls;
    	char tmp[100];
    	memset(s_player, 0, sizeof(s_player));
    	for(i = 0 ; i <= 11 ; i++)
    	{
    		OldTls = (int)TlsGetValue(ThreadTlsT);
    		TlsSetValue(ThreadTlsT, (LPVOID)ThreadTlsV);
    		k = GetAllPlayer2(i);
    		TlsSetValue(ThreadTlsT, (LPVOID)OldTls);
    
    		if(k > 0)
    		{
    			s_player[++s_player[0]] = k;
    			//if(k <= 0x100000 || k >= 0x100020)s_player[s_player[0]] = 0;
    			sprintf(tmp, "PlayerID %d", k);
    			OutputDebugString(tmp);
    		}
    
    	}
    }
    
    void GetPlayerName(int tplayer, char * dst, int maxLen)
    {
    	char * res;
    	__try
    	{
    		__asm
    		{
    			mov ecx, tplayer
    			call dword ptr [JGetPlayerNameAdd1]
    			test eax, eax
    			jnz A
    			jmp B
    
    			A:
    			push 1
    			mov ecx, eax
    			call dword ptr [JGetPlayerNameAdd2]
    
    			B:
    			mov res, eax
    		}
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		res = 0;
    	}
    	if(!res)
    	{
    		memset(dst, 0, maxLen);
    		return;
    	}
    	memcpy(dst, res, strlen(res) + 1);
    }
    
    
    void GetAllPlayerName()
    {
    	int i;
    	memset(s_playername, 0, sizeof(s_playername));
    	for(i = 1 ; i <= 12 ; i++)
    	{
    		GetPlayerName(s_player[i], s_playername[i], 100);
    		ConvertUTF8ToANSI(s_playername[i], s_playername[i]);
    		OutputDebugString(s_playername[i]);
    	}
    }
    
    int GetUnit2(int k)
    {
    	int a = 0;
    	__try
    	{
    		__asm
    		{
    			pushad
    			push k
    			call dword ptr [JGetHeroLevel]
    			mov a, eax
    			pop eax
    			popad
    		}
    	}
    	__except(EXCEPTION_EXECUTE_HANDLER)
    	{
    		OutputDebugString("GetHeroLevel error");
    		return -1;
    	}
    	if(a)return 1;
    	return 0;
    }
    
    void GetUnit(int k)
    {
    	int i, a, OldTls;
    	char tmp[100];
    	
    	if(k < 0x100000 || k > 0x200000)return;
    
    	OldTls = (int)TlsGetValue(ThreadTlsT);
    	TlsSetValue(ThreadTlsT, (LPVOID)ThreadTlsV);
    		
    	if(GetUnit2(k) == 1)
    	{
    		for(i = 1 ; i <= s_unit[0] ; i++)
    			if(s_unit[i] == k) break;
    		if(i > s_unit[0])
    		{
    			s_unit[++s_unit[0]] = k;
    			sprintf(tmp, "得到英雄ID : %d", k);
    			if(!hasgotplayer)
    			{
    				GetAllPlayer();
    				GetAllPlayerName();
    				hasgotplayer = true;
    			}
    			SendString(tmp);
    			OutputDebugString(tmp);
    		}
    	}
    	TlsSetValue(ThreadTlsT, (LPVOID)OldTls);
    }
    
    
    int WINAPI CheckThread(LPVOID xx)
    {
    	int i, j, tunit, tplayer, k, k1, k2, nowtime, OldTls;
    	char tmp[100];
    	int * x;
    
    	x = (int *)JGamePoint;
    
    		/*if(*x)
    			OutputDebugString("InGame");
    		else
    			OutputDebugString("OutOfGame");*/
    
    	/*if(!State && *x)
    	{
    		s_unit.empty();
    		GetAllPlayer();
    		State = true;
    		return;
    	}*/
    	if(!*x)
    	{
    		State = false;
    		return 0;
    	}
    	if(!State)return 0;
    	
    	TlsSetValue(ThreadTlsT, (LPVOID)ThreadTlsV);
    	
    	for(j = 1 ; j <= s_player[0]  ; j++)
    	{
    		for (i = 1 ; i <= s_unit[0]; i++)
    		{
    			k = 0;
    			tunit = s_unit[i];
    			tplayer = s_player[j];
    			//OldTls = (int)TlsGetValue(ThreadTlsT);
    			
    			k1 = Check21(tunit, tplayer);
    			k2 = Check22(tunit, tplayer);
    			k = k1 && !k2;
    			//TlsSetValue(ThreadTlsT, (LPVOID)OldTls);
    			nowtime = GetTickCount();
    			if(k && nowtime - s_selecttime[i][j] > 1000  && nowtime - s_visibletime[i][j] > 1000)
    			{
    				sprintf(tmp, "玩家编å·ï¼š%d 玩家å:%s 选ä¸*ä¸å¯è§å•ä½ï¼š%d 时间:%d", j, s_playername[j], tunit, nowtime);
    				SendString(tmp);
    				OutputDebugString(tmp);
    			}
    			if(k1)
    				s_selecttime[i][j] = nowtime;
    			if(k2)
    				s_visibletime[i][j] = nowtime;
    		}
    	}
    	return 0;
    }
    
    void Check()
    {
    	CreateThread(0, 0, (LPTHREAD_START_ROUTINE)CheckThread, (LPVOID)0, 0, 0);
    }
    
    void GetThreadTls(int j, int k)
    {
    	char tmp[100];
    	if(GetCurrentThreadId() == ThreadId && k)
    	{
    		if(ThreadTlsV != k || ThreadTlsT != j)
    		{
    			ThreadTlsV = k;
    			ThreadTlsT = j;
    			sprintf(tmp, "GetMainThreadTls : 0x%x Type: 0x%x", k, j);
    			OutputDebugString(tmp);
    		}
    	}
    }
    
    __declspec(naked) void HookUnit()
    {
    	__asm
    	{
    		pushad
    		push edx
    		call GetUnit
    		pop edx
    		popad
    		pop esi
    		retn 4
    	}
    }
    
    
    __declspec(naked) void HookSend()
    {
    	__asm
    	{
    		pushad
    		call Check
    		popad
    
    		sub edx, 1
    		and eax, edx
    		ret
    		
    	}
    }
    
    __declspec(naked) void HookTlsSet()
    {
    	__asm
    	{
    		pushad
    		push edx
    		push ecx
    		call GetThreadTls
    		pop eax
    		pop eax
    		popad
    
    		ret
    	}
    }
    
    int WINAPI Watcher(LPVOID k)
    {
    	int * x;
    	while(1)
    	{
    		Sleep(100);
    		x = (int *)JGamePoint;
    
    
    		if(!State && *x)
    		{
    			memset(s_unit, 0, sizeof(s_unit));
    			memset(s_selecttime, 0, sizeof(s_selecttime));
    			memset(s_visibletime, 0, sizeof(s_visibletime));
    //			GetAllPlayer();
    			State = true;
    			hasgotplayer = false;
    			SendString("New Game");
    			OutputDebugString("New Game");
    			continue;
    		}
    		if(!*x)
    		{
    			State = false;
    			continue;
    		}
    		Check();
    		
    	}
    	return 0;
    }
    
    	
    
    void DllLoad()
    {
    	char tm[100];
    
    	hself = FindWindow(NULL, "Warcraft III");
    	htosend = FindWindow(NULL, "MapHackClickDetector");
    	GameDllBase = GetModuleHandle("game.dll");
    	JGetHeroLevel += (DWORD)GameDllBase;
    	JGetPlayerName += (DWORD)GameDllBase;
    	JGetPlayerNameAdd1 += (DWORD)GameDllBase;
    	JGetPlayerNameAdd2 += (DWORD)GameDllBase;
    	JIsUnitVisible += (DWORD)GameDllBase;
    	JIsUnitSelected += (DWORD)GameDllBase;
    	JPlayer += (DWORD)GameDllBase;
    	JGamePoint += (DWORD)GameDllBase;
    	HookUnitAddress += (DWORD)GameDllBase;
    	HookTlsSetAddress += (DWORD)GameDllBase;
    
    
    	int tmp = (DWORD)HookUnit - (DWORD)HookUnitAddress - 5;
    	memcpy(HookUnitBytes + 1, (void *)&tmp, 4);
    	WriteProcessMemory((HANDLE)-1, (LPVOID)HookUnitAddress, (LPCVOID)HookUnitBytes, 5, 0);
    
    	tmp = (DWORD)HookTlsSet - (DWORD)HookTlsSetAddress - 5;
    	memcpy(HookTlsSetBytes + 1, (void *)&tmp, 4);
    	WriteProcessMemory((HANDLE)-1, (LPVOID)HookTlsSetAddress, (LPCVOID)HookTlsSetBytes, 5, 0);
    
    	ProcessId = GetCurrentProcessId();
    	THREADENTRY32 te32 = {sizeof(te32)};
    	HANDLE hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,0);
    	if( Thread32First( hThreadSnap, &te32) )
    	{
    		do
    		{
    			if(ProcessId == te32.th32OwnerProcessID )
    			{
    				ThreadId = te32.th32ThreadID;
    				break;
    			}
    		}while( Thread32Next( hThreadSnap, &te32) );
    	}
    
    	CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Watcher, (LPVOID)0, 0, 0);
    	
    
    	SendString("å·²å¯åЍ");
    	sprintf(tm, "MainThreadId : %d", ThreadId);
    	OutputDebugString(tm);
    	OutputDebugString("DllLoad");
    }
    
    
    BOOL APIENTRY DllMain( HMODULE hModule,
                           DWORD  ul_reason_for_call,
                           LPVOID lpReserved
    					 )
    {
    	switch (ul_reason_for_call)
    	{
    	case DLL_PROCESS_ATTACH:
    		DllLoad();
    	case DLL_THREAD_ATTACH:
    	case DLL_THREAD_DETACH:
    	case DLL_PROCESS_DETACH:
    		break;
    	}
    	return TRUE;
    }
    Thanks hekk, ku cb otak atik dl itu source code nya

    Ga susah mestine klo cmn ubah message display nya




    Quote Originally Posted by harryzzz View Post
    oe ts baka

    ajarin gua cara ngedebug coding diatas

    Ga mauuu !

    WeeeeeeeeeeeeQ !


    Quote Originally Posted by Clon3 View Post
    TS musnah

    seperti poin gw
    TS na lg bacod2 in org di Bnet, wkwkwk

    Udh dpt 3 ekor id cecunguk yg siap d lock di f477 dr 2 hari ini maen, wkwkwk


    Btw, point mu kmn nyooooooooooop

    Mending kasi gw oeeeeeeeeeee

    Fuckkkkkkkkkkkkkkk

    Quote Originally Posted by [R]aruku View Post
    di dalam pikiran gw

    ex-mat yg paling ******* cuma lu trist :rofl:
    Quote Originally Posted by odinez View Post
    Emang Pro Kalah Cepat GW Padahal Baru Mau Gw Post.
    Btw Thanks OM Yakuza
    Quote Originally Posted by [R]aruku View Post
    WSW! Motomu Picek ! Dengkulmu Melocot !

    serba salah gw di kritik mulu sm ykz

  13. #1212
    HARRYZZZ's Avatar
    Join Date
    Sep 2010
    Location
    sky ~
    Posts
    15,264
    Points
    67,848.83
    Thanks: 43 / 164 / 140

    Default

    ts kalo jaat" ama gua nanti dikutuk jd guest loh...







    Moving on to DotA2
    Status: 97%




    | Office |

  14. #1213
    MaXiMuM~'s Avatar
    Join Date
    Feb 2012
    Location
    San Fransisco
    Posts
    7,463
    Points
    16.21
    Thanks: 113 / 184 / 172

    Default



    bukan jdi guest lagi ./

    tapi langsung di delete


    Orang Yang jahat itu TIDAK menakutkan, Yang paling Menakutkan adalah Orang yang Pura-pura BAIK.

    Melanggar Janji itu adalah sifat yg sangat SAMPAH, tapi lebih SANGAT Sampah lagi kalo Menghianati TEMAN .. <<

  15. #1214

    Join Date
    Jan 2008
    Location
    www.indogamers.com
    Posts
    1,058
    Points
    -68.50
    Thanks: 124 / 394 / 279

    Default

    Quote Originally Posted by Y4KUZ4 View Post
    Thanks hekk, ku cb otak atik dl itu source code nya

    Ga susah mestine klo cmn ubah message display nya

    loe download dulu FULL SOURCE CODE (source code lengkapnya)
    you cannot edit a compiled file
    loe harus punya source code lengkapnya
    ntar gua kasih linknya deh, silahkan berkarya wkwkwk
    kalo udah download semua, baru diedit trus compile lagi

    tuh kek anak NSR (nusareborn) bikin/edit/translate MHCD sendiri tuh
    http://www.mediafire.com/download/02...p/MHCD_Eng.exe

    MHCD editan anak nusa https://www.facebook.com/Jhebkv
    wkwkwk

    coba mana hasil karya anak IDGS?
    sini kasih liat gua
    wkwkwk

    SURAT TANTANGAN BUAT ANAK2 IDGS (for programmer only)
    nih gua kasih link/alamat source code asli MHCD

    ORIGINAL MHCD by suwuhao
    open source asli karya dari suwuhao : http://war3mhcd.googlecode.com/svn/trunk/

    silahkan edit sesuka hati loe
    wkwkwk


    feel free to create your own
    GL ^_^ HF
    Last edited by maphack_user; 12-08-13 at 11:07.

  16. #1215

    Join Date
    May 2012
    Posts
    6,383
    Points
    12,935.23
    Thanks: 139 / 73 / 69

    Default

    siapa cecunguk

Page 81 of 180 FirstFirst ... 317177787980818283848591131 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •