Execute o C++
Clique em File >> New >> Project em name digite qualquer nome para seu logger depois clique em OK
depois clique em Next em aplication settings maque a opição DLL e Empty Project de ok
Depois disso clique com o Botão direito do mause em Header Files e adicione Inc.h e sigs.h
Em soucer Files adicione Main.cpp
Em Inc.h adicione o seguinte codigo:
Código:
Em Sigs.h adicione isso:
Código:
E por Ultimo em main.cpp adicione esse codigo:
Código:
Creditos
Noob
Gellin
We11ingtow
Ussr´s
srDIEGO
experthack
luizimloko
ch40z-C0d3r
mattyp atty
TokolocoSK
Scan
Clique em File >> New >> Project em name digite qualquer nome para seu logger depois clique em OK
depois clique em Next em aplication settings maque a opição DLL e Empty Project de ok
Depois disso clique com o Botão direito do mause em Header Files e adicione Inc.h e sigs.h
Em soucer Files adicione Main.cpp
Em Inc.h adicione o seguinte codigo:
Código:
- Código:
//////////////////////////////////////////////////////////////////////////
// //
// Combat Arms Address Logger Version 2.0penSource //
// 25-04-2013 //
// Created By Renildo Marcio, USSR´s, Infinity //
// Noob, Gellin, We11ingtow, srDIEGO //
// //
// Credits - Msdn, Microsoft, Google //
// www.uc-forum.com, //
// www.delta-h.net //
// www.forum.infinitycheats.com.br //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef _FUNCTIONS_H_
#define _FUNCTIONS_H_
#pragma once
#include <Windows.h>
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <time.h>
#define VC_EXTRALEAN
#define WIN32_LEAN_AND_MEAN
#pragma warning( disable: 4996 )
using namespace std;
ofstream ofile;
#define LOG_FILE "C:\\srDIEGO_LOG.txt"
bool IsGameReadyToBeHooked( void )
{
if( GetModuleHandle( "Engine.exe" ) != NULL
&& GetModuleHandle( "CShell.dll" ) != NULL
&& GetModuleHandle( "Clientfx.fxd" ) != NULL )
return true;
return false;
}
void __cdecl add_log( const char *fmt, ... )
{
ofile.open( LOG_FILE, ios::app );
va_list va_alist;
char logbuf[256] = {0};
va_start( va_alist, fmt );
vsnprintf( logbuf + strlen(logbuf), sizeof(logbuf) - strlen(logbuf), fmt, va_alist );
va_end( va_alist );
ofile << logbuf << endl;
ofile.close();
}
DWORD GetSizeofCode( const char* szModuleName )
{
HMODULE hModule = GetModuleHandle( szModuleName );
if ( !hModule )
return NULL;
PIMAGE_DOS_HEADER pDosHeader = PIMAGE_DOS_HEADER( hModule );
if( !pDosHeader )
return NULL;
PIMAGE_NT_HEADERS pNTHeader = PIMAGE_NT_HEADERS( (LONG)hModule + pDosHeader->e_lfanew );
if( !pNTHeader )
return NULL;
PIMAGE_OPTIONAL_HEADER pOptionalHeader = &pNTHeader->OptionalHeader;
if( !pOptionalHeader )
return NULL;
return pOptionalHeader->SizeOfCode;
}
DWORD OffsetToCode( const char* szModuleName )
{
HMODULE hModule = GetModuleHandle( szModuleName );
if ( !hModule )
return NULL;
PIMAGE_DOS_HEADER pDosHeader = PIMAGE_DOS_HEADER( hModule );
if( !pDosHeader )
return NULL;
PIMAGE_NT_HEADERS pNTHeader = PIMAGE_NT_HEADERS( (LONG)hModule + pDosHeader->e_lfanew );
if( !pNTHeader )
return NULL;
PIMAGE_OPTIONAL_HEADER pOptionalHeader = &pNTHeader->OptionalHeader;
if( !pOptionalHeader )
return NULL;
return pOptionalHeader->BaseOfCode;
}
DWORD FindPattern( DWORD dwStart, DWORD dwLen, BYTE* pszPatt, char pszMask[] )
{
unsigned int i = NULL;
int iLen = strlen( pszMask ) - 1;
for( DWORD dwRet = dwStart; dwRet < dwStart + dwLen; dwRet++ )
{
if( *(BYTE*)dwRet == pszPatt[i] || pszMask[i] == '?' )
{
if( pszMask[i+1] == '\0' )
return( dwRet - iLen );
i++;
}
else
i = NULL;
}
return NULL;
}
#endif
Em Sigs.h adicione isso:
Código:
- Código:
//////////////////////////////////////////////////////////////////////////
// //
// Combat Arms Address Logger Version 2.0penSource //
// 25-04-2013 //
// Created By Renildo Marcio, USSR´s, Infinity //
// Noob, Gellin, We11ingtow, srDIEGO //
// //
// Credits - Msdn, Microsoft, Google //
// www.uc-forum.com, //
// www.delta-h.net //
// www.forum.infinitycheats.com.br //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef _SIGS_
#define _SIGS_
#pragma once
#define PATT_MTBWC "\x68\x00\x00\x00\x00\x2B\xC2\x8D\x8C\x24\x00\x00\x00\x00\x51\x40\x50\x8D\x54\x24\x00\x52\x55\x55"
#define MASK_MTBWC "x????xxxxx????xxxxxx?xx"
#define
PATT_LTCLIENT
"\x8B\x0D\x00\x00\x00\x00\xD9\x54\x24\x00\x53\xD9\x54\x24\x00\x8D\x5C\x24\x00\xD9\x5C\x24\x00\x53\xD9\xE8\x50"
#define MASK_LTCLIENT "xx????xxx?xxxx?xxx?xxx?xxx"
#define
PATT_LOCALPTR
"\x8B\x0D\x00\x00\x00\x00\x0F\xB7\x96\x00\x00\x00\x00\x8B\x1\x8B\x80\x00\x00\x00\x00\x52\xFF\xD0\x85\xC0"
#define MASK_LOCALPTR "xx????xxx????xxxx????xxxx"
#define
PATT_BUILDFONT
"\x8B\x44\x24\x00\x56\x8B\xF1\x8B\x4C\x24\x00\x8B\x16\x8B\x92\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x8B\x44\x24\x00\x50\x51\x8B\xCE\xFF\xD2\x85\xC0"
#define MASK_BUILDFONT "xxx?xxxxxx?xxxx????xx????xxx?xxxxxxx"
#define
PATT_FILLFONT
"\x89\x50\x00\xC2\x00\x00\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x6A\x00\x68\x00\x00\x00\x00\x64\xA1\x00\x00\x00\x00\x50\x51\x53\x55\x56\x57"
#define MASK_FILLFONT "xx?x??xxxxxxxxxxxx?x????xx????xxxxx"
#define
PATT_FONTECX
"\xA1\x00\x00\x00\x00\xD9\x7C\x24\x00\xD9\x80\x00\x00\x00\x00\x8B\x4E\x00\xDC\x0D\x00\x00\x00\x00\x0F\xB7\x44\x24\x00\xD9\xC9\x8B\x11\xDC\x5\x00\x00\x00\x00\x0D\x00\x00\x00\x00\x89\x44\x24\x00\x8B\x42\x00"
#define MASK_FONTECX "x????xxx?xx????xx?xx????xxxx?xxxxxx????x????xxx?xx"
#define
PATT_GETFONTHAND
"\x8B\x44\x24\x00\x56\x8B\xF1\x8B\x8E\x00\x00\x00\x00\x2B\x8E\x00\x00\x00\x00\xC1\xF9\x00\x3B\xC1\x72\x00\x80\x7C\x24\x00\x00\x74\x00\xA1\x00\x00\x00\x00\x8B\x10"
#define MASK_GETFONTHAND "xxx?xxxxx????xx????xx?xxx?xxx??x?x????x"
#define
PATT_GETCONSOLEINT
"\xA1\x00\x00\x00\x00\x85\xC0\x74\x00\x8B\x4C\x24\x00\x8B\x90\x00\x00\x00\x00\x51\xFF\xD2\x83\xC4\x00\x85\xC0\x74\x00"
#define MASK_GETCONSOLEINT "x????xxx?xxx?xx????xxxxx?xxx"
#define
PATT_GCS
"\x8B\x0D\x00\x00\x00\x00\x8B\x01\x8B\x90\x00\x00\x00\x00\xFF\xD2\x8B\xD8\x85\xDB\x0F\x84\x00\x00\x00\x00\x8B\x86\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x50\x33\xFF"
#define MASK_GCS "xx????xxxx????xxxxxxxx????xx????xx????xx"
#define
PATT_LTCOMMON
"\x8B\x0D\x00\x00\x00\x00\x8B\x11\x6A\x00\x6A\x00\x6A\x00\x50\x8B\x42\x00\xFF\xD0\x8B\xB6\x00\x00\x00\x00\x85\xF6\x74\x00"
#define MASK_LTCOMMON "xx????xxx?x?x?xxx?xxxx????xxx"
#define PATT_SUPERBULLETS "\x8B\x90\x00\x00\x00\x00\x56\xFF\xD2\x8B\xC8\xE8\x00\x00\x00\x00\x85\xC0\x5F\x0F\x94\xC0\x5E\xC3"
#define MASK_SUPERBULLETS "xx????xxxxxx????xxxxxxx"
#define
PATT_FPSOFFSET
"\xEB\x00\xDD\xD8\x8B\x0D\x00\x00\x00\x00\x8B\x11\x8B\x42\x00\xFF\xD0\xD9\x1D\x00\x00\x00\x00\x39\xAE\x00\x00\x00\x00\x0F\x84\x00\x00\x00\x00\x8B\x86\x00"
#define MASK_FPSOFFSET "x?xxxx????xxxx?xxxx????xx????xx????xx"
#define
PATT_REMOTEKILL1
"\x52\xD9\x5C\x24\x00\xD9\x40\x00\x8D\x44\x24\x00\xD9\x5C\x24\x00\x50\xD9\x44\x24\x00\xD9\x5C\x24\x00\xD9\x44\x24\x00\xD9\x5C\x24\x00\xD9\x44\x24\x00\xD9\x5C\x24\x00"
#define MASK_REMOTEKILL1 "xxxx?xx?xxx?xxx?xxxx?xxx?xxx?xxx?xxx?xxx"
#define
PATT_WEAPONRANGE
"\x8B\x80\x00\x00\x00\x00\x89\x44\x24\x00\x8B\x82\x00\x00\x00\x00\xFF\xD0\x3B\xC3\x74\x00\xD9\x80\x00\x00\x00\x00\xDA\x4C\x24\x00\xDA\x44\x24\x00"
#define MASK_WEAPONRANGE "xx????xxx?xx????xxxxx?xx????xxx?xxx"
#define PATT_RAPIDFIRE1 "\x74\x00\x8B\x06\x8B\x50\x00\x8B\xCE\xFF\xD2\x8B\xC7\x5F\x5E\xC2\x00\x00\xCC\xCC\xCC"
#define MASK_RAPIDFIRE1 "x?xxxx?xxxxxxxxx??xx"
#define
PATT_RAPIDFIRE2
"\x80\xBE\x00\x00\x00\x00\x00\x74\x00\x8B\x86\x00\x00\x00\x00\x8B\xD\x00\x00\x00\x00\x8B\x78\x00\xE8\x00\x00\x00\x00\x85\xC0"
#define MASK_RAPIDFIRE2 "xx?????x?xx????xx????xx?x????x"
#define
PATT_RAPIDFIRE3
"\x7E\x00\x8B\x96\x00\x00\x00\x00\x3B\x82\x00\x00\x00\x00\x7D\x00\xC6\x44\x24\x00\x00\xEB\x00\x84\xC9\x74\x00\x80\xBE\x00"
#define MASK_RAPIDFIRE3 "x?xx????xx????x?xxx??x?xxx?xx"
#define
PATT_RAPIDFIRE4
"\x74\x00\x8B\x86\x00\x00\x00\x00\x8B\xD\x00\x00\x00\x00\x8B\x78\x00\xE8\x00\x00\x00\x00\x85\xC0\x74\x00"
#define MASK_RAPIDFIRE4 "x?xx????xx????xx?x????xxx"
#define PATT_RAPIDFIRE5 "\x8B\x86\x00\x00\x00\x00\x5F\x5E\x5D\x5B\x83\xC4\x00\xC2\x00\x00\x83\xFF\x00\x75\x00\x8B\xCE"
#define MASK_RAPIDFIRE5 "xx????xxxxxx?x??xx?x?x"
#define
PATT_ITLTCSBASE
"\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00\xB9\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x59\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xB9\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x59\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x6A\x00\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00\xB9\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x59\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xD9\xE8\xE8\x00\x00\x00\x00\xDC\xD\x00\x00\x00\x00\xD9\x1D\x00"
#define MASK_ITLTCSBASE
"x????x????x????x????x????x????xxxxxxxxxxxxxxxxx????x????x????x????xxxxxxxxxxxxx?x????x????x????x????x????x????xxxxxxxxxxxxxxxxxxx????xx????xx"
#define
PATT_FORCEFPS
"\x50\xE8\x00\x00\x00\x00\x83\xC4\x00\xC7\x05\x00\x00\x00\x00\x00\x00\x00\x00\xC7\x05\x00\x00\x00\x00\x00\x00\x00\x00\xC7\x05\x00\x00\x00\x00\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xB9\x00\x00\x00\x00\xE9\x00\x00\x00\x00\xCC\xCC\xCC\xCC\xCC\xCC\xB9\x00\x00\x00\x00\xE9\x00\x00\x00\x00\xCC\xCC\xCC\xCC\xCC\xCC\xB9\x00"
#define MASK_FORCEFPS "xx????xx?xx????????xx????????xx????????xxxxxxxxxxxxxxxxx????x????xxxxxxx????x????xxxxxxx"
#define
PATT_D3DDEVICE
"\x8B\xD\x00\x00\x00\x00\x89\x4D\x00\x33\xD2\x52\x8B\x45\x00\x50\x8B\x4D\x00\x8B\x11\x8B\x45\x00\x8B\x8\x8B\x12\x51\x8B\x82\x00\x00\x00\x00\xFF\xD0\xEB\x00\x8B\xE5\x5D\xC3\xCC\xCC"
#define MASK_D3DDEVICE "xx????xx?xxxxx?xxx?xxxx?xxxxxxx????xxx?xxxxx"
#define PATT_WORLDTOSCREEN "\x81\xEC\x00\x00\x00\x00\x56\x8B\xF1\x8B\x8C\x24\x00\x00\x00\x00\x8B\x06\x8B\x50\x0C"
#define MASK_WORLDTOSCREEN "xx????xxxxxx????xxxxx"
#define
PATT_DRAWPRIM
"\x8B\x50\x00\x8B\x12\x56\x8B\x70\x00\x89\xC\x96\x8B\x48\x00\xFF\x1\x5E\x8B\x40\x00\xFF\x0\xC3\x8B\xC1\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xA1\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xA1\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xA1\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xA1\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xA1\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xA1\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xA1\x00"
#define
MASK_DRAWPRIM
"xx?xxxxx?xxxxx?xxxxx?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxxxx????xxxxxxxxxxxx????xxxxxxxxxxxx????xxxxxxxxxxxx????xxxxxxxxxxxx????xxxxxxxxxxxx"
#define
PATT_INTERSECT
"\x8B\x54\x24\x00\x8B\x0D\x00\x00\x00\x00\x8B\x01\x8B\x40\x00\x52\x8B\x54\x24\x00\x52\xFF\xD0\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x8B\x54\x24\x00\xD9\x44\x24\x00"
#define MASK_INTERSECT "xxx?xx????xxxx?xxxx?xxxxxxxxxxxxxxx?xxx"
#define
PATT_CURSORCENTER
"\x39\x3D\x00\x00\x00\x00\x74\x00\x57\xFF\x15\x00\x00\x00\x00\x89\x3D\x00\x00\x00\x00\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x83\xC4\x00\xE8\x00"
#define MASK_CURSORCENTER "xx????x?xxx????xx????x????x????xx?x"
#define
PATT_CONSOLEUNWRAPPED
"\xC7\x5\x00\x00\x00\x00\x00\x00\x00\x00\xC7\x5\x00\x00\x00\x00\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x83\xC4\x00\x68\x00\x00\x00\x00\xB9\x00\x00\x00\x00\xE8\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x59\xC3\xCC\xCC\xCC\xCC\x8B\x44\x24\x00"
#define MASK_CONSOLEUNWRAPPED "xx????????xx????????x????xx?x????x????x????xxxxxxxxxxxxx????x????xxxxxxxxx"
#define
PATT_CLIENTFX
"\xD9\xEE\x8B\xC1\xD9\x58\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xB0\x00\xC2\x00\x00\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xB8\x00\x00\x00\x00\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x8B\x44\x24\x00\xA3\x00"
#define MASK_CLIENTFX "xxxxxx?xxxxxxxxxx?x??xxxxxxxxxxxx????xxxxxxxxxxxxxx?x"
#define PATT_JUMP "\xD9\x1D\x00\x00\x00\x00\xD9\xC9\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0"
#define MASK_JUMP "xx????xxxx????xx????xx"
#define
PATT_TRACERS
"\xD9\x15\x00\x00\x00\x00\x89\x0D\x00\x00\x00\x00\x83\x3D\x00\x00\x00\x00\x00\x75\x21\xD9\xC1\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\x89\x0D\x00\x00\x00\x00\x83\x3D\x00\x00\x00\x00\x00\x75\x27\xD9\xC1\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0E\xD9\x1D\x00\x00\x00\x00"
#define MASK_TRACERS "xx????xx????xx?????xxxxxx????xxxxxxxxx????xx????xx????xx?????xxxxxx????xxxxxxxxx????"
#define
PATT_FPS
"\xD9\x15\x00\x00\x00\x00\xD8\x15\x00\x00\x00\x00\x89\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\x89\x1D\x00\x00\x00\x00\xD9\x97\x00\x00\x00\x00\xD9\x97\x00\x00\x00\x00"
#define MASK_FPS "xx????xx????xx????xxxxxxxxx????xx????xx????xx????"
#define
PATT_GRAVITY
"\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xD9\x05\x00\x00\x00\x00\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08\xD9\x1D\x00\x00\x00\x00"
#define MASK_GRAVITY "xx????xxxx????xx????xxxx????xxxxxxx????xxxx????xx????xxxxxxxxx????"
#define PATT_PLAYERSTATUS "\x56\x8B\xF1\xE8\x00\x00\x00\x00\xC7\x06\x00\x00\x00\x00\x89\x35\x00\x00\x00\x00\x8B\xC6\x5E\xC3"
#define MASK_PLAYERSTATUS "xxxx????xx????xx????xxxx"
#define PATT_DISTANCE "\xD9\x05\x00\x00\x00\x00\xEB\x2F\x80\x7F\x01\x00\x0F\x94\xC2\x88\x96\x93\x04\x00\x00"
#define MASK_DISTANCE "xx????xxxxxxxxxxxxxxx"
#define PATT_PLAYERMGR "\x8B\x0D\x00\x00\x00\x00\x8B\xB9\x00\x00\x00\x00\x85\xFF\x75\x0C\x5F\x5B\x33\xC0"
#define MASK_PLAYERMGR "xx????xx????xxxxxxxx"
#define PATT_CLIENTEINFOMGR "\x8B\x0D\x00\x00\x00\x00\x57\xE8\x00\x00\x00\x00\x83\xFF\x01"
#define MASK_CLIENTEINFOMGR "xx????xx????xxx"
#define PATT_CAMERAUPDATE "\x89\x4C\x24\x08\x8B\x50\x1C\x89\x54\x24\x0C\x8B\x48\x20\x89\x4C\x24\x10"
#define MASK_CAMERAUPDATE "xxxxxxxxxxxxxxxxxx"
#define PATT_PLAYERBYINDEX "\x8b\x41\x04\x85\xc0\x74\x00\x8b\x54\x24\x04\xeb\x00\x8d\x49\x00"
#define MASK_PLAYERBYINDEX "xxxxxx?xxxxx?xxx"
#define PATT_PLAYERMANAGER "\x8B\x0D\x00\x00\x00\x00\x8B\xB9\x00\x00\x00\x00\x85\xFF\x75\x0C\x5F\x5B\x33\xC0"
#define MASK_PLAYERMANAGER "xx????xx????xxxxxxxx"
#define
PATT_GAMESTATUS
"\x8B\x0D\x00\x00\x00\x00\x68\x00\x00\x00\x00\x89\x5C\x24\x20\x89\x5C\x24\x28\x89\x5C\x24\x30\x89\x5C\x24\x38\x88\x5C\x24\x3C\x89\x5C\x24\x64\x89\x44\x24\x40\x89\x5C\x24\x44\x89\x5C\x24\x5C\x89\x6C\x24\x68\x89\x5C\x24\x50\x89\x5C\x24\x54\x89\x5C\x24\x58\x89\x5C\x24\x60\xC7\x44\x24\x00\x00\x00\x00\x00\xC7\x44\x24\x00\x00\x00\x00\x00\xC7\x44\x24\x00\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x8B\x47\x10\x8B\x6F\x14\x89\x46\x2C\xE8\x00\x00\x00\x00\x8B\x4F\x1C\x8B\x57\x18"
#define
MASK_GAMESTATUS
"xx????x????xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?????xxx?????xxx?????x????xxxxxxxxxx????xxxxxx"
#define
PATT_BASEMOVEACCEL
"\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\xD9\xC1"
#define MASK_BASEMOVEACCEL "xx????xxxx????xx????xxxxxxxxx????xx????xxxx????xx????xxxxxxxxx????xxxxxx"
#define
PATT_STARTACCEL
"\xD9\x1D\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08\xD9\x1D\x00\x00\x00\x00"
#define MASK_STARTACCEL "xx????xxxx????xx????xxxxxxxxx????"
#define
PATT_MAXACCEL
"\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00"
#define MASK_MAXACCEL "xx????xxxxxxxx????xx????xxxxxxxxx????xx????xxxx????xx????xxxxxxxxx????xx????"
#define
PATT_ACCELINC
"\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xD9\x05\x00\x00\x00\x00\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2"
#define MASK_ACCELINC "xx????xxxx????xx????xxxxxxxxx????xx????xxxx????xx????xxxx????xxxxxxx????xx"
#define
PATT_WALKVVEL
"\xD9\x1D\x00\x00\x00\x00\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xD9\x05\x00\x00\x00\x00\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2"
#define MASK_WALKVVEL "xx????xxxx????xx????xxxx????xxxxxxx????xxxx????xx????xxxxxxxxx????xx"
#define
PATT_FRUNVEL
"\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x06\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44"
#define MASK_FRUNVEL "xx????xxxx????xx????xxxxxxxxx????xxxx????xx????xxxxx"
#define
PATT_BRUNVEL
"\xD9\x15\x00\x00\x00\x00\xD9\xC2\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC9\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0"
#define MASK_BRUNVEL "xx????xxxx????xx????xxxxxxxxx????xxxxxxxx????xx????xxxxxxxxx????xx????xxxx????xx????xx"
#define
PATT_SRUNVEL
"\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\xD9\xC1\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x0C\xD9\x05\x00\x00\x00\x00\xD9\x1D\x00\x00\x00\x00\xD9\xC9\x89\x35\x00\x00\x00\x00\xD8\x1D\x00\x00\x00\x00\xDF\xE0\xF6\xC4\x44\x7A\x08"
#define MASK_SRUNVEL "xx????xxxxxxxx????xx????xxxxxxxxx????xx????xxxx????xx????xxxxxxx"
#define
PATT_DUCKVEL
"\xD9\x1D\x00\x00\x00\x00\xEB\x02\xDD\xD8\x89\x35\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x68\x00\x00\x00\x00\x8D\x87\x00\x00\x00\x00\x50"
#define MASK_DUCKVEL "xx????xxxxxx????x????xx????x????xx????x"
#define
PATT_ESPNOMES1
"\x75\x05\xBB\x00\x00\x00\x00\x8B\x15\x00\x00\x00\x00\x8D\x4C\x24\x1C\xC7\x44\x24\x00\x00\x00\x00\x00\x8B\x82\x00\x00\x00\x00"
#define MASK_ESPNOMES1 "xxx????xx????xxxxxxx?????xx????"
#define
PATT_ESPNOMES2
"\x75\x05\xBB\x00\x00\x00\x00\x8B\x17\x8B\x92\x00\x00\x00\x00\x85\xDB\x0F\x95\xC0\x0F\xB6\xC8\x51\x8B\xCF"
#define MASK_ESPNOMES2 "xxx????xxxx????xxxxxxxxxxx"
#define
PATT_NORECOIL
"\xD9\x44\x24\x14\xD8\xD1\xDF\xE0\xDD\xD9\xF6\xC4\x41\x75\x09\xD9\x44\x24\x18\xD8\x4E\x58\xDE\xC1\xD9\x5C\x24\x18\xD9\x44\x24\x18\xDC\x0D\x00\x00\x00\x00\xD9\x5C\x24\x18\xD9\x44\x24\x18\xD9\xC0"
#define MASK_NORECOIL "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx????xxxxxxxxxx"
#define
PATT_NORELOAD
"\x0F\x84\x00\x00\x00\x00\x8B\x96\x00\x00\x00\x00\x89\x96\x00\x00\x00\x00\x8B\x0D\x00\x00\x00\x00\x0F\xB7\x96\x10\x02\x00\x00"
#define MASK_NORELOAD "xx????xx????xx????xx????xxxxxxx"
#define PATT_PLAYERNEXT
#endif
E por Ultimo em main.cpp adicione esse codigo:
Código:
- Código:
//////////////////////////////////////////////////////////////////////////
// //
// Combat Arms Address Logger Version 1.0penSource //
//////////////////////////////////////////////////////////////////////////
// //
// Combat Arms Address Logger Version 2.0penSource //
// 25-04-2013 //
// Created By Renildo Marcio, USSR´s, Infinity //
// Noob, Gellin, We11ingtow, srDIEGO //
// //
// Credits - Msdn, Microsoft, Google //
// www.uc-forum.com, //
// www.delta-h.net //
// www.forum.infinitycheats.com.br //
// //
//////////////////////////////////////////////////////////////////////////
#include "inc.h"
#include "sigs.h"
DWORD dwCShellCodeSize = NULL, dwCShellEntryPoint = NULL, dwCShellCodeOffset = NULL,
dwEngineCodeSize = NULL, dwEngineEntryPoint = NULL, dwEngineCodeOffset = NULL,
dwClientFXCodeSize = NULL, dwClientFXEntryPoint = NULL, dwClientFXCodeOffset = NULL;
DWORD WINAPI dwMain( LPVOID lpArg )
{
#pragma region Warm Up
DeleteFile( LOG_FILE );
add_log( "______________________________________________" );
add_log( "| |" );
add_log( "| Combat Arms Address Logger v6 |" );
add_log( "| Created By Renildo Marcio, USSR´s, Infinity |" );
add_log( "| Noob, Gellin, We11ingtow, srDIEGO |" );
add_log( "| 04-06-2013 |" );
add_log( "_______________________________________________" );
add_log( "\n\nWaiting for game to reach proper state..." );
while( !IsGameReadyToBeHooked() )
Sleep( 25 );
add_log( "Game reached proper state, logging started...\n" );
Sleep( 250 );
dwEngineEntryPoint = (DWORD)GetModuleHandle( "Engine.exe" );
dwEngineCodeSize = GetSizeofCode( "Engine.exe" );
dwEngineCodeOffset = OffsetToCode( "Engine.exe" );
Sleep( 100 );
add_log( "Engine Entry Point : 0x%X", dwEngineEntryPoint );
add_log( "Engine .code Size : 0x%X", dwEngineCodeSize );
add_log( "Engine .code Offset : 0x%X\n", dwEngineCodeOffset );
dwEngineEntryPoint += dwEngineCodeOffset;
dwCShellEntryPoint = (DWORD)GetModuleHandle( "CShell.dll" );
dwCShellCodeSize = GetSizeofCode( "CShell.dll" );
dwCShellCodeOffset = OffsetToCode( "CShell.dll" );
Sleep( 100 );
add_log( "CShell Entry Point : 0x%X", dwCShellEntryPoint );
add_log( "CShell .code Size : 0x%X", dwCShellCodeSize );
add_log( "CShell .code Offset : 0x%X\n", dwCShellCodeOffset );
dwCShellEntryPoint += dwCShellCodeOffset;
dwClientFXEntryPoint = (DWORD)GetModuleHandle( "Clientfx.fxd" );
dwClientFXCodeSize = GetSizeofCode( "Clientfx.fxd" );
dwClientFXCodeOffset = OffsetToCode( "Clientfx.fxd" );
Sleep( 100 );
add_log( "ClientFX Entry Point : 0x%X", dwClientFXEntryPoint );
add_log( "ClientFX .code Size : 0x%X", dwClientFXCodeSize );
add_log( "ClientFX .code Offset : 0x%X\n\n", dwClientFXCodeOffset );
//dwClientFXEntryPoint += dwClientFXCodeSize;
add_log( "srDIEGO BR Logger V6 Iniciando...\n" );
#pragma endregion
#pragma region Varibles
DWORD dwMTBWC = NULL, dwLTClient = NULL, dwLocalPtr = NULL, dwBuildFont = NULL,
dwFillFont = NULL, dwFontECX = NULL, dwGetFontHand = NULL, dwGetConsoleInt = NULL, dwGCS = NULL,
dwLTCommon = NULL, dwSuperBullets = NULL, dwGLASSWALL = NULL,
dwRemoteKill1 = NULL, dwRemoteKill2 = NULL, dwWeaponRange1 = NULL,
dwWeaponRange2 = NULL, dwITLTCSBase = NULL, dwForceFPS = NULL, dwForceFPSOffset = NULL, dwRapidFire1 = NULL,
dwRapidFire2 = NULL, dwRapidFire3 = NULL, dwRapidFire4 = NULL, dwRapidFire5 = NULL, dwD3DDevice = NULL,
dwWorldToScreen = NULL, dwDrawPrim = NULL, dwIntersect = NULL, dwCursorCenter = NULL, dwConsoleUnWrapped = NULL,
dwClientFx = NULL, dwPlayerNextOffset = NULL, dwJump = NULL,
dwTracers = NULL, dwFPS = NULL, dwGravity = NULL, dwPlayerState = NULL,
dwActivationDistance = NULL, dwPlayerMgr = NULL, dwClientInfoMgr = NULL,
dwCameraUpdate = NULL, dwPlayerByIndex = NULL, dwPlayerManager =
NULL, dwGameStatus = NULL, dwBaseMoveAccel = NULL, dwStartAccel = NULL,
dwMaxAccel = NULL, dwAccelInc = NULL,
dwWalkVel = NULL,
dwFRunVel = NULL, dwBRunVel = NULL, dwSRunVel = NULL, dwDuckVel = NULL,
dwLTClientexe = NULL, dwEspName1 = NULL, dwEspName2 = NULL,
dwNoRecoil = NULL, dwNoReload = NULL;
#pragma endregion
#pragma region CShell
dwMTBWC = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_MTBWC, MASK_MTBWC );
if( dwMTBWC != NULL )
add_log( "#define Mtbwcret\t\t0x%X", dwMTBWC + 0x1E );
else
add_log( "Failed to update Mtbwcret" );
dwLTClient = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_LTCLIENT, MASK_LTCLIENT );
if( dwLTClient != NULL )
add_log( "#define LTClientDLL\t\t0x%X", (DWORD)*(DWORD*)( dwLTClient + 0x2 ) );
else
add_log( "Failed to update LTClientDLL" );
dwEspName1 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_ESPNOMES1, MASK_ESPNOMES1 );
if( dwEspName1 != NULL )
add_log( "#define EspName1\t\t0x%X", dwEspName1 );
else
add_log( "Failed to update EspName1" );
dwEspName2 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_ESPNOMES2, MASK_ESPNOMES2 );
if( dwEspName2 != NULL )
add_log( "#define EspName2\t\t0x%X", dwEspName2 );
else
add_log( "Failed to update EspName2" );
dwNoRecoil = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_NORECOIL, MASK_NORECOIL );
if( dwNoRecoil != NULL )
add_log( "#define NoRecoil\t\t0x%X", dwNoRecoil );
else
add_log( "Failed to update NoRecoil" );
dwNoReload = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_NORELOAD, MASK_NORELOAD );
if( dwNoReload != NULL )
add_log( "#define NoReload\t\t0x%X", dwNoReload );
else
add_log( "Failed to update NoReload" );
dwLocalPtr = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_LOCALPTR, MASK_LOCALPTR );
if( dwLocalPtr != NULL )
add_log( "#define LocalPtr\t\t0x%X", (DWORD)*(DWORD*)( dwLocalPtr + 0x2 ) );
else
add_log( "Failed to update LocalPtr" );
dwBuildFont = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_BUILDFONT, MASK_BUILDFONT );
if( dwBuildFont != NULL )
add_log( "#define BuildFont\t\t0x%X", dwBuildFont );
else
add_log( "Failed to update BuildFont" );
dwFillFont = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_FILLFONT, MASK_FILLFONT );
if( dwFillFont != NULL )
add_log( "#define FillFont\t\t0x%X", dwFillFont + 0x11 );
else
add_log( "Failed to update FillFont" );
dwCameraUpdate = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_CAMERAUPDATE, MASK_CAMERAUPDATE );
if( dwCameraUpdate != NULL )
add_log( "#define CameraUpdate\t\t0x%X", dwCameraUpdate + 0x2 );
else
add_log( "Failed to update CameraUpdate" );
dwGameStatus = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_GAMESTATUS , MASK_GAMESTATUS );
if( dwGameStatus != NULL )
add_log( "#define GameStatus\t\t0x%X", dwGameStatus + 0xE4 );
else
add_log( "Failed to update GameStatus" );
dwPlayerByIndex = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_PLAYERBYINDEX, MASK_PLAYERBYINDEX );
if( dwPlayerByIndex != NULL )
add_log( "#define PlayerByIndex\t\t0x%X", dwPlayerByIndex + 0x2 );
else
add_log( "Failed to update PlayerByIndex" );
dwFontECX = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_FONTECX, MASK_FONTECX );
if( dwFontECX != NULL )
add_log( "#define FontECX\t\t0x%X", (DWORD)*(DWORD*)( dwFontECX + 0x1 ) );
else
add_log( "Failed to update FontECX" );
dwGetFontHand = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_GETFONTHAND, MASK_GETFONTHAND );
if( dwGetFontHand != NULL )
add_log( "#define GetFontHand\t0x%X", dwGetFontHand );
else
add_log( "Failed to update GetFontHand" );
dwGetConsoleInt = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_GETCONSOLEINT, MASK_GETCONSOLEINT );
if( dwGetConsoleInt != NULL )
add_log( "#define GetConsoleInt\t0x%X", dwGetConsoleInt );
else
add_log( "Failed to update GetConsoleInt" );
dwGCS = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_GCS, MASK_GCS );
if( dwGCS != NULL )
add_log( "#define GCS\t\t0x%X", (DWORD)*(DWORD*)( dwGCS + 0x2 ) );
else
add_log( "Failed to update GCS" );
dwLTCommon = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_LTCOMMON, MASK_LTCOMMON );
if( dwLTCommon != NULL )
add_log( "#define LTCommon\t\t0x%X", (DWORD)*(DWORD*)( dwLTCommon + 0x2 ) );
else
add_log( "Failed to update LTCommon" );
dwPlayerMgr = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_PLAYERMGR, MASK_PLAYERMGR );
if( dwPlayerMgr != NULL )
add_log( "#define PlayerMgr\t\t0x%X", (DWORD)*(DWORD*)( dwPlayerMgr + 0x2 ) );
else
add_log( "Failed to update PlayerMgr" );
dwClientInfoMgr = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_CLIENTEINFOMGR, MASK_CLIENTEINFOMGR );
if( dwClientInfoMgr != NULL )
add_log( "#define ClientInfoMgr\t\t0x%X", (DWORD)*(DWORD*)( dwClientInfoMgr + 0x2 ) );
else
add_log( "Failed to update ClientInfoMgr" );
dwJump = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_JUMP, MASK_JUMP );
if( dwJump != NULL )
add_log( "#define Jump\t\t0x%X", (DWORD)*(DWORD*)( dwJump + 0x2 ) );
else
add_log( "Failed to update Jump" );
dwTracers = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_TRACERS, MASK_TRACERS );
if( dwTracers != NULL )
add_log( "#define Tracers\t\t0x%X", (DWORD)*(DWORD*)( dwTracers + 0x2 ) );
else
add_log( "Failed to update Tracers" );
dwFPS = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_FPS, MASK_FPS );
if( dwFPS != NULL )
add_log( "#define FPS\t\t0x%X", (DWORD)*(DWORD*)( dwFPS + 0x2 ) );
else
add_log( "Failed to update FPS" );
dwGravity = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_GRAVITY , MASK_GRAVITY );
if( dwGravity != NULL )
add_log( "#define Gratity\t\t0x%X", (DWORD)*(DWORD*)( dwGravity + 0x2 ) );
else
add_log( "Failed to update Gravity" );
dwActivationDistance = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_DISTANCE , MASK_DISTANCE );
if( dwActivationDistance != NULL )
add_log( "#define ActivationDistance\t\t0x%X", (DWORD)*(DWORD*)( dwActivationDistance + 0x2 ) );
else
add_log( "Failed to update ActivationDistance" );
dwBaseMoveAccel = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_BASEMOVEACCEL , MASK_BASEMOVEACCEL );
if( dwBaseMoveAccel != NULL )
add_log( "#define BaseMoveAccel\t\t0x%X", (DWORD)*(DWORD*)( dwBaseMoveAccel + 0x2 ) );
else
add_log( "Failed to update BaseMoveAccel" );
dwStartAccel = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_STARTACCEL , MASK_STARTACCEL );
if( dwStartAccel != NULL )
add_log( "#define StartAccel\t\t0x%X", (DWORD)*(DWORD*)( dwStartAccel + 0x2 ) );
else
add_log( "Failed to update StartAccel" );
dwMaxAccel = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_MAXACCEL , MASK_MAXACCEL );
if( dwMaxAccel != NULL )
add_log( "#define MaxAccel\t\t0x%X", (DWORD)*(DWORD*)( dwMaxAccel + 0x2 ) );
else
add_log( "Failed to update MaxAccel" );
dwAccelInc = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_ACCELINC , MASK_ACCELINC );
if( dwAccelInc != NULL )
add_log( "#define AccelInc\t\t0x%X", (DWORD)*(DWORD*)( dwAccelInc + 0x2 ) );
else
add_log( "Failed to update AccelInc" );
dwWalkVel = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_WALKVVEL , MASK_WALKVVEL );
if( dwWalkVel != NULL )
add_log( "#define WalkVel\t\t0x%X", (DWORD)*(DWORD*)( dwWalkVel + 0x2 ) );
else
add_log( "Failed to update WalkVel" );
dwFRunVel = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_FRUNVEL , MASK_FRUNVEL );
if( dwFRunVel != NULL )
add_log( "#define FRunVel\t\t0x%X", (DWORD)*(DWORD*)( dwFRunVel + 0x2 ) );
else
add_log( "Failed to update FRunVel" );
dwBRunVel = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_BRUNVEL , MASK_BRUNVEL );
if( dwBRunVel != NULL )
add_log( "#define BRunVel\t\t0x%X", (DWORD)*(DWORD*)( dwBRunVel + 0x2 ) );
else
add_log( "Failed to update BRunVel" );
dwSRunVel = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_SRUNVEL , MASK_SRUNVEL );
if( dwSRunVel != NULL )
add_log( "#define SRunVel\t\t0x%X", (DWORD)*(DWORD*)( dwSRunVel + 0x2 ) );
else
add_log( "Failed to update SRunVel" );
dwDuckVel = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_DUCKVEL , MASK_DUCKVEL );
if( dwDuckVel != NULL )
add_log( "#define DuckVel\t\t0x%X", (DWORD)*(DWORD*)( dwDuckVel + 0x2 ) );
else
add_log( "Failed to update DuckVel" );
dwSuperBullets = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_SUPERBULLETS, MASK_SUPERBULLETS );
if( dwSuperBullets != NULL )
{
dwSuperBullets += 0x13;
add_log( "#define SuperBullets\t\t0x%X", dwSuperBullets );
}
else
add_log( "Failed to update SuperBullets" );
dwPlayerManager = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_PLAYERMANAGER, MASK_PLAYERMANAGER );
if( dwPlayerManager != NULL )
{
dwPlayerManager += 0x2;
add_log( "#define PlayerManager\t\t0x%X", dwPlayerManager );
}
else
add_log( "Failed to update PlayerManager" );
dwPlayerState = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_PLAYERSTATUS, MASK_PLAYERSTATUS );
if( dwPlayerState != NULL )
{
dwPlayerState += 0xB8;
add_log( "#define PlayerState\t\t0x%X", dwPlayerState );
}
else
add_log( "Failed to update PlayerState" );
dwRemoteKill1 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_REMOTEKILL1, MASK_REMOTEKILL1 );
if( dwRemoteKill1 != NULL )
{
dwRemoteKill1 += 0x29;
add_log( "#define RemoteKill1\t0x%X", dwRemoteKill1 );
add_log( "#define RemoteKill2\t0x%X", dwRemoteKill1 + 0x1 );
dwRemoteKill2 = FindPattern( dwRemoteKill1, dwCShellCodeSize, (BYTE*)PATT_REMOTEKILL1, MASK_REMOTEKILL1 );
if( dwRemoteKill2 != NULL )
{
dwRemoteKill2 += 0x29;
add_log( "#define RemoteKill3\t0x%X", dwRemoteKill2 );
add_log( "#define RemoteKill4\t0x%X", dwRemoteKill2 + 0x1 );
}
else
{
add_log( "Failed to update RemoteKill3" );
add_log( "Failed to update RemoteKill4" );
}
}
else
{
add_log( "Failed to update RemoteKill1" );
add_log( "Failed to update RemoteKill2" );
add_log( "Failed to update RemoteKill3" );
add_log( "Failed to update RemoteKill4" );
}
dwWeaponRange1 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_WEAPONRANGE, MASK_WEAPONRANGE );
if( dwWeaponRange1 != NULL )
{
add_log( "#define WeaponRanger1\t0x%X", dwWeaponRange1 );
dwWeaponRange2 = FindPattern( dwWeaponRange1 + 0x64, dwCShellCodeSize, (BYTE*)PATT_WEAPONRANGE, MASK_WEAPONRANGE );
if( dwWeaponRange2 != NULL )
add_log( "#define WeaponRanger2\t0x%X", dwWeaponRange2 );
else
add_log( "Failed to update WeaponRanger2" );
}
else
{
add_log( "Failed to update WeaponRanger1" );
add_log( "Failed to update WeaponRanger2" );
}
dwRapidFire1 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_RAPIDFIRE1, MASK_RAPIDFIRE1 );
if( dwRapidFire1 != NULL )
add_log( "#define RapidFire1\t\t0x%X", dwRapidFire1 );
else
add_log( "Failed to update RapidFire1" );
dwRapidFire2 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_RAPIDFIRE2, MASK_RAPIDFIRE2 );
if( dwRapidFire2 != NULL )
add_log( "#define RapidFire2\t\t0x%X", dwRapidFire2 );
else
add_log( "Failed to update RapidFire1" );
dwRapidFire3 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_RAPIDFIRE3, MASK_RAPIDFIRE3 );
if( dwRapidFire3 != NULL )
add_log( "#define RapidFire3\t\t0x%X", dwRapidFire3 );
else
add_log( "Failed to update RapidFire1" );
dwRapidFire4 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_RAPIDFIRE4, MASK_RAPIDFIRE4 );
if( dwRapidFire4 != NULL )
add_log( "#define RapidFire4\t\t0x%X", dwRapidFire4 );
else
add_log( "Failed to update RapidFire1" );
dwRapidFire5 = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_RAPIDFIRE5, MASK_RAPIDFIRE5 );
if( dwRapidFire5 != NULL )
add_log( "#define RapidFire5\t\t0x%X", dwRapidFire5 );
else
add_log( "Failed to update RapidFire1" );
dwForceFPS = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_FORCEFPS, MASK_FORCEFPS );
if( dwForceFPS != NULL )
add_log( "#define ForceFPS\t\t0x%X", (DWORD)*(DWORD*)( dwForceFPS + 0x58 ) );
else
add_log( "Failed to update ForceFPS" );
dwITLTCSBase = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_ITLTCSBASE, MASK_ITLTCSBASE );
if( dwITLTCSBase != NULL )
add_log( "#define LTCSBase\t\t0x%X", (DWORD)*(DWORD*)( dwITLTCSBase + 0x1 ) );
else
add_log( "Failed to update LTCSBase" );
dwForceFPSOffset = FindPattern( dwCShellEntryPoint, dwCShellCodeSize, (BYTE*)PATT_FPSOFFSET, MASK_FPSOFFSET );
if( dwForceFPSOffset != NULL )
{
dwForceFPSOffset = *(DWORD*)( dwForceFPSOffset + 0x25 );
add_log( "\n#define OFF_FPS\t\t\t0x%X\n", dwForceFPSOffset );
}
else
add_log( "\nFailed to update OFF_FPS" );
#pragma endregion
#pragma region Engine
dwWorldToScreen = FindPattern( dwEngineEntryPoint, dwEngineCodeSize, (BYTE*)PATT_WORLDTOSCREEN, MASK_WORLDTOSCREEN );
if( dwWorldToScreen != NULL )
add_log( "#define W2S\t\t0x%X", dwWorldToScreen - 0x9 );
else
add_log( "Failed to update W2S" );
dwIntersect = FindPattern( dwEngineEntryPoint, dwEngineCodeSize, (BYTE*)PATT_INTERSECT, MASK_INTERSECT );
if( dwIntersect != NULL )
add_log( "#define Intersect\t\t0x%X", dwIntersect );
else
add_log( "Failed to update Intersect" );
dwD3DDevice = FindPattern( dwEngineEntryPoint, dwEngineCodeSize, (BYTE*)PATT_D3DDEVICE, MASK_D3DDEVICE );
if( dwD3DDevice != NULL )
add_log( "#define D3D\t\t0x%X", (DWORD)*(DWORD*)( dwD3DDevice + 0x2 ) );
else
add_log( "Failed to D3D" );
dwDrawPrim = FindPattern( dwEngineEntryPoint, dwEngineCodeSize, (BYTE*)PATT_DRAWPRIM, MASK_DRAWPRIM );
if( dwDrawPrim != NULL )
add_log( "#define Drawprimitive\t\t0x%X", (DWORD)*(DWORD*)( dwDrawPrim + 0x99 ) );
else
add_log( "Failed to update Drawprimitive" );
dwCursorCenter = FindPattern( dwEngineEntryPoint, dwEngineCodeSize, (BYTE*)PATT_CURSORCENTER, MASK_CURSORCENTER );
if( dwCursorCenter != NULL )
add_log( "#define CursorCenter\t0x%X", (DWORD)*(DWORD*)( dwCursorCenter + 0x2 ));
else
add_log( "Failed to update CursorCenter" );
dwConsoleUnWrapped = FindPattern( dwEngineEntryPoint,
dwEngineCodeSize, (BYTE*)PATT_CONSOLEUNWRAPPED, MASK_CONSOLEUNWRAPPED );
if( dwConsoleUnWrapped != NULL )
add_log( "#define ConsoleUnWrapped\t0x%X", dwConsoleUnWrapped + 0x47 );
else
add_log( "Failed to update ConsoleUnWrapped" );
#pragma endregion
#pragma region ClientFX
dwClientFx = FindPattern( dwClientFXEntryPoint, dwClientFXCodeSize, (BYTE*)PATT_CLIENTFX, MASK_CLIENTFX );
dwClientFx += 0x35;
DWORD dwReadClientAddie = *(DWORD*)dwClientFx;
dwReadClientAddie -= dwClientFXEntryPoint;
if( dwClientFx != NULL )
add_log( "\n#define ClientFx\t\t0x%X\n", dwReadClientAddie );
else
add_log( "Failed to update ClientFx" );
#pragma endregion
add_log( "\n\nLogging Complete..." );
MessageBox( NULL, "Logging Complete by: srDIEGO", "Success!, Maybe?", NULL );
exit( EXIT_SUCCESS );
return NULL;
}
BOOL WINAPI DllMain( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
UNREFERENCED_PARAMETER( hDll );
UNREFERENCED_PARAMETER( lpReserved );
if( dwReason == DLL_PROCESS_ATTACH )
CreateThread( NULL, NULL, dwMain, NULL, NULL, NULL );
return TRUE;
}
Creditos
Noob
Gellin
We11ingtow
Ussr´s
srDIEGO
experthack
luizimloko
ch40z-C0d3r
mattyp atty
TokolocoSK
Scan
- Anexos
- Combat arms Logger Endereços.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (13 Kb) Baixado 9 vez(es)