elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Necesito ayuda con un código cpp
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito ayuda con un código cpp  (Leído 2,432 veces)
5g33s14yga

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Necesito ayuda con un código cpp
« en: 9 Marzo 2013, 15:39 pm »

A ver si alguien me puede echar una mano.
Yo suelo usar muchos hacks/bots/trainers/... para casi todos los juegos. Yo no soy muy entendido para usar programas como el Visual Basic y por eso suelo buscar hackers que simplemente tenga que inyectarlos dandole a "ejecutar" o mediante un inyector y un DLL. También suelo usar el Cheat Engine para cosas muy básicas que a veces ni entiendo cómo lo hago.
Ahora bien, yo suelo sacar estos hackers de una web. El creador parece ser que no ha creado el programa en forma de un trainer  sino simplemente ha dado el código cpp que es este :

Código:
#ifndef ENGINE_H
#define ENGINE_H

// Globals
#define CAMERA_MAX_ZOOM 0xB85178
#define CAMERA_CUR_ZOOM 0xB88968

// Classes
#define CLIENT_PTR 0x2EF30D4 // gPTR_Client VMT
#define TARGET_CLASS 0x2EF6C98
#define MATRIX_DATA 0xE3A00C

// Entities
#define OBJECT_ARRAY 0xE3A564
#define OBJECT_LOCAL 0xE39F6C

template<typename Function >
Function CallVirtual(PVOID pBase, DWORD dwIndex)
{
    PDWORD* VTablePointer = (PDWORD*)pBase;
    PDWORD VTableFunctionBase = *VTablePointer;
    DWORD dwAddress = VTableFunctionBase[dwIndex];
   
    return (Function)(dwAddress);
}

template<typename T >
T ReadOffset(PVOID pBase, DWORD dwIndex)
{
    return *(T*)((DWORD)pBase + dwIndex);
}

// Every entity is an object including lights, turrets, minions, champions, etc.
class CObject
{
public:
    INT GetTeam()
    {
        return ReadOffset<BYTE >(this, 0x1C);
    }

    BOOL IsMinion()
    {
        if (((GetFlags() >> 11) & 1) == FALSE)
            return FALSE;

        if (IsBadReadPtr(pszObjectName, 0x4) == TRUE)
            return FALSE;

        if (pszObjectName[0] != 'M')
            return FALSE;

        return TRUE;
    }

    BOOL IsTurret()
    {
        return (GetFlags() & 0x2000);
    }
   
    BOOL IsPlayer()
    {
        return ReadOffset<BYTE >(this, 0x580) == 1;
    }

    BOOL IsAlive()
    {
        return ReadOffset<BYTE >(this, 0x12) == FALSE && GetHealth() > 0;
    }

    D3DXVECTOR3 GetPosition()
    {
        return ReadOffset<D3DXVECTOR3 >(this, 0x70);
    }

    PCHAR GetName()
    {
        return (PCHAR)&pszObjectName;
    }

    PCHAR GetChampion()
    {
        return (PCHAR)&pszChampion;
    }

    FLOAT GetHealth()
    {
        return ReadOffset<FLOAT>(this, 0x128);
    }

    FLOAT GetMaxHealth()
    {
        return ReadOffset<FLOAT>(this, 0x138);
    }

    FLOAT GetMana()
    {
        return ReadOffset<FLOAT>(this, 0x194);
    }

    FLOAT GetMaxMana()
    {
        return ReadOffset<FLOAT>(this, 0x1A4);
    }

    FLOAT GetExtraDamage()
    {
        return ReadOffset<FLOAT>(this, 0x640);
    }

    FLOAT GetBaseDamage()
    {
        return ReadOffset<FLOAT>(this, 0x6A4);
    }

    FLOAT GetDamage()
    {
        return GetBaseDamage() + GetExtraDamage();
    }

    FLOAT GetArmor()
    {
        return ReadOffset<FLOAT>(this, 0x6C0);
    }

    FLOAT GetMagicResist()
    {
        return ReadOffset<FLOAT>(this, 0x6C4);
    }

    FLOAT GetMovementSpeed()
    {
        return ReadOffset<FLOAT>(this, 0x6D4);
    }

    FLOAT GetGold()
    {
        return ReadOffset<FLOAT>(this, 0xE9C);
    }

    DWORD GetFlags()
    {
        return ReadOffset<INT>(this, 0x20);
    }

    FLOAT BaseDamage()
    {
        return ReadOffset<FLOAT>(this, 0x13A0);
    }

    FLOAT AttackRange()
    {
        return ReadOffset<FLOAT>(this, 0x6D8);
    }

