[C++] Como Criar Seu Hack no Crossfire + Criar Injetor - By Insane~*
Autor: Diego Produçoes | Publicado: 2012-08-13T17:21:00-07:00

Peguei esse tutorial na WC , caso não der certo não será a minha responsabilidade.
Mais tem relatos de 2 pessoas que conseguiram!!!!
&nbsp;PARA CRIAR HACK PRECISA DE:
1 - Microsoft Visual C++ Express Download aqui! 
2-Códigos
Vamos oque interresa 
1 - Instale o Aplicativo.
2 - Abra-o
3 - Clique em "NEW" - "PROJECT"
4 - Clique em Next





Selecione "DLL" e " Empty Project "


Clique Ctrl+Shift+A E selecione " C++ File.cpp "


Copie o Código AbaixoCódigo:
#include &lt;windows.h&gt;
#include &lt;iostream&gt;

using namespace std;

void __cdecl PushToConsole(char* szVal ) {
&nbsp;&nbsp; DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
&nbsp;&nbsp; if( dwCShell != NULL )
&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD *LTClient = ( DWORD* )( (dwCShell + 0x2AAE80) );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x1F8 );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _asm
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {

Vai Ficar Assim
Agora Clique No Botão Indicado
&nbsp;

Agora Nesse



Faça como na imagem abaixo
















Clique OK nessa


Clique nesse botão que salva tudo

Agora Acesse a DLL ( Localização na Imagem )
&nbsp;

Pronto ! Ja criou seu Hack

Conteúdo
codigo:

&nbsp;&nbsp;&nbsp; F2 - White Walls
&nbsp;&nbsp;&nbsp; F3 - White Players
&nbsp;&nbsp;&nbsp; F4 - No Smoke No Flash
&nbsp;&nbsp;&nbsp; F9 - No Sky
OUTROS CODIGOS:

Codigos!
White Players, No Sky, No Smoke, No Flash

Código:

#include &lt;windows.h&gt;
#include &lt;iostream&gt;

using namespace std;

void __cdecl PushToConsole(char* szVal ) {
&nbsp;&nbsp;&nbsp; DWORD dwCShell = (DWORD)GetModuleHandleA("CShell.dll");
&nbsp;&nbsp;&nbsp; if( dwCShell != NULL )
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD *LTClient = ( DWORD* )( (dwCShell +&nbsp; 0x2E7F9C) );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void* CONoff = ( void* )*( DWORD* )( *LTClient + 0x1F8 );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _asm
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {

BOX Sobre o Jogador

Código:

Dim boxdraw As New Drawing.Pen(Color.Green, 2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g.DrawRectangle(boxdraw, 100, 100, 80, 200)

One Hit Kill e No Fall Damage

Código:

0x07F8 =&gt; "AmmoDamage"

Shot Gun Spread

0x0834 =&gt; "ShotsPerAmmo"

No Weapon Weight

0x20D0 =&gt; "MoveSpeedPenalty"
0x20D4 =&gt; "ZoomInMoveSpeedPenalty"
0x20D8 =&gt; "MovePenaltyForDelayFire"

No Granade Damage

Código:

DWORD pWeaponsPtr = *(DWORD*)(hShell + 0x90A4B8);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pWeaponsPtr)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; 512; i++)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD pWeapon = *(DWORD*)(pWeaponsPtr + i * 4);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pWeapon)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *(float*)(pWeapon + 0x754) = 0.0f;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

NO WEAPON WEIGHT

Código:

DWORD pWeaponsPtr = *(DWORD*)(hShell + 0x90A4B8);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pWeaponsPtr)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; 512; i++)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD pWeapon = *(DWORD*)(pWeaponsPtr + i * 4);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pWeapon)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *(float*)(pWeapon + 0x1F88) = 0.0f;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

Instant Respawn

Código:

memcpy((LPVOID)(CShellBase+0x003A30B),(LPBYTE)"x90x90",2);

Codigos BASE para soluçao de ERROS!

Código:

#include&lt;windows.h&gt;

using namespace std;

#define Gernades&nbsp; ((i==6)||(i==7)||(i==8)||(i==64)||(i==100)||(i==12&nbsp; 6)||(i==135)||(i==209)||(i==210)||(i==240)||(i==26&nbsp; 3)||(i==272)||(i==338)||(i==382)||(i==383)||(i==38&nbsp; 4))
DWORD CShellBase = (DWORD)GetModuleHandleA("CShell.dll");



