Sudden Attack Cheats



 
InícioInício  VotaçãoVotação  CalendárioCalendário  GaleriaGaleria  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Conectar-seConectar-se  
MANUTENÇÃO PARA MELHORIAS DO FORUM!
Buscar
 
 

Resultados por:
 
Rechercher Busca avançada
Palavras chave
Últimos assuntos
Agosto 2018
SegTerQuaQuiSexSabDom
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendárioCalendário
Parceiros
Fórum grátis


Compartilhe | 
 

 [Tutorial + Source] Criando Um Menu VIP e Background Modificada

Ir em baixo 
AutorMensagem
Gustavo_Dias
Administradores
avatar

Mensagens : 21
Data de inscrição : 17/08/2013

MensagemAssunto: [Tutorial + Source] Criando Um Menu VIP e Background Modificada   Qua Ago 21, 2013 5:08 pm

Olá Galerinha Da SACHEATS-VIP , Hoje Vim Trazer Uma Video-Aula De Como São Criado Os Menus VIP
Dos Forum De Hacks Por Ai, Este Tutorial Eu Já Tinha Postado Antes Mais Por Causa De Resetações No Forum Tinha Cido Removido Então Coloquei De Novo.
o Tutorial Inclue Video-Aula + SourceCode Completa Do MENU D3D
Vale Relembra Que Para Compilar é Presizo Da "LIB" e "INCLUDE" e "DETOURS"
Já Pré Instalada Em Seu Visual Studio Ok! Vamos Ao Que Interesa.

Video-Aula:


Créditos Do Autor:kohkae kung

Source 1:

// main.h

#include <windows.h>
#include <d3d9.h>
#include <d3dx9.h>
#pragma comment (lib, "d3dx9.lib")
#include <detours.h>
#pragma comment (lib, "detours.lib")
#include <iostream>
#include <fstream>
#include "MenuSprite.h"
using namespace std;

struct Menu_t
{
char* type;
int value;
bool Number;
int maxchoice;
};

Menu_t MyMenu[7] = {
{"Wallhack", 1, false, 2},
{"Color1", 4, true, 11},
{"Color2", 2, true, 11},
{"Crosshair", 1, true, 4000},
{"Speedhack", 0, false, 2},
{"Base Walk[F11]", 0, false, 2},
{"Walk Through[Home]", 0, false, 2},
};

LPD3DXFONT menuFont = NULL;
LPDIRECT3DTEXTURE9 txBody = NULL;
LPD3DXSPRITE spBody = NULL;
D3DXVECTOR3 pBody;
int menuIndex = 0;
bool ShowMenu = true;
DWORD StartMenuTextX = 50;
DWORD StartMenuTextY = 200;
DWORD StartMenuValueX = 210;
DWORD MenuRank = 20;
int MaxChoice = 7;


HRESULT(__stdcall*pEndScene)(LPDIRECT3DDEVICE9) = NULL;
HRESULT(__stdcall*pReset)(LPDIRECT3DDEVICE9,D3DPRESENT_PARAMETERS *) = NULL;

Source 2:

http://main.cpp
#include "main.h"
void DrawString(LPD3DXFONT fromFont, int x, int y, DWORD color, const char *fmt, ...)
{
RECT FontPos = { x, y, x + 120, y + 16 };
char buf[1024] = {'\0'};
va_list va_alist;

va_start(va_alist, fmt);
vsprintf(buf, fmt, va_alist);
va_end(va_alist);

fromFont->DrawText(NULL,buf, -1, &FontPos, DT_NOCLIP, color);
}
BOOL bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x' && *pData!=*bMask) return 0;
return (*szMask) == NULL;
}

