DAGER-05 (06-06-2014),diegosarria12 (06-04-2014),_ReturnsBR_ (07-07-2014)
Segue um source code de um hack descompilado parcialmente, no qual dizem ser um hack vipão.
Pois não tem nada de vipão, sendo que o anti hack secundário bane os mané que o usam.
Os endereços é da atual versão atualizada dia 28/05/2014.
Code:#include <windows.h> #include <d3d9.h> #include <d3dx9.h> #include <process.h> // Engine.exe #define ADDR_BYPASSHACKSHIELD 0x52D2D4 //0x52D3B4 #define ADDR_RESET 0x59C1C1 //0x59C2A1 #define ADDR_PRESENT 0x6488A4 //0x648954 #define ADDR_ENDSCENE 0x59AFC5 //0x59B0A5 HRESULT WINAPI myReset( LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS *pPresentationParameters ) { pFont->OnLostDevice( ); pLine->OnLostDevice( ); pSprite->OnLostDevice( ); HRESULT hTorna = pDevice->Reset( pPresentationParameters ); if( SUCCEEDED( hTorna ) ) { pFont->OnResetDevice( ); pLine->OnResetDevice( ); pSprite->OnResetDevice( ); } return hTorna; } HRESULT WINAPI myPresent( LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion ) { pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE ); MenuAndHacks( pDevice ); pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_TRUE ); return pDevice->Present( pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion ); } VOID WINAPIV Thread( LPVOID ) { DWORD flOldProtect; while( memcmp( ( CONST VOID * )ADDR_ENDSCENE, ( CONST VOID * )"\x8B\x91", 2 ) != 0 ) Sleep( 100 ); VirtualProtect( ( LPVOID )ADDR_BYPASSHACKSHIELD, 5, 0x40, &flOldProtect ); *( BYTE * )ADDR_BYPASSHACKSHIELD = 0xE9; *( DWORD * )( ADDR_BYPASSHACKSHIELD + 0x1 ) = 0x11E; VirtualProtect( ( LPVOID )ADDR_BYPASSHACKSHIELD, 5, flOldProtect, &flOldProtect ); *( BYTE * )ADDR_PRESENT = 0xBA; *( DWORD * )( ADDR_PRESENT + 0x1 ) = ( DWORD )myPresent; *( DWORD * )( ADDR_RESET - 0x6 ) = *( DWORD * )( ADDR_RESET - 0x4 ); *( WORD * )( ADDR_RESET - 0x2 ) = *( WORD * )ADDR_RESET; *( BYTE * )ADDR_RESET = 0xB8; *( DWORD * )( ADDR_RESET + 0x1 ) = ( DWORD )myReset; } BOOL APIENTRY DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ) { if( fdwReason == DLL_PROCESS_ATTACH ) { DisableThreadLibraryCalls( hinstDLL ); _beginthread( Thread, 0, 0 ); } return TRUE; }
DAGER-05 (06-06-2014),diegosarria12 (06-04-2014),_ReturnsBR_ (07-07-2014)
A pergunta é, porque está postando algo que eu já postei de graça na internet?
Agora fala sério, você pagou pau pro meu hook né? kkkkkkkkkkkkkkkkk...
Brazil
Code RED
ParkII (06-05-2014)
|WE11ington| (06-05-2014)
@Code64
Ficou show seu método.
Last edited by 6ixth; 06-04-2014 at 08:13 PM.
Nine11 (02-12-2017)
Não. Ide resposta dada ao ForeverRed.
Mas que inhaca esse vídeo.
Quero revanche sábado no PS4 e não vale fazer trapaças no modem.
Good Job para um plugin que eu fiz para associar ao OllyDbg, fazendo com que um clique descompile.
Nessa parte do Reset não é assim na descompilação original, pois alterei simplificando, mas mesmo efeito.
Alterado:
Original:Code:HRESULT WINAPI myReset( LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS *pPresentationParameters ) { pFont->OnLostDevice( ); pLine->OnLostDevice( ); pSprite->OnLostDevice( ); HRESULT hTorna = pDevice->Reset( pPresentationParameters ); if( SUCCEEDED( hTorna ) ) { pFont->OnResetDevice( ); pLine->OnResetDevice( ); pSprite->OnResetDevice( ); } return hTorna; }
Esse método é mais velho que a Dercy Gonçalves, já cheguei a fazer hacks nesses parâmetros em 2006 para WarRock quando ainda era D3D8, no tempo das cavernas. Você poderia estar pensando, então esse método é fantástico? Não, é uma porcaria, em muitos hardwares isso pode vir a falhar, hora injeta normal e hora não, eu me lembro muito desse ocorrido quando eu injetava nas minhas máquinas daquela época.Code:HRESULT WINAPI myReset( LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS *pPresentationParameters ) { pFont->OnLostDevice( ); pLine->OnLostDevice( ); pSprite->OnLostDevice( ); if( SUCCEEDED( pDevice->Reset( pPresentationParameters ) ) ) { pFont->OnResetDevice( ); pLine->OnResetDevice( ); pSprite->OnResetDevice( ); } return pDevice->Reset( pPresentationParameters ); }
Provas de que esse hook vários outros já usaram. Não posso citar link externo de outros sites, mas busque pelo google "giniyat202 pDevice->DrawIndexedPrimitive(parameters)", na época nem citei nada nesses posts do giniyat202, porque eu já conhecia essas chamadas direta em Reset, Present, Endscene, DIP, etc, sem uso de stack assembly, ou seja, eu acho engraçado quando certos seres dizem, MEU HOOK. Esse giniyat202 até um tempo atrás fazia hacks para o Jogo Crossfire nesse método, estou citando apenas um, mas como eu disse, vários outros já o fizeram assim.
Last edited by |WE11ington|; 06-05-2014 at 06:31 AM.
diegosarria12 (06-05-2014)
Então você está dizendo que por mundo ser tão grande ninguém pode ter a mesma ideia? Haha mente pequena... É óbvio que eu não fui o primeiro a fazer dessa forma, mas também eu não tinha conhecimento dessas outras pessoas, pois eu sou novo, não sou tão velho igual você.
Brazil
Code RED
Comentário sobre a parte em vermelho:
Sim, isso vai ocorrer diversas vezes de ter a mesma ideia já criada ou transformada. Somente lembre-se que quando você tiver ao redor de um contexto empreendedor ou trabalhando em grupo, tome muito cuidado ao citar meu projeto, minha ideia, meu trabalho de conclusão de curso, etc; ao menos conhecer que sua ideia já foi proposta por alguém um dia no passado.
Comentário sobre a parte em verde:
Não importa o tamanho da mente, o importante é a qualidade. O que adianta um ser ter uma mente do tamanho de uma melancia composta por conteúdos podres. Outro aspecto relevante da mente é que nenhum ser consegue usar os 100% dela, talvez a alguns milhões de anos ocorra.
diegosarria12 (06-05-2014),pDevice (06-20-2014)
diegosarria12 (06-07-2014)
A verdade é que os coders antigos subiram quando o jogo ainda era uma criança, em que você dava um doce e ele fazia tudo o que você queria.
Bom... Quem sabe, sabe , e se acha legal mostrar, que se foda...
Agora, tivemos a oportunidade de ter o WE11 na nossa equipe, muito bom no que faz, mas quando saiu foi indiferente também. Eu sei o que eu tenho capacidade e o Code RED também. Se o WE11 negar, ele se contradiz.