Results 1 to 15 of 15
  1. #1
    Cheetara's Avatar
    Join Date
    Aug 2013
    Gender
    female
    Posts
    67
    Reputation
    10
    Thanks
    34
    My Mood
    Aggressive

    Thumbs up Opções de Detours Combat Arms

    Opções de Detours Combat Arms

    Com o tamanho do detour "const int len" = 10 é para funcionar em todos os Windows XP, Windows 7 e Windows 8.

    Code:
    void *DetourJMP(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\xE9';
    	*(DWORD*)(&src[1]) = (DWORD)(dst - src) - 5;
    	for (int i = 5; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourJMP((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Code:
    void *DetourNOPJMP(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\x90';
    	src[1] = '\xE9';
    	*(DWORD*)(&src[2]) = (DWORD)(dst - src) - 6;
    	for (int i = 6; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourNOPJMP((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Code:
    void *DetourPUSHRET(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\x68';
    	*(DWORD*)(&src[1]) = (DWORD)(dst);
    	src[5] = '\xC3';
    	for (int i = 6; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourPUSHRET((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Code:
    void *DetourNOPNOPJMP(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\x90';
    	src[1] = '\x90';
    	src[2] = '\xE9';
    	*(DWORD*)(&src[3]) = (DWORD)(dst - src) - 7;
    	for (int i = 7; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourNOPNOPJMP((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Code:
    void *DetourPUSHPOPJMP(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\x50';
    	src[1] = '\x58';
    	src[2] = '\xE9';
    	*(DWORD*)(&src[3]) = (DWORD)(dst - src) - 7;
    	for (int i = 7; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourPUSHPOPJMP((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Code:
    void *DetourSTCJB(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\xF9';
    	src[1] = '\x0F';
    	src[2] = '\x82';
    	*(DWORD*)(&src[3]) = (DWORD)(dst - src) - 7;
    	for (int i = 7; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourSTCJB((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Code:
    void *DetourCLCJNB(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\xF8';
    	src[1] = '\x0F';
    	src[2] = '\x83';
    	*(DWORD*)(&src[3]) = (DWORD)(dst - src) - 7;
    	for (int i = 7; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourCLCJNB((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Code:
    void *DetourMOVJMP(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\xB8';
    	*(DWORD*)(&src[1]) = (DWORD)(dst);
    	src[5] = '\xFF';
    	src[6] = '\xE0';
    	for (int i = 7; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourMOVJMP((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Code:
    void *DetourXORTESTJE(BYTE *src, const BYTE *dst, const int len)
    {
    	BYTE *jmp = (BYTE*)malloc(len + 5);
    	DWORD dwBack;
    	VirtualProtect(src, len, PAGE_READWRITE, &dwBack);
    	memcpy(jmp, src, len);
    	jmp += len;
    	jmp[0] = '\xE9';
    	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
    	src[0] = '\x33';
    	src[1] = '\xC0';
    	src[2] = '\x85';
    	src[3] = '\xC0';
    	src[4] = '\x0F';
    	src[5] = '\x84';
    	*(DWORD*)(&src[6]) = (DWORD)(dst - src) - 10;
    	for (int i = 10; i < len; i++) src[i] = 0x90;
    	VirtualProtect(src, len, dwBack, &dwBack);
    	return (jmp - len);
    }
    
    oPresent = (tPresent)DetourXORTESTJE((PBYTE) dwVTablePresent, (PBYTE) &Present, 10);
    Créditos:
    Azorbix / Gordon / Patrick / WE11ington[/QUOTE]

  2. #2
    Coder.Hu3's Avatar
    Join Date
    Aug 2014
    Gender
    male
    Posts
    107
    Reputation
    10
    Thanks
    39
    Talvez amanha já esteja detect Essas Detours

    so mais a minha detours(CDetours) com umas 40 linhas .

  3. #3
    Cheetara's Avatar
    Join Date
    Aug 2013
    Gender
    female
    Posts
    67
    Reputation
    10
    Thanks
    34
    My Mood
    Aggressive
    Quote Originally Posted by Coder.Hu3 View Post
    Talvez amanha já esteja detect Essas Detours

    so mais a minha detours(CDetours) com umas 40 linhas .
    Pode até ser, porem com essas detours ae se souber da para criar umas umas 4 ou 5 opções a mais!
    só repostei !

  4. The Following User Says Thank You to Cheetara For This Useful Post:

    Coder.Hu3 (08-13-2014)

  5. #4
    New - Hacker's Avatar
    Join Date
    Aug 2011
    Gender
    male
    Posts
    498
    Reputation
    23
    Thanks
    110
    My Mood
    Aggressive
    Interessante, mas é só uma versão simplificada da cDetours(que eu não sei quem criou). Pode ver que tudo isso tem em bases com a do MMBOB (tem muito outros tipos de detours lá). A Detours PUSHRET tem na WhitBase v2 por exemplo.
    Mas como vc disse, da pra fazer pequenas alterações nos OPCodes e deixar indetectável.

    Poderia explicar por que com len = 10, a detours funciona em todos os SO @Cheetara ?
    Last edited by New - Hacker; 08-13-2014 at 03:50 PM.

  6. #5
    Cheetara's Avatar
    Join Date
    Aug 2013
    Gender
    female
    Posts
    67
    Reputation
    10
    Thanks
    34
    My Mood
    Aggressive
    Quote Originally Posted by New - Hacker View Post
    Poderia explicar por que com len = 10, a detours funciona em todos os SO @Cheetara ?
    Não, não poderia!

  7. #6
    _ReturnsBR_'s Avatar
    Join Date
    Feb 2014
    Gender
    male
    Posts
    193
    Reputation
    10
    Thanks
    57
    My Mood
    Stressed
    ñ vi nada de diferente nessas detours "Cheetara" Good Job

  8. #7
    pDevice's Avatar
    Join Date
    Feb 2012
    Gender
    male
    Location
    d3d9.h
    Posts
    1,306
    Reputation
    15
    Thanks
    420
    My Mood
    Stressed
    Quote Originally Posted by _ReturnsBR_ View Post
    ñ vi nada de diferente nessas detours "Cheetara" Good Job
    Considere-se com problemas



  9. The Following 5 Users Say Thank You to pDevice For This Useful Post:

    bieljtvza (08-15-2014),Cheetara (08-14-2014),Fellas1704 (08-14-2014),iTz.Cheater (08-14-2014),Otaviomorais (08-14-2014)

  10. #8
    Fellas1704's Avatar
    Join Date
    Nov 2013
    Gender
    male
    Location
    C+,C#,VB
    Posts
    53
    Reputation
    10
    Thanks
    6
    My Mood
    Amazed
    AHHAHAHAHHAHAHHAHAHAHAHAH

  11. #9
    Txego's Avatar
    Join Date
    Jun 2014
    Gender
    male
    Posts
    10
    Reputation
    10
    Thanks
    0
    Quote Originally Posted by Fellas1704 View Post
    AHHAHAHAHHAHAHHAHAHAHAHAH
    Bem down ...

  12. #10
    rodrigo19091992's Avatar
    Join Date
    Oct 2011
    Gender
    male
    Posts
    69
    Reputation
    10
    Thanks
    26
    My Mood
    Amazed
    legal fera e as ppekas kkkkkkkkkkkkk belo tópico xD

  13. #11
    arun823's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Los Angeles, California
    Posts
    523
    Reputation
    151
    Thanks
    1,899
    My Mood
    Amused
    MS Detour 3.0
    Problem solved
    Reversing is the only way to move forward.

  14. #12
    luizimloko's Avatar
    Join Date
    Feb 2011
    Gender
    male
    Location
    fs:[0]
    Posts
    1,879
    Reputation
    136
    Thanks
    10,137
    My Mood
    Yeehaw
    Quote Originally Posted by arun823 View Post
    MS Detour 3.0
    Problem solved


    the remaining 5 cents is for you buy a candy in market.

  15. The Following User Says Thank You to luizimloko For This Useful Post:

    iTz.Cheater (08-17-2014)

  16. #13
    iTz.Cheater's Avatar
    Join Date
    Feb 2014
    Gender
    male
    Posts
    24
    Reputation
    35
    Thanks
    2

    Wink

    Quote Originally Posted by luizimloko View Post




    the remaining 5 cents is for you buy a candy in market.
    LOL né que é mesmo mais tem um free..

    Attached Thumbnails Attached Thumbnails
    microsoft research.png  

    Last edited by iTz.Cheater; 08-17-2014 at 10:23 AM.

  17. #14
    rodrigo19091992's Avatar
    Join Date
    Oct 2011
    Gender
    male
    Posts
    69
    Reputation
    10
    Thanks
    26
    My Mood
    Amazed
    Quote Originally Posted by luizimloko View Post




    the remaining 5 cents is for you buy a candy in market.
    Que Treta kkkkkkkkkkkkk

  18. #15
    arun823's Avatar
    Join Date
    Jun 2010
    Gender
    male
    Location
    Los Angeles, California
    Posts
    523
    Reputation
    151
    Thanks
    1,899
    My Mood
    Amused
    Quote Originally Posted by luizimloko View Post




    the remaining 5 cents is for you buy a candy in market.
    Stop being poor.

    Problem Solved
    Reversing is the only way to move forward.

Similar Threads

  1. [Download] Combat Arms
    By Str8Thimo in forum Combat Arms Hacks & Cheats
    Replies: 28
    Last Post: 08-05-2008, 08:00 PM
  2. Replies: 1
    Last Post: 12-17-2007, 01:52 PM
  3. nexon's combat arms
    By brownsfan91 in forum WarRock Korea Hacks
    Replies: 11
    Last Post: 12-17-2007, 11:04 AM
  4. Combat Arms
    By Synns in forum WarRock Korea Hacks
    Replies: 0
    Last Post: 11-21-2007, 09:09 PM
  5. Combat Arms
    By tednugent in forum WarRock Korea Hacks
    Replies: 7
    Last Post: 07-10-2007, 07:53 AM