QuestionCA D3D9 Base?

Posts 1–11 of 11 · Page 1 of 1
CA D3D9 Base?
Not looking for anything too fancy just a simple base that works with CA and doesn't get detected.
Look in CABR section, has a lot of bases that still works..
Quote Originally Posted by Hacker Fail View Post
Look in CABR section, has a lot of bases that still works..
On BR Version, if anything else it will crash.
Quote Originally Posted by PeachCreame View Post
On BR Version, if anything else it will crash.
If you update the address and class, no.
Quote Originally Posted by Hacker Fail View Post
If you update the address and class, no.
What about detection of 0xE9 jumps
Quote Originally Posted by PeachCreame View Post
What about detection of 0xE9 jumps
Code:
LPVOID DetourCreateType( PBYTE pbTargetFunction, PBYTE pbDetourFunction, INT intSize, INT intType )
{
    #define Detour1        1    // Undetected by BlackCipher II
    #define Detour2        2    // Undetected by BlackCipher II
    #define Detour3        3    // Undetected by BlackCipher II
    #define Detour4        4    // Undetected by BlackCipher II
    #define Detour5        5    // Undetected by BlackCipher II
 
    DWORD dwProtect;
    PBYTE pbDetour = ( PBYTE  )malloc( intSize + 5 );
    INT i;
 
    VirtualProtect( pbTargetFunction, intSize, PAGE_EXECUTE_READWRITE, &dwProtect );
    memcpy( pbDetour, pbTargetFunction, intSize );
    pbDetour += intSize;
 
    *( BYTE * ) ( pbDetour + 0 ) = 0xE9;
    *( DWORD * )( pbDetour + 1 ) = ( DWORD )( pbTargetFunction + intSize - pbDetour ) - 5;
 
    switch( intType )
    {
    case 1:
        *( BYTE * ) ( pbTargetFunction + 0 ) = 0xB8;
        *( DWORD * )( pbTargetFunction + 1 ) = ( DWORD )( pbDetourFunction );
        *( WORD * ) ( pbTargetFunction + 5 ) = 0xE0FF;
        i = 7;
        break;
 
    case 2:
        *( WORD * ) ( pbTargetFunction + 0 ) = 0xC033;
        *( WORD * ) ( pbTargetFunction + 2 ) = 0xC085;
        *( WORD * ) ( pbTargetFunction + 4 ) = 0x840F;
        *( DWORD * )( pbTargetFunction + 6 ) = ( DWORD )( pbDetourFunction - pbTargetFunction ) - 10;
        i = 10;
        break;
 
    case 3:
        *( WORD * ) ( pbTargetFunction + 0 ) = 0xDB33;
        *( WORD * ) ( pbTargetFunction + 2 ) = 0xDB85;
        *( WORD * ) ( pbTargetFunction + 4 ) = 0x840F;
        *( DWORD * )( pbTargetFunction + 6 ) = ( DWORD )( pbDetourFunction - pbTargetFunction ) - 10;
        i = 10;
        break;
 
    case 4:
        *( WORD * ) ( pbTargetFunction + 0 ) = 0xC933;
        *( WORD * ) ( pbTargetFunction + 2 ) = 0xC985;
        *( WORD * ) ( pbTargetFunction + 4 ) = 0x840F;
        *( DWORD * )( pbTargetFunction + 6 ) = ( DWORD )( pbDetourFunction - pbTargetFunction ) - 10;
        i = 10;
        break;
 
    case 5:
        *( WORD * ) ( pbTargetFunction + 0 ) = 0xD233;
        *( WORD * ) ( pbTargetFunction + 2 ) = 0xD285;
        *( WORD * ) ( pbTargetFunction + 4 ) = 0x840F;
        *( DWORD * )( pbTargetFunction + 6 ) = ( DWORD )( pbDetourFunction - pbTargetFunction ) - 10;
        i = 10;
        break;
    }
 
    for( ; i < intSize; i++ )
        *( BYTE * )( pbTargetFunction + i ) = 0x90;
 
    VirtualProtect( pbTargetFunction, intSize, dwProtect, &dwProtect );
 
    return ( pbDetour - intSize );
}
Credits go to @WE11ington
Should work without dc
Quote Originally Posted by Skaterforeva1 View Post
Code:
LPVOID DetourCreateType( PBYTE pbTargetFunction, PBYTE pbDetourFunction, INT intSize, INT intType )
{
    #define Detour1        1    // Undetected by BlackCipher II
    #define Detour2        2    // Undetected by BlackCipher II
    #define Detour3        3    // Undetected by BlackCipher II
    #define Detour4        4    // Undetected by BlackCipher II
    #define Detour5        5    // Undetected by BlackCipher II
 
    DWORD dwProtect;
    PBYTE pbDetour = ( PBYTE  )malloc( intSize + 5 );
    INT i;
 
    VirtualProtect( pbTargetFunction, intSize, PAGE_EXECUTE_READWRITE, &dwProtect );
    memcpy( pbDetour, pbTargetFunction, intSize );
    pbDetour += intSize;
 
    *( BYTE * ) ( pbDetour + 0 ) = 0xE9;
    *( DWORD * )( pbDetour + 1 ) = ( DWORD )( pbTargetFunction + intSize - pbDetour ) - 5;
 
    switch( intType )
    {
    case 1:
        *( BYTE * ) ( pbTargetFunction + 0 ) = 0xB8;
        *( DWORD * )( pbTargetFunction + 1 ) = ( DWORD )( pbDetourFunction );
        *( WORD * ) ( pbTargetFunction + 5 ) = 0xE0FF;
        i = 7;
        break;
 
    case 2:
        *( WORD * ) ( pbTargetFunction + 0 ) = 0xC033;
        *( WORD * ) ( pbTargetFunction + 2 ) = 0xC085;
        *( WORD * ) ( pbTargetFunction + 4 ) = 0x840F;
        *( DWORD * )( pbTargetFunction + 6 ) = ( DWORD )( pbDetourFunction - pbTargetFunction ) - 10;
        i = 10;
        break;
 
    case 3:
        *( WORD * ) ( pbTargetFunction + 0 ) = 0xDB33;
        *( WORD * ) ( pbTargetFunction + 2 ) = 0xDB85;
        *( WORD * ) ( pbTargetFunction + 4 ) = 0x840F;
        *( DWORD * )( pbTargetFunction + 6 ) = ( DWORD )( pbDetourFunction - pbTargetFunction ) - 10;
        i = 10;
        break;
 
    case 4:
        *( WORD * ) ( pbTargetFunction + 0 ) = 0xC933;
        *( WORD * ) ( pbTargetFunction + 2 ) = 0xC985;
        *( WORD * ) ( pbTargetFunction + 4 ) = 0x840F;
        *( DWORD * )( pbTargetFunction + 6 ) = ( DWORD )( pbDetourFunction - pbTargetFunction ) - 10;
        i = 10;
        break;
 
    case 5:
        *( WORD * ) ( pbTargetFunction + 0 ) = 0xD233;
        *( WORD * ) ( pbTargetFunction + 2 ) = 0xD285;
        *( WORD * ) ( pbTargetFunction + 4 ) = 0x840F;
        *( DWORD * )( pbTargetFunction + 6 ) = ( DWORD )( pbDetourFunction - pbTargetFunction ) - 10;
        i = 10;
        break;
    }
 
    for( ; i < intSize; i++ )
        *( BYTE * )( pbTargetFunction + i ) = 0x90;
 
    VirtualProtect( pbTargetFunction, intSize, dwProtect, &dwProtect );
 
    return ( pbDetour - intSize );
}
Credits go to @WE11ington
Should work without dc
I dont even think you need to use detours these days :P i literally can call my Hack from DLLMain and render D3D Just as good :P

Edit. In doing this CA can detect any extra code attached to engine
Quote Originally Posted by PeachCreame View Post
I dont even think you need to use detours these days :P i literally can call my Hack from DLLMain and render D3D Just as good :P

Edit. In doing this CA can detect any extra code attached to engine
Hm, CANA detects hook engine ? Because in CABR works fine.
Quote Originally Posted by PeachCreame View Post
I dont even think you need to use detours these days :P i literally can call my Hack from DLLMain and render D3D Just as good :P

Edit. In doing this CA can detect any extra code attached to engine
Shit I'll have to try that. I haven't even hacked CA since since probably early 2015.
Quote Originally Posted by Hacker Fail View Post
Look in CABR section, has a lot of bases that still works..
Will do thanks
Posts 1–11 of 11 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?