void main() {
Sleep(100);

Botao PARA FECHAR O CF

Código:

if(panic)
{
if( GetAsyncKeyState( VK_CONTROL))
{
if( GetAsyncKeyState( VK_SPACE))
{
ExitGame(0);
}
}
}

Mostrar O FPS durante o Jogo

Código:

/* #include */
#include &lt;time.h&gt;
float fLastTickCount=0.0f;
float fCurrentTickCount;
char CH_FPS [20];

/* MENU[MENUMAXITEMS]; */
int CH_NoFPS=0;

/* void RebuildMenu(void) */
Menu***Item("Framerate:",(char **)CH_FPS,0,0,MENUTEXT);

/* HRESULT WINAPI myPresent */
if(CH_FPS)
{
fCurrentTickCount=clock() * 0.001f;
CH_NoFPS++;
if((fCurrentTickCount - fLastTickCount)&gt;1.0f)
{
fLastTickCount=fCurrentTickCount;
sprintf(CH_FPS, "%d", CH_NoFPS);
CH_NoFPS=0;
}

Criando seu injetor:

Public Class Form1
    Private TargetProcessHandle As Integer
    Private pfnStart***r As Integer
    Private pszLibFileRemote As String
    Private TargetBufferSize As Integer
    Public Const PROCESS_VM_READ = &amp;H10
    Public Const TH32CS_SNAPPROCESS = &amp;H2
    Public Const MEM_COMMIT = 4096
    Public Const PAGE_READWRITE = 4
    Public Const PROCESS_CREATE_THREAD = (&amp;H2)
    Public Const PROCESS_VM_OPERATION = (&amp;H8)
    Public Const PROCESS_VM_WRITE = (&amp;H20)
    Public Declare Function ReadProcessMemory Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpBase***ress As Integer, _
    ByVal lpBuffer As String, _
    ByVal nSize As Integer, _
    ByRef lpNumberOfBytesWritten As Integer) As Integer
    Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _
    ByVal lpLibFileName As String) As Integer
    Public Declare Function VirtualAllocEx Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lp***ress As Integer, _
    ByVal dwSize As Integer, _
    ByVal flAllocationType As Integer, _
    ByVal flProtect As Integer) As Integer
    Public Declare Function WriteProcessMemory Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpBase***ress As Integer, _
    ByVal lpBuffer As String, _
    ByVal nSize As Integer, _
    ByRef lpNumberOfBytesWritten As Integer) As Integer
    Public Declare Function GetProc***ress Lib "kernel32" ( _
    ByVal hModule As Integer, ByVal lpProcName As String) As Integer
    Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" ( _
    ByVal lpModuleName As String) As Integer
    Public Declare Function CreateRemoteThread Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpThreadAttributes As Integer, _
    ByVal dwStackSize As Integer, _
    ByVal lpStart***ress As Integer, _
    ByVal lpParameter As Integer, _
    ByVal dwCreationFlags As Integer, _
    ByRef lpThreadId As Integer) As Integer
    Public Declare Function OpenProcess Lib "kernel32" ( _
    ByVal dwDesiredAccess As Integer, _
    ByVal bInheritHandle As Integer, _
    ByVal dwProcessId As Integer) As Integer
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Integer
    Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _
    ByVal hObject As Integer) As Integer
    ?
    Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.Ex  ecutablePath)
    Private Sub Inject()
    On Error GoTo 1 ' If error occurs, app will close without any error messages
    Timer1.Stop()
    Dim TargetProcess As Process() = Process.GetProcessesByName("Engine")
    TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
    pszLibFileRemote = Application.StartupPath &amp; "" + ExeName + ".dll"
    pfnStart***r = GetProc***ress(GetModuleHandle("Kernel32"), "LoadLibraryA")
    TargetBufferSize = 1 + Len(pszLibFileRemote)
    Dim Rtn As Integer
    Dim LoadLibParamAdr As Integer
    LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
    Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
    CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStart***r, LoadLibParamAdr, 0, 0)
    CloseHandle(TargetProcessHandle)
    1: Me.Close()
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    If IO.File.Exists(Application.StartupPath &amp; "" + ExeName + ".dll") Then
    Dim TargetProcess As Process() = Process.GetProcessesByName("Engine")
    If TargetProcess.Length = 0 Then
    Me.*****.Text = ("Waiting for Engine.exe")
    Else
    me.*****1.text = ("Injecting....")
    Timer1.Stop()
    Call Inject()
    Timer1.Stop()
    End If
    Else
    End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Timer1.Interval = 50
    Timer1.Start()
    End Sub
    End Class&nbsp;&nbsp;