1. Привет Гость, в нашем магазине проходит акция! Смотри эту тему.
    Так же цена на VIP снижена!

Исходник ВХ + Как сделать из него рабочий для crossfire

Тема в разделе "Гайды для CrossFire", создана пользователем Король777, 22 янв 2013.

  1. Оффлайн

    Король777 ст. сержант

    31
    104
    21
    Исходник ВХ + Как сделать из него рабочий для crossfire
    [​IMG]
    PHP:
    #include <Windows.h>
    #include <fstream>
     
    using namespace std;
     
    #define HookShell (DWORD)GetModuleHandleA("CShell.dll");
     
    void IfLuX void )
    {
    bool wallhack 1;
     
    while(
    1)
    {
    DWORD CShell HookShell;
     
    if (
    wallhack==1)
    {
    memcpy((VOID*)0x6D29F4"\x00\x00\x00\x00\x00\x00"6);
    }
    }
    }
    void Hook HINSTANCE hDLL )
    {
    DWORD CShell HookShell;
    if (
    CShell==0)
    {
    IfLuX();
    }
    }
    BOOL WINAPI DllMain HINSTANCE hDllDWORD dwReasonLPVOID lpReserved )
    {
    if (
    dwReason == DLL_PROCESS_ATTACH)
    {
    DisableThreadLibraryCalls(hDll);
    CreateThread(NULLNULL, (LPTHREAD_START_ROUTINE)HookhDllNULLNULL);
    }
    return 
    TRUE;
    }

    1. Он уже давно не работает
    2.
    Код:
    PHP:
    memcpy((VOID*)0x6D29F4"\x00\x00\x00\x00\x00\x00"6);
    четвертый байт - это и есть Валхак, но изменять на другое значение многие пробовали(например менять на х90), забудьте пока это бесполезно...
    Вот ссылки для начала изучайте:
    Отвечает за меню:
    PHP:
    #define PresentEngine 0x004C7CEF
    DWORD retPresentEngine = ( PresentEngine 0x5 );
    Код:
    PHP:
    #define EndSceneEngine 0x00455FAF
    DWORD retEndSceneEngine = ( EndSceneEngine 0x8 );
    За D3D функции:
    Код:
    PHP:
    #define DIPEngine1 0x004B766D
    DWORD retDIPEngine1 = ( DIPEngine1 0x8 );
    Код:
    PHP:
    #define DIPEngine2 0x004B2F22
    DWORD retDIPEngine2 = ( DIPEngine2 0x8 );

    С этим еще можно поработать:
    Пример кода общего ниже:
    Код:
    PHP:
    LPD3DXFONT myFont;
     
    VOID StartFontLPDIRECT3DDEVICE9 pDevice )
    {
    if( 
    myFont )
    {
    myFont->Release();
    myFont 0;
    }
     
    if( !
    myFont )
    {
    D3DXCreateFontpDevice,
    14,
    6,
    FW_BOLD,
    1,
    0,
    DEFAULT_CHARSET,
    OUT_DEFAULT_PRECIS,
    ANTIALIASED_QUALITY,
    DEFAULT_PITCH FF_DONTCARE,
    "Arial",
    &
    myFont );
    }
    }
     
    VOID WriteTextLPDIRECT3DDEVICE9 pDeviceINT xINT yDWORD colorCHAR *text )
    {
    RECT rect;
    SetRect( &rectxyx);
    myFont->DrawText0text, -1, &rectDT_NOCLIP DT_LEFTcolor );
    }
     
    __declspecnaked HRESULT WINAPI ResetMidfunction( )
    {
    static 
    LPDIRECT3DDEVICE9 pDevice;
     
    __asm
    {
    MOV EDX,DWORD PTR DS:[EAX]
    MOV EDX,DWORD PTR DS:[EDX 0x40]
    MOV DWORD PTR DS:[pDevice], EAX
    PUSHAD
    }
     
    // Code Here
     
    __asm
    {
    POPAD
    JMP retResetEngine
    }
    }
     
    __declspecnaked HRESULT WINAPI PresentMidfunction( )
    {
    static 
    LPDIRECT3DDEVICE9 pDevice;
     
    __asm
    {
    MOV ECXDWORD PTR DS:[EAX]
    MOV EDXDWORD PTR DS:[ECX 0x44]
    MOV DWORD PTR DS:[pDevice], EAX
    PUSH 0
    PUSHAD
    }
     
    StartFontpDevice );
     
    if( 
    myFont )
    WriteTextpDevice3003000xFFFF0000"Hook Present Engine" );
     
    __asm
    {
    POPAD
    JMP retPresentEngine
    }
    }
     
    __declspecnaked HRESULT WINAPI BeginSceneMidfunction( )
    {
    static 
    LPDIRECT3DDEVICE9 pDevice;
     
    __asm
    {
    MOV ECXDWORD PTR DS:[EAX]
    MOV EDXDWORD PTR DS:[ECX 0xA4]
    MOV DWORD PTR DS:[pDevice], EAX
    PUSHAD
    }
     
    StartFontpDevice );
     
    if( 
    myFont )
    WriteTextpDevice3003000xFFFF0000"Hook BeginScene Engine" );
     
    __asm
    {
    POPAD
    JMP retBeginSceneEngine
    }
    }
     
    __declspecnaked HRESULT WINAPI EndSceneMidfunction( )
    {
    static 
    LPDIRECT3DDEVICE9 pDevice;
     
    __asm
    {
    MOV ECXDWORD PTR DS:[EAX]
    MOV EDXDWORD PTR DS:[ECX 0xA8]
    MOV DWORD PTR DS:[pDevice], EAX
    PUSHAD
    }
     
    StartFontpDevice );
     
    if( 
    myFont )
    WriteTextpDevice3003000xFFFF0000"Hook EndScene Engine" );
     
    __asm
    {
    POPAD
    JMP retEndSceneEngine
    }
    }
     
    __declspecnaked HRESULT WINAPI DIPMidfunction1( )
    {
    static 
    LPDIRECT3DDEVICE9 pDevice;
     
    __asm
    {
    MOV EDXDWORD PTR DS:[EAX]
    MOV EDXDWORD PTR DS:[EDX 0x148]
    MOV DWORD PTR DS:[pDevice], EAX
    PUSHAD
    }
     
    pDevice->SetRenderStateD3DRS_ZENABLED3DZB_FALSE );
     
    __asm
    {
    POPAD
    JMP retDIPEngine1
    }
    }
     
    __declspecnaked HRESULT WINAPI DIPMidfunction2( )
    {
    static 
    LPDIRECT3DDEVICE9 pDevice;
    static 
    INT BaseVertexIndex;
    static 
    UINT MinVertexIndexNumVerticesstartIndexprimCount;
     
    __asm
    {
    MOV ECXDWORD PTR DS:[EAX]
    MOV EDXDWORD PTR DS:[ECX 0x148]
    MOV ECXDWORD PTR DS:[EBP 0x18]
    MOV DWORD PTR DS:[BaseVertexIndex], ECX
    MOV ECX
    DWORD PTR DS:[EBP 0x8]
    MOV DWORD PTR DS:[MinVertexIndex], ECX
    MOV ECX
    DWORD PTR DS:[EBP 0x10]
    MOV DWORD PTR DS:[NumVertices], ECX
    MOV ECX
    DWORD PTR DS:[EBP 0xC]
    MOV DWORD PTR DS:[startIndex], ECX
    MOV ECX
    DWORD PTR DS:[EBP 0x14]
    MOV DWORD PTR DS:[primCount], ECX
    PUSHAD
    }
     
    pDevice->SetRenderStateD3DRS_ZENABLED3DZB_FALSE );
     
    __asm
    {
    POPAD
    JMP retDIPEngine2
    }
    }
     
    VOID *DetourCreateBYTE *src, CONST BYTE *dst, CONST INT len )
    {
    BYTE *jmp = ( BYTE * ) malloclen );
    DWORD dwBack;
     
    VirtualProtectsrclenPAGE_READWRITE, &dwBack );
    memcpyjmpsrclen );
    jmp += len;
    jmp[0] = 0xE9;
    *( 
    DWORD * )( jmp ) = ( DWORD )( src len jmp ) - 5;
     
    src[0] = 0xE9;
    *( 
    DWORD * )( src ) = ( DWORD )( dst src ) - 5;
    for( 
    INT i 5leni++ )
    src 0x90;
    VirtualProtectsrclendwBack, &dwBack );
     
    return( 
    jmp len );
    }
     
    DWORD WINAPI StartRoutineLPVOID )// это и есть движок(хук)
    {
    while( 
    TRUE )
    {
    //ResetEngine Detected
    //if( memcmp( ( VOID * )ResetEngine, ( VOID * )( PBYTE )"\x8B\x10", 2 ) == 0 )
    //{
    //  Sleep( 100 );
    //  DetourCreate( ( PBYTE )ResetEngine, ( PBYTE )ResetMidfunction, 5 );
    //}
     
     
    //PresentEngine Detected
    //if( memcmp( ( VOID * )PresentEngine, ( VOID * )( PBYTE )"\x8B\x51", 2 ) == 0 )
    //{
    //  Sleep( 100 );
    //  DetourCreate( ( PBYTE )PresentEngine, ( PBYTE )PresentMidfunction, 5 );
    //}
     
     
    //PresentEngine Detected
    //if( memcmp( ( VOID * )PresentEngine, ( VOID * )( PBYTE )"\x8B\x51", 2 ) == 0 )
    //{
    //  Sleep( 100 );
    //  DetourCreate( ( PBYTE )( PresentEngine - 0x5 ), ( PBYTE )PresentMidfunction, 5 );
    //  memcpy( ( VOID * )PresentEngine, ( VOID * )( PBYTE )"\x41\xE2\xF8", 3 );
    //}
     
     
    //BeginSceneEngine Detected
    //if( memcmp( ( VOID * )BeginSceneEngine, ( VOID * )( PBYTE )"\x8B\x08", 2 ) == 0 )
    //{
    //  Sleep( 100 );
    //  DetourCreate( ( PBYTE )BeginSceneEngine, ( PBYTE )BeginSceneMidfunction, 8 );
    //}
     
     
    //EndSceneEngine Detected
    //if( memcmp( ( VOID * )EndSceneEngine, ( VOID * )( PBYTE )"\x8B\x08", 2 ) == 0 )
    //{
    //  Sleep( 100 );
    //  DetourCreate( ( PBYTE )EndSceneEngine, ( PBYTE )EndSceneMidfunction, 8 );
    //}
     
     
    //DIPEngine1 Detected
    //if( memcmp( ( VOID * )DIPEngine1, ( VOID * )( PBYTE )"\x8B\x10", 2 ) == 0 )
    //{
    //  Sleep( 100 );
    //  DetourCreate( ( PBYTE )DIPEngine1, ( PBYTE )DIPMidfunction1, 8 );
    //}
     
     
    //DIPEngine2 Detected
    //if( memcmp( ( VOID * )DIPEngine2, ( VOID * )( PBYTE )"\x8B\x08", 2 ) == 0 )
    //{
    //  Sleep( 100 );
    //  DetourCreate( ( PBYTE )DIPEngine2, ( PBYTE )DIPMidfunction2, 8 );
    //}
     
    Sleep50 );
    }
     
    return 
    0;
    }
     
    BOOL WINAPI DllMainHMODULE hDllDWORD dwReasonLPVOID lpReserved )
    {
    if( 
    dwReason == DLL_PROCESS_ATTACH )
    {
    DisableThreadLibraryCallshDll );
    MessageBox0"Hook Engine""Crossfire");
    CreateThread00, (LPTHREAD_START_ROUTINE)StartRoutine00);
    }
     
    return 
    TRUE;
    }
    но
    Код:
    PHP:
    CreateThread
    -старайтесь меньше использовать, лучше или навпрямую или

    Код:
    PHP:
    bool wait ( )// чтобы внедрение происходило непосредственно в последний момент
    {
    if ( 
    GetModuleHandleA("CShell.dll") != &&
    GetModuleHandleA("ClientFx.fxd") != &&
    GetModuleHandleA("d3d9.dll") != )
    return 
    1;
    return 
    0;
    }
    UINT WINAPI pWallhack(VOID *)
    {
    while( !
    wait() );
    Sleep(100);
    _asm CALL StartRoutine// наш движок
    }
    и в начале файла должно быть дополнительно:
    Код:
    PHP:
    #include <process.h>
    а в
    Код:
    PHP:
    BOOL WINAPI DllMainHMODULE hDllDWORD dwReasonLPVOID lpReserved )
    {
    вместо  CreateThread00, (LPTHREAD_START_ROUTINE)StartRoutine00);
    Это например:
    Код:
    PHP:
    _beginthreadex(00pWallhack000);
     
    Sapar и ssmatrix нравится это.
  2.  
  3. Оффлайн

    .ιllιlι.ιl

    133
    154
    43
    вроде норм гайд
     
  4. Оффлайн

    Vlad Lonchinskiy

    3
    0
    1
    Херня.Полная.
     
  5. Оффлайн

    mmm174 специалист

    20
    4
    4
    ***** не понел пзд
     
  6. Оффлайн

    josanov2002

    8
    1
    2
    кто научит создавать читы
     
  7. Оффлайн

    XxDIASxX

    675
    1.236
    619
    Эмм.... Никто!
     
    Potter нравится это.
  8. Оффлайн

    XxDIASxX

    675
    1.236
    619
    А про гайд, ты слил!
    Я тоже искал:)
     

Поделиться этой страницей

Уважаемый пользователь!

Мы обнаружили, что вы блокируете показ рекламы на нашем сайте.

Просим внести его в список исключения или отключить AdBlock.

Наши материалы предоставляются БЕСПЛАТНО и единственным доходом является реклама.

Спасибо за понимание!