    char _unknown0x0[0x2C];
    PCHAR pszObjectName;
    char _unknown0x30[0x4CC];
    PCHAR pszChampion;
};

class CObjectManager
{
public:
    CObject* GetObjectByID( UINT ID )
    {
        return m_pObjectArray[ ID ];
    }

    DWORD GetHighestIndexUsed( )
    {
        return m_dwHighestObjectID;
    }

    CObject** m_pObjectArray; // Array of active objects
    DWORD m_dwMaxObjects; // This is the highest amount of objects the array can store
    DWORD m_dwObjectsUsed; // Total number of objects in use
    DWORD m_dwHighestObjectID; // Highest index of an object actually used
    DWORD m_dwHighestPlayerObjectID; // Highest index in use for a player object
};

class CView
{
public:
    char _unknown0x0[0x18];
    PVOID ThisPtr; // 0x0018
    char _unknown0x1C[0x218];
    INT m_Width; // 0x0234
    INT m_Height; // 0x0238
    char _unknown0x23C[0x110B8];
    INT _unknown0x112F4; // Seems to always be 0
    INT _unknown0x112F8; // Seems to always be 0
    INT m_ResolutionWidth; // 0x112FC
    INT m_ResolutionHeight; // 0x11300
};

class CMatrixData
{
public:
    char _unknown0x0[0x94];
    D3DXMATRIX m_matView; // 0x0094
    D3DXMATRIX m_matProjection; // 0x00D4
};

// =================================================
// Helper Functions
// =================================================
inline CObjectManager* GetObjectManager()
{
    return (CObjectManager*)OBJECT_ARRAY;
}

inline CObject** GetObjectArray()
{
    return *(CObject***)OBJECT_ARRAY;
}

inline CObject* GetLocalEntity()
{
    return *(CObject**)OBJECT_LOCAL;
}

inline CObject* GetObjectByID(UINT ObjectID)
{
    return (GetObjectArray()[ObjectID]);
}

VOID WorldToScreen(D3DXVECTOR3* vecWorld, D3DXVECTOR3* vecScreen)
{
    CView* pView = *(CView**)(0xE3A00C);
    PVOID ThisPtr = pView->ThisPtr;

    D3DVIEWPORT9 viewPort;
    memset(&viewPort, 0, sizeof(viewPort));

    typedef VOID (__thiscall* GetViewportFn)(PVOID, D3DVIEWPORT9*);
    CallVirtual<GetViewportFn >(ThisPtr, 56)(ThisPtr, &viewPort);

    CMatrixData* pMatrixData = *(CMatrixData**)0xE3A00C;

    D3DXMATRIX matWorld;
    memset(&matWorld, 0, sizeof(matWorld));

    D3DXMatrixIdentity(&matWorld);

    D3DXMATRIX matProjection = pMatrixData->m_matProjection;
    D3DXMATRIX matView = pMatrixData->m_matView;

    D3DXVec3Project(vecScreen, vecWorld, &viewPort, &matProjection, &matView, &matWorld);

    vecScreen->x = (vecScreen->x - pView->_unknown0x112F4) / (pView->m_ResolutionWidth - pView->_unknown0x112F4) * pView->m_Width;
    vecScreen->y = (vecScreen->y - pView->_unknown0x112F8) / (pView->m_ResolutionHeight - pView->_unknown0x112F8) * pView->m_Height;
}

#endif // ENGINE_H
 

Lo que quiero pediros es a ver si alguien puede crear un ejecutable de esto para inyectarlo en un juego MMORPG o que me lo diga a mí cómo se hace.  El juego es el League of Legends.
Eso es todo. :)


En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Necesito ayuda con un código cpp
« Respuesta #1 en: 10 Marzo 2013, 02:32 am »

Quizá te puedan ayudar, pero esto no es vb! también habría que convertir el código.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hola necesito ayuda con este codigo
Programación Visual Basic
yonky_85 2 2,061 Último mensaje 30 Agosto 2006, 22:04 pm
por NYlOn
necesito ayuda sober un codigo en PHP
PHP
jona2pac 1 3,144 Último mensaje 19 Septiembre 2006, 12:20 pm
por JungleBoogie
Necesito ayuda encontrar codigo/programa
Programación Visual Basic
Goldmoon 3 2,382 Último mensaje 19 Mayo 2008, 19:15 pm
por Karcrack
Necesito su ayuda amigos con un codigo
Programación C/C++
JORGE BAAK 6 3,476 Último mensaje 16 Noviembre 2010, 02:54 am
por JORGE BAAK
Necesito ayuda con este código en C++
Programación C/C++
Frihet 0 3,302 Último mensaje 6 Mayo 2011, 15:54 pm
por Frihet
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines