gibam761 (02-05-2014)
Undetected By BC V2.
Eu Nao Uso mais ela, intaum...
CreditosCode:VOID *DetourCreate( BYTE *src, CONST BYTE *dst, CONST INT len ) { BYTE *jmp = ( BYTE * )malloc( len + 5 ); DWORD dwBack; VirtualProtect( src, len, PAGE_EXECUTE_READWRITE, &dwBack ); memcpy( jmp, src, len ); jmp += len; jmp[0] = 0xCB + 30; *( DWORD * )( jmp + 1 ) = ( DWORD )( src + len - jmp ) - 5; src[0] = 0xCB + 30; *( DWORD * )( src + 1 ) = ( DWORD )( dst - src ) - 5; for( INT i = 5; i < len; i++ ) src[i] = 0x68 + 40; VirtualProtect( src, len, dwBack, &dwBack ); return( jmp - len ); }
Fenix Por Modificar
e Hans eu Acho '-'
gibam761 (02-05-2014)
Last edited by Megaloco; 02-05-2014 at 04:40 AM.
Code:VOID *DetourCreate( BYTE *src, CONST BYTE *dst, CONST INT len ) { BYTE *jmp = ( BYTE * )malloc( len + 5 ); DWORD dwBack; VirtualProtect( src, len, PAGE_EXECUTE_READWRITE, &dwBack ); memcpy( jmp, src, len ); jmp += len; jmp[0] = 0xCB + 30; *( DWORD * )( jmp + 1 ) = ( DWORD )( src + len - jmp ) - 5; src[0] = 0xCB + 30; *( DWORD * )( src + 1 ) = ( DWORD )( dst - src ) - 5; for( INT i = 5; i < len; i++ ) src[i] = 0x68 + 40; VirtualProtect( src, len, dwBack, &dwBack ); return( jmp - len ); }
0xCB + 0x30 = 0xE9.
Nao vejo diferença nessa detours, ate pelo fato de nem ler o codigo.
Credito Original ( nao sei se foi ele que fez, mais eu sei que ele que tinha isso e eu roubei dele ate alguem ter a brilhante ideia de postar na mpgh pra public ): @ForeverRed.
0xE9 em
Binario = 011101001
Octal = 351
Decimal = 233
0x90 em
Binario = 010010000
Octal = 220
Decimal = 144
Last edited by TokolocoSK; 02-06-2014 at 09:38 AM.
éeééééééé´´eééééééeééééééé´´eééééééeééééééé´´eéééé ééeééééééé´´eééééééeééééééé´´eééééééeééééééé´´eééé éééeééééééé´´eééééé ´baizomenos baizomenos......................