Underc0de

[In]Seguridad Informática => Ingeniería Inversa => Mensaje iniciado por: Juan en Julio 08, 2013, 09:15:18 AM

Título: Imprimir texto por consola Halo Custom Edition
Publicado por: Juan en Julio 08, 2013, 09:15:18 AM
Basicamente es lo mismo que esto:

https://www.assembla.com/spaces/Chroalus/wiki/Halo_Engine_DrawText

Pero para otra versión del juego y es una funcion mas avanzada ya que esta tambien deja imprimir números.

Código de una DLL de ejemplo utilizando la función que he encontrado:

// Ing. Inversa por Juan fary (mDrinky)
// Funciones que imprimen cadenas de texto y numero por consola
// Halo Custom Edition.
// VSC++ 2008

#include <windows.h>

int * cBlanco = (int*)0x005F3668;
int * cVerde  = (int*)0x005F3748;
int * cRojo   = (int*)0x005F5050;
int * cRosa   = (int*)0x005F1010;
int * cGris   = (int*)0x00000000;

DWORD Imprimir = 0x499BD0;

char * tString = "%s";
char * tInt    = "%i";

char * Cadena = "hola Mundo!";

void ImprimirCadena(char * Cadena,int * Color)
{
_asm
{
push Cadena
push tString
mov eax,Color
call dword ptr [Imprimir]
add esp,0x8
}
}

void ImprimirNumero(int * Numero,int * Color)
{
_asm
{
push Numero
push tInt
mov eax,Color
call dword ptr [Imprimir]
add esp,0x8
}
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH)
{
ImprimirCadena(Cadena,cBlanco);
ImprimirCadena(Cadena,cVerde);
ImprimirCadena(Cadena,cRosa);
ImprimirCadena(Cadena,cRojo);

ImprimirNumero((int*)69,cGris);
}

return TRUE;
}


(http://sia1.subirimagenes.net/img/2013/07/08/130708021710175435.jpg)
Título: Re:Imprimir texto por consola Halo Custom Edition
Publicado por: fermino en Noviembre 02, 2013, 06:12:21 PM
Lindo! Realmente lindo!...
Felicitaciones!