DWORD FindPattern(DWORD dwdwAdd,DWORD dwLen,BYTE *bMask,char * szMask)
{
for(DWORD i=0; i<dwLen; i++)
if (bCompare((BYTE*)(dwdwAdd+i),bMask,szMask)) return (DWORD)(dwdwAdd+i);
return 0;
}
HRESULT __stdcall myReset(LPDIRECT3DDEVICE9 pDevice,D3DPRESENT_PARAMETERS *pPresentationParameters)
{
__asm nop;
HRESULT resultReset = pReset(pDevice,pPresentationParameters);
if(SUCCEEDED(resultReset))
{
if(menuFont) menuFont->OnResetDevice();
if(spBody) spBody->OnResetDevice();
}
return resultReset;
}
HRESULT __stdcall myEndScene(LPDIRECT3DDEVICE9 pDevice)
{
__asm nop;
if(GetAsyncKeyState(VK_END)&1) ShowMenu = !ShowMenu;
if(ShowMenu)
{
if(GetAsyncKeyState(VK_LEFT)&1) MyMenu[menuIndex].value-=1;
if(GetAsyncKeyState(VK_RIGHT)&1) MyMenu[menuIndex].value+=1;
if(GetAsyncKeyState(VK_DOWN)&1) menuIndex+=1;
if(GetAsyncKeyState(VK_UP)&1) menuIndex-=1;
if(menuIndex < 0) menuIndex = 0;
if(menuIndex > (MaxChoice-1)) menuIndex = (MaxChoice-1);

if(MyMenu[menuIndex].value < 0) MyMenu[menuIndex].value = 0;
if(MyMenu[menuIndex].value > (MyMenu[menuIndex].maxchoice -1)) MyMenu[menuIndex].value = (MyMenu[menuIndex].maxchoice -1);
}
if(menuFont == NULL) D3DXCreateFontA(pDevice, 15, 0, FW_BOLD, 1, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Tahoma", &menuFont);
if(txBody == NULL)
D3DXCreateTextureFromFileInMemory(pDevice, &_MenuSprite, sizeof(_MenuSprite), &txBody);
if(spBody == NULL)
D3DXCreateSprite(pDevice, &spBody);

if(ShowMenu == true && menuFont != NULL)
{
pBody.x=0.0f; pBody.y= 0.0f;
pBody.z=0.0f;
spBody->Begin(D3DXSPRITE_ALPHABLEND);
spBody->Draw(txBody,NULL,NULL,&D3DXVECTOR3(10.0f,10.0f, 0.0f), 0xFFFFFFFF);
spBody->End();
for(int i = 0; i < MaxChoice; i++)
{
if(i == menuIndex)
{
DrawString(menuFont,StartMenuTextX, StartMenuTextY+(i*MenuRank),0xFF00FF00, "%s",MyMenu[i].type);
if(MyMenu[i].value == 0 && MyMenu[i].Number == false)
{
DrawString(menuFont,StartMenuValueX, StartMenuTextY+(i*MenuRank),0xFF00FF00, "Off");
}
else if(MyMenu[i].value == 1 && MyMenu[i].Number == false)
{
DrawString(menuFont,StartMenuValueX, StartMenuTextY+(i*MenuRank),0xFF00FF00, "On");
}
else
{
DrawString(menuFont,StartMenuValueX, StartMenuTextY+(i*MenuRank),0xFF00FF00, "%i",MyMenu[i].value);
}
}
else
{
DrawString(menuFont,StartMenuTextX, StartMenuTextY+(i*MenuRank),0xFF0000FF, "%s",MyMenu[i].type);
if(MyMenu[i].value == 0 && MyMenu[i].Number == false)
{
DrawString(menuFont,StartMenuValueX, StartMenuTextY+(i*MenuRank),0xFF0000FF, "Off");
}
else if(MyMenu[i].value == 1 && MyMenu[i].Number == false)
{
DrawString(menuFont,StartMenuValueX, StartMenuTextY+(i*MenuRank),0xFF0000FF, "On");
}
else
{
DrawString(menuFont,StartMenuValueX, StartMenuTextY+(i*MenuRank),0xFF0000FF, "%i",MyMenu[i].value);
}
}
}
DrawString(menuFont,90, 180,0xFF0000FF, "DEMO D3DMENU");
DrawString(menuFont,85, 480,0xFF0000FF, "[End] Show/Hide");

}
return pEndScene(pDevice);
}
VOID Dx9Hook()
{
DWORD hD3D = NULL;
DWORD * VTable;
while (!hD3D) hD3D = (DWORD)GetModuleHandle("d3d9.dll");
DWORD PPPDevice = FindPattern(hD3D, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
memcpy( &VTable, (VOID *)(PPPDevice + 2), 4);
pEndScene = (HRESULT(__stdcall*)(LPDIRECT3DDEVICE9))VTable[42];
pReset = (HRESULT(__stdcall*)(LPDIRECT3DDEVICE9,D3DPRESENT_PARAMETERS *))VTable[16];
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread());
DetourAttach(&(PVOID&)pEndScene, myEndScene);
DetourAttach(&(PVOID&)pReset, myReset);
DetourTransactionCommit();

}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
if( fdwReason == 1 )
{
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Dx9Hook, NULL, NULL, NULL);
return TRUE;
}
return FALSE;
}

Source 3 Transforma a Imagem Em Array Of Byte:

#pragma once


#define WIN32_LEAN_AND_MEAN

#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>

FILE* myOpenFile(char* FilePath)
{
FILE* DLL = fopen(FilePath, "rb");
return DLL;
}
long FindSize(FILE* File)
{
long size;
fseek(File, 0, SEEK_END);
size = ftell(File);
fseek(File, 0, SEEK_SET);
return size;
}

void* AllocateMemory(long size)
{
void* allocation = malloc(size);
return allocation;
}

void CopyFileContents(void* DestinationBuffer, size_t Count, FILE* File)
{
fread(DestinationBuffer, 1, Count, File);
}

void Dump(char* FullPath, char* FullDumpPath)
{
int i;

FILE* file = myOpenFile(FullPath);
long size = FindSize(file);
BYTE* contents = (BYTE*)AllocateMemory(size);
CopyFileContents(contents, size, file); //DLLcontents now holds all the DLL
fclose(file);



//make c code file of DLLcontents
file = fopen(FullDumpPath, "w");
fprintf(file, "const BYTE _MenuSprite[%li] = { ", size);
for (i=0;i<=size-2;i++)//-2 because 1.the last byte in the buffer is a null - not wanted 2. we dont want a spare comma at the end
{
//let's break after every 50 bytes
if( i % 50 != 0)
{
fprintf(file, "0x%X, ", *(contents + i));
}
else
{
fprintf(file, "0x%X, \n", *(contents + i));
}
}
fprintf(file, "0x%X };", *(contents + i));
fclose(file);
//you now have the whole file in a byte buffer
return;
}
int main()

{
Dump("c:\\onep.png","c:\\dump.txt");
return 0;
}
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://sacheats-vip.directorioforuns.com
 
[Tutorial + Source] Criando Um Menu VIP e Background Modificada
Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Tutorial de moldagem em borracha de silicone
» [Venda] Cenário 12 casas para Cloth Myth - Liquidação 85,00 - Áries, Touro, Virgem e Escorpião Pronta Entrega
» Tutorial de edição de mangás! ~ Parte 01
» Os 100 sobrenomes japoneses mais populares
» PAP Criação de uma coluna Grega

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Sudden Attack Cheats :: Aréa Programação-
Ir para: