Meu Primeiro Trabalho Pela NPTeam ,
Antes De Mais Nada Quero Agradecer ao Cristian, Pois Ele Quem Me Ensinou !
Então Estou Afim de Dividir Meus Conhecimentos em C++, Que Por Sinal Ainda Sao Ridiculos Com Voces xD ..
Sem Mais Delongas ..
Tutorial :
Primeiramente voces Terão que Criar Dois Tipos de Arquivo :
--> Console.h
--> Console.cpp
Definição de Arquivos .h e .cpp By Mr.Marin :
Arquivos .cpp vem de C Plus Plus... C++... É literalmente um arquivo de código
Arquivo .h vem de Header, significa cabeçalho...é onde você coloca o cabeçalho de uma função
Em Minhas Palavras Seria Mais Ou Menos Assim :
os Arquivos .h são as definições das funções que estarão nos Arquivos .cpp
Criados os 2 Arquivos Vamos Colocar as Definições e as Funções !
Console.h : -> Aqui Estaremos Definindo as Cores Para o Console
Código:
void StdOut(unsigned short color, char* Format, ...);
#define BLACK 0
#define BLUE 1
#define GREEN 2
#define CYAN 3
#define RED 4
#define MAGENTA 5
#define BROWN 6
#define LIGHTGREY 7
#define DARKGREY 8
#define LIGHTBLUE 9
#define LIGHTGREEN 10
#define LIGHTCYAN 11
#define LIGHTRED 12
#define LIGHTMAGENTA 13
#define YELLOW 14
#define WHITE 15
Console.cpp : -> Aqui Estaremos Colocando a Função Para o Console Funcionar
Código:
#include "Console.h"
//-----------------------------------------------------------------------------
//Sistema do Console
//-----------------------------------------------------------------------------
void StdOut(unsigned short color, char* Format, ...)
{
char Message[1024];
DWORD dwBytesWritten;
HANDLE Handle = GetStdHandle(STD_OUTPUT_HANDLE);
va_list pArguments;
va_start(pArguments, Format);
vsprintf(Message, Format, pArguments);
va_end(pArguments);
WriteFile(Handle, Message, strlen(Message), &dwBytesWritten, NULL);
SetConsoleTextAttribute(Handle,color);
}
Mais Para Que o Console Aparece Quando Ligar o GS Precisamos Implementar uma Função no Arquivo.cpp Que Dara o Inico da DLL ..
Usando os Codigos do Tutorial da Chris05, Ficara Mais Ou Menos Assim :
Código:
#include "Console.h"
extern "C" _declspec(dllexport) void Inicio()
{
DWORD OldProtect;
if(VirtualProtect(LPVOID(0x401000),3543191,PAGE_EXECUTE_READWRITE,&OldProtect))
{
Fixs();
IniciaIni();
AllocConsole(); // Incermentando o Console
_asm
{
Mov Dword Ptr Ds:[00600060H],Offset ProtocolServer
Mov Dword Ptr Ds:[00600064H],Offset ProtocolClient
}
SetConsoleTitle("[ New Programmers Team ] TwoHam Project :D");
StdOut(LIGHTBLUE,"");
StdOut(LIGHTBLUE,"######################################################################");
StdOut(LIGHTBLUE,"## ==== Arquivos : Console ##\n");
StdOut(LIGHTBLUE,"## ==== Autor : Mr.TwoHam ##\n");
StdOut(LIGHTBLUE,"## ==== Team : New Programmers Team ##\n");
StdOut(LIGHTBLUE,"## ==== Licença : FREE :D ##\n");
StdOut(LIGHTBLUE,"## ==== Versão : 1.0.0.3 ##\n");
StdOut(LIGHTBLUE,"######################################################################\n");
StdOut(LIGHTBLUE,"\n\n\n\n\n\n\n");
HookThis((DWORD)&ProtocolCore, 0x00403314);
LoadIni();
}
{
MessageBoxA(NULL,"Nao Foi Possivel Localizar a DLL","NPTeam.dll",MB_OK);
}
}
Qualquer Duvida, Posta Aee Que Eu Respondo...
ATTE.
- Mr.TwoHam