Register for your free account! | Forgot your password?

Go Back   elitepvpers > Shooter > WarRock
You last visited: Today at 06:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



WarRock EU - Code Snippets

Discussion on WarRock EU - Code Snippets within the WarRock forum part of the Shooter category.

View Poll Results: Wie findet ihr diesen Thread
Klasse! 78 60.94%
Geht so 17 13.28%
Sinnlos, braucht keiner 33 25.78%
Voters: 128. You may not vote on this poll

Closed Thread
 
Old 05/15/2012, 22:40   #7066


 
Cyno™'s Avatar
 
elite*gold: 158
Join Date: Sep 2011
Posts: 878
Received Thanks: 2,493
Quote:
Originally Posted by _BuRn3R_ View Post
Anti Abnormal Gameplay:

Addys:
DWORD Abnormal1 = 0x124; /* Updated */
DWORD Abnormal3 = 0x360; /* Updated */
DWORD ServerKick1 = 0x104; /* Updated */
DWORD ServerKick3 = 0x340; /* Updated */
DWORD CRCPatch = 0x417FD3; /* Updated */
Code:
DWORD AntiAbnormal()
{
	DWORD dwServer = Ptr::Server;
	DWORD dwAbnormal1 = Ofs::Abnormal1;
	DWORD dwAbnormal3 = Ofs::Abnormal3;
	DWORD dwServKick1 = Ofs::ServerKick1;
	DWORD dwServKick3 = Ofs::ServerKick3;
	__asm
	{
		MOV EAX, dwServer
		ADD EAX, dwAbnormal1
		MOV EAX, 1
		ADD EAX, 1
		MOV EAX, 1
		ADD EAX, dwAbnormal3
		MOV EAX, 1
		ADD EAX, 1
		MOV EAX, 1
		ADD EAX, dwServKick1
		MOV EAX, 1
		ADD EAX, 1
		MOV EAX, 1
		ADD EAX, dwServKick3
		MOV EAX, 1
		ADD EAX, 1
		MOV EAX, 1
	}
	
	DWORD dwEhSvc;
	dwEhSvc = (DWORD)GetModuleHandleA("EhSvc.dll");
	while (!dwEhSvc);
	WriteMemory((VOID*)(Asm::CRCPatch),"x90\x90",2);
	
	return TRUE;
}
Credits:
BuRn3R [Code]
CyberRazzer[Abnormal1 & 3 Adress]
Ich glaube du solltest dir erst einmal Grundlegende kenntnisse über inline asm verschaffen...
Ich bin selbst nicht so gut in inline asm doch das das hier nicht funktioniert sieht ein blinder mit krückstock.
Ich erlaube mir mal deinen Code zu kommentieren
MOV EAX, dwServer ; Serverpointer ab ins EAX Register
ADD EAX, dwAbnormal1 ; Offset adden , bis hierhin alles ok
MOV EAX, 1 ; in das EAX register die 1 schreiben
ADD EAX, 1 ; das EAX register um 1 Inkrementieren ( = 2 )
MOV EAX, 1 ; in das EAX Register die 1 schreiben
ADD EAX, dwAbnormal3 ;zu der 1 die sich in EAX befindet Ofs 3 adden
MOV EAX, 1; wieder die 1 ins eax register
ADD EAX, 1; wieder +1 = 2
MOV EAX, 1; wieder die 1 ins eax register
ADD EAX, dwServKick1;adde ofs serverkick zur 1
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, 1; 1+1 = 2
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, dwServKick3;ofs 3 adden
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, 1;wieder +1
MOV EAX, 1;wieder die 1 ins eax register


Grundlegende Fehler:
mit MOV EAX , Addy
MOV EAX , Value schreibst du nicht die value in die Speicheraddresse
sondern beides nacheinander in das Register!
du solltest anstattdessen je nach type ( in dem fall 4 Byte ( DWORD ))
mov eax , serverptr
add eax , ofs
mov dword ptr ds:[eax] , Value verwenden.
Zudem bewirken diese Offsets nur , dass die MessageBoxen nicht erscheinen .
Der Disconnect bzw die andere Detection routine wird dennoch ausgeführt

Desweiteren ist der " CRC Check " , welchen du verwendest nicht mit der Abnormal GamePlayeMessage in verbindung zu setzen , da dieser die WarRock Files ( meiner erinnerung nach ) auf veränderungen durchsucht .

MFG Cyno
Cyno™ is offline  
Thanks
3 Users
Old 05/16/2012, 00:30   #7067
 
CyberVeezy :)'s Avatar
 
elite*gold: 1
Join Date: Oct 2011
Posts: 1,117
Received Thanks: 1,520
Quote:
Originally Posted by Cyno™ View Post
Ich glaube du solltest dir erst einmal Grundlegende kenntnisse über inline asm verschaffen...
Ich bin selbst nicht so gut in inline asm doch das das hier nicht funktioniert sieht ein blinder mit krückstock.
Ich erlaube mir mal deinen Code zu kommentieren
MOV EAX, dwServer ; Serverpointer ab ins EAX Register
ADD EAX, dwAbnormal1 ; Offset adden , bis hierhin alles ok
MOV EAX, 1 ; in das EAX register die 1 schreiben
ADD EAX, 1 ; das EAX register um 1 Inkrementieren ( = 2 )
MOV EAX, 1 ; in das EAX Register die 1 schreiben
ADD EAX, dwAbnormal3 ;zu der 1 die sich in EAX befindet Ofs 3 adden
MOV EAX, 1; wieder die 1 ins eax register
ADD EAX, 1; wieder +1 = 2
MOV EAX, 1; wieder die 1 ins eax register
ADD EAX, dwServKick1;adde ofs serverkick zur 1
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, 1; 1+1 = 2
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, dwServKick3;ofs 3 adden
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, 1;wieder +1
MOV EAX, 1;wieder die 1 ins eax register


Grundlegende Fehler:
mit MOV EAX , Addy
MOV EAX , Value schreibst du nicht die value in die Speicheraddresse
sondern beides nacheinander in das Register!
du solltest anstattdessen je nach type ( in dem fall 4 Byte ( DWORD ))
mov eax , serverptr
add eax , ofs
mov dword ptr ds:[eax] , Value verwenden.
Zudem bewirken diese Offsets nur , dass die MessageBoxen nicht erscheinen .
Der Disconnect bzw die andere Detection routine wird dennoch ausgeführt

Desweiteren ist der " CRC Check " , welchen du verwendest nicht mit der Abnormal GamePlayeMessage in verbindung zu setzen , da dieser die WarRock Files ( meiner erinnerung nach ) auf veränderungen durchsucht .

MFG Cyno
Gebe dir zu 100% recht, da die CRC auf Veränderungen überprüft also sollte man lieber erst die CRC von der (WarRock.exe) Bypassen bzw. blocken wobei blocken nicht gehen sollte und danach erst den Rest machen.
Tipp zum bypassen vom CRC
2 NOP's (x90/x90)
CyberVeezy :) is offline  
Old 05/16/2012, 00:43   #7068
 
xThaHackx's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 5
Received Thanks: 1
Can someone make me a tutorial to make a no menu hack:(

Can someone give me a tutorial about a no menu hack the source code i need the functions 5th slot and no recoil and no spread and superjump
xThaHackx is offline  
Old 05/16/2012, 06:58   #7069


 
Cyno™'s Avatar
 
elite*gold: 158
Join Date: Sep 2011
Posts: 878
Received Thanks: 2,493
Quote:
Originally Posted by CyberVeezy :) View Post
Gebe dir zu 100% recht, da die CRC auf Veränderungen überprüft also sollte man lieber erst die CRC von der (WarRock.exe) Bypassen bzw. blocken wobei blocken nicht gehen sollte und danach erst den Rest machen.
Tipp zum bypassen vom CRC
2 NOP's (x90/x90)
Naja ich würde ehrlich gesagt an dem CRC Check garnichts machen vorallem nicht ohne asm bypass

Antispam:
Funktion Nop

void DoNothing2times()
{
_asm NOP
_asm NOP
}
Workt perfekt
Cyno™ is offline  
Old 05/16/2012, 12:21   #7070



 
+Yazzn's Avatar
 
elite*gold: 420
Join Date: Jan 2012
Posts: 1,082
Received Thanks: 1,000
Code:
View = *(D3DXMATRIX*)(*(DWORD*)0xA02314 + 0x31E38);
Projection = *(D3DXMATRIX*)(*(DWORD*)0xA02314 + 0x31E78);
+Yazzn is offline  
Thanks
1 User
Old 05/16/2012, 13:33   #7071
 
animus7's Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 219
Received Thanks: 103
Zero Delay

Code:
if(CH_Zero_Delay)
        {
            const BYTE zero_delay_on[3] = { 0x90, 0x90, 0x90 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Zero_Delay), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Zero_Delay), &zero_delay_on, 3);
                VirtualProtect((void*)(Address_Zero_Delay), 3, dwProtect, NULL);
            }
        }
        if(!CH_Zero_Delay)
        {
            const BYTE zero_delay_off[3] = { 0xF6, 0xC6, 0x04 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Zero_Delay), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Zero_Delay), &zero_delay_off, 3);
                VirtualProtect((void*)(Address_Zero_Delay), 3, dwProtect, NULL);
            }
        }
Invisible

Code:
if(CH_Invisible)
        {
            const BYTE invisible_on[2] = { 0x1C, 0x8B };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Invisible), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Invisible), &invisible_on, 2);
                VirtualProtect((void*)(Address_Invisible), 2, dwProtect, NULL);
            }
        }
        if(!CH_Invisible)
        {
            const BYTE invisible_off[2] = { 0x2C, 0x8B };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Invisible), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Invisible), &invisible_off, 2);
                VirtualProtect((void*)(Address_Invisible), 2, dwProtect, NULL);
            }
        }
if (CH_Invisi==1)
{
long t=273648428;
unsigned long Protection;
VirtualProtect((void*)INVIS, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)INVIS, &t , sizeof(t));
VirtualProtect((void*)INVIS, sizeof(t), Protection, 0);
}

if (!INVIS)
{
long t=471604252;
unsigned long Protection;
VirtualProtect((void*)INVIS, sizeof(t), PAGE_READWRITE, &Protection);
memcpy((void*)INVIS, &t , sizeof(t));
VirtualProtect((void*)INVIS, sizeof(t), Protection, 0);;
}
UnlAmmo

Code:
if(CH_Unlimited_Ammo) //-- Hack Patched - Work Granades and RPG --//
        {
            const BYTE unlimited_ammo_1_on[3] = { 0x90, 0x90, 0x90 };
            const BYTE unlimited_ammo_2_on[3] = { 0x90, 0x90, 0x90 };
            const BYTE unlimited_ammo_3_on[3] = { 0x90, 0x90, 0x90 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Unlimited_Ammo_1), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Unlimited_Ammo_1), &unlimited_ammo_1_on, 3);
                VirtualProtect((void*)(Address_Unlimited_Ammo_1), 3, dwProtect, NULL);

                VirtualProtect((void*)(Address_Unlimited_Ammo_2), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Unlimited_Ammo_2), &unlimited_ammo_2_on, 3);
                VirtualProtect((void*)(Address_Unlimited_Ammo_2), 3, dwProtect, NULL);

                VirtualProtect((void*)(Address_Unlimited_Ammo_3), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Unlimited_Ammo_3), &unlimited_ammo_3_on, 3);
                VirtualProtect((void*)(Address_Unlimited_Ammo_3), 3, dwProtect, NULL);
            }
        }
        if(!CH_Unlimited_Ammo)
        {
            const BYTE unlimited_ammo_1_off[3] = { 0x89, 0x7E, 0x24 };
            const BYTE unlimited_ammo_2_off[3] = { 0x89, 0x46, 0x20 };
            const BYTE unlimited_ammo_3_off[3] = { 0x89, 0x46, 0x24 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Unlimited_Ammo_1), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Unlimited_Ammo_1), &unlimited_ammo_1_off, 3);
                VirtualProtect((void*)(Address_Unlimited_Ammo_1), 3, dwProtect, NULL);

                VirtualProtect((void*)(Address_Unlimited_Ammo_2), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Unlimited_Ammo_2), &unlimited_ammo_2_off, 3);
                VirtualProtect((void*)(Address_Unlimited_Ammo_2), 3, dwProtect, NULL);

                VirtualProtect((void*)(Address_Unlimited_Ammo_3), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Unlimited_Ammo_3), &unlimited_ammo_3_off, 3);
                VirtualProtect((void*)(Address_Unlimited_Ammo_3), 3, dwProtect, NULL);
            }
        }
Radar GPS Enemy

Code:
 if(CH_Radar_GPS_Enemy)
        {
            const BYTE radar_gps_enemy_on[6] = { 0x0F, 0x84, 0xB1, 0x00, 0x00, 0x00 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Radar_GPS_Enemy), 6, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Radar_GPS_Enemy), &radar_gps_enemy_on, 6);
                VirtualProtect((void*)(Address_Radar_GPS_Enemy), 6, dwProtect, NULL);
            }
        }
        if(!CH_Radar_GPS_Enemy)
        {
            const BYTE radar_gps_enemy_off[6] = { 0x0F, 0x85, 0xB1, 0x00, 0x00, 0x00 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Radar_GPS_Enemy), 6, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Radar_GPS_Enemy), &radar_gps_enemy_off, 6);
                VirtualProtect((void*)(Address_Radar_GPS_Enemy), 6, dwProtect, NULL);
            }
        }
Map GPS

Code:
if(CH_Map_GPS)
        {
            const BYTE map_gps_on[2] = { 0x90, 0x90 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Map_GPS), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Map_GPS), &map_gps_on, 2);
                VirtualProtect((void*)(Address_Map_GPS), 2, dwProtect, NULL);
            }
        }
        if(!CH_Map_GPS)
        {
            const BYTE map_gps_off[2] = { 0x75, 0x1E };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Map_GPS), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Map_GPS), &map_gps_off, 2);
                VirtualProtect((void*)(Address_Map_GPS), 2, dwProtect, NULL);
            }
        }
Map FFA Gps

Code:
if(CH_Map_FFA_GPS)
        {
            const BYTE map_ffa_gps_on[2] = { 0x74, 0x12 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Map_FFA_GPS), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Map_FFA_GPS), &map_ffa_gps_on, 2);
                VirtualProtect((void*)(Address_Map_FFA_GPS), 2, dwProtect, NULL);
            }
        }
        if(!CH_Map_FFA_GPS)
        {
            const BYTE map_ffa_gps_off[2] = { 0x75, 0x12 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Map_FFA_GPS), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Map_FFA_GPS), &map_ffa_gps_off, 2);
                VirtualProtect((void*)(Address_Map_FFA_GPS), 2, dwProtect, NULL);
            }
        }
ESP Names

Code:
 if(CH_ESP_Names)
        {
            const BYTE esp_names_on[2] = { 0x76, 0x22 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_ESP_Names), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_ESP_Names), esp_names_on, 2);
                VirtualProtect((void*)(Address_ESP_Names), 2, dwProtect, NULL);
            }
        }
        if(!CH_ESP_Names)
        {
            const BYTE esp_names_off[2] = { 0x75, 0x22 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_ESP_Names), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_ESP_Names), &esp_names_off, 2);
                VirtualProtect((void*)(Address_ESP_Names), 2, dwProtect, NULL);
            }
        }
Headshot

Code:
{
            const BYTE headshot_off[2] = { 0x85, 0xC0 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Headshot), 2, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Headshot), &headshot_off, 2);
                VirtualProtect((void*)(Address_Headshot), 2, dwProtect, NULL);
            }
        }

Escalator

Code:
if(CH_Escalator)
        {
            if((GetAsyncKeyState(VK_LCONTROL)) && (GetAsyncKeyState(VK_SPACE)))
            {
                const BYTE escalator_on_1[3] = { 0x90, 0x90, 0x90 };
                const BYTE escalator_on_2[3] = { 0x90, 0x90, 0x90 };
                {
                    DWORD dwProtect;
                    
                    VirtualProtect((void*)(Address_Escalator_1), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                    memcpy((void*)(Address_Escalator_1), &escalator_on_1, 3);
                    VirtualProtect((void*)(Address_Escalator_1), 3, dwProtect, NULL);

                    VirtualProtect((void*)(Address_Escalator_2), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                    memcpy((void*)(Address_Escalator_2), &escalator_on_2, 3);
                    VirtualProtect((void*)(Address_Escalator_2), 3, dwProtect, NULL);
                }  
            }      
 if(!CH_Escalator)
        {
            const BYTE escalator_off_1[3] = { 0x89, 0x5D, 0x34 };
            const BYTE escalator_off_2[3] = { 0x89, 0x45, 0x34 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_Escalator_1), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Escalator_1), &escalator_off_1, 3);
                VirtualProtect((void*)(Address_Escalator_1), 3, dwProtect, NULL);

                VirtualProtect((void*)(Address_Escalator_2), 3, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_Escalator_2), &escalator_off_2, 3);
                VirtualProtect((void*)(Address_Escalator_2), 3, dwProtect, NULL);
            }
        }
SVP

Code:
if(CH_SVP)
        {
            const BYTE svp_on[4] = { 0x90, 0x90, 0x90, 0x90 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_SVP), 4, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_SVP), &svp_on, 4);
                VirtualProtect((void*)(Address_SVP), 4, dwProtect, NULL);
            }
        }
        if(!CH_SVP)
        {
            const BYTE svp_off[4] = { 0x8B, 0x54, 0x24, 0x04 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_SVP), 4, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_SVP), &svp_off, 4);
                VirtualProtect((void*)(Address_SVP), 4, dwProtect, NULL);
            }
        }
OPK
Code:
if(CH_OPK)
        {
            const BYTE opk_on_1[6] = { 0x89, 0xA1, 0x8C, 0x01, 0x00, 0x00 };
            const BYTE opk_on_2[6] = { 0x89, 0xA1, 0x90, 0x01, 0x00, 0x00 };
            const BYTE opk_on_3[6] = { 0x89, 0xA1, 0x94, 0x01, 0x00, 0x00 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_OPK_1), 6, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_OPK_1), &opk_on_1, 6);
                VirtualProtect((void*)(Address_OPK_1), 6, dwProtect, NULL);

                VirtualProtect((void*)(Address_OPK_2), 6, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_OPK_2), &opk_on_2, 6);
                VirtualProtect((void*)(Address_OPK_2), 6, dwProtect, NULL);

                VirtualProtect((void*)(Address_OPK_3), 6, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_OPK_3), &opk_on_3, 6);
                VirtualProtect((void*)(Address_OPK_3), 6, dwProtect, NULL);
            }
        }
        if(!CH_OPK)
        {
            const BYTE opk_off_1[6] = { 0x89, 0x91, 0x8C, 0x01, 0x00, 0x00 };
            const BYTE opk_off_2[6] = { 0x89, 0x81, 0x90, 0x01, 0x00, 0x00 };
            const BYTE opk_off_3[6] = { 0x89, 0x91, 0x94, 0x01, 0x00, 0x00 };
            {
                DWORD dwProtect;

                VirtualProtect((void*)(Address_OPK_1), 6, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_OPK_1), &opk_off_1, 6);
                VirtualProtect((void*)(Address_OPK_1), 6, dwProtect, NULL);

                VirtualProtect((void*)(Address_OPK_2), 6, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_OPK_2), &opk_off_2, 6);
                VirtualProtect((void*)(Address_OPK_2), 6, dwProtect, NULL);

                VirtualProtect((void*)(Address_OPK_3), 6, PAGE_EXECUTE_READWRITE, &dwProtect);
                memcpy((void*)(Address_OPK_3), &opk_off_3, 6);
                VirtualProtect((void*)(Address_OPK_3), 6, dwProtect, NULL);
            }
        }
animus7 is offline  
Thanks
2 Users
Old 05/16/2012, 15:29   #7072
 
elite*gold: 31
Join Date: Oct 2011
Posts: 2,276
Received Thanks: 2,029
Quote:
Originally Posted by Cyno™ View Post
Ich glaube du solltest dir erst einmal Grundlegende kenntnisse über inline asm verschaffen...
Ich bin selbst nicht so gut in inline asm doch das das hier nicht funktioniert sieht ein blinder mit krückstock.
Ich erlaube mir mal deinen Code zu kommentieren
MOV EAX, dwServer ; Serverpointer ab ins EAX Register
ADD EAX, dwAbnormal1 ; Offset adden , bis hierhin alles ok
MOV EAX, 1 ; in das EAX register die 1 schreiben
ADD EAX, 1 ; das EAX register um 1 Inkrementieren ( = 2 )
MOV EAX, 1 ; in das EAX Register die 1 schreiben
ADD EAX, dwAbnormal3 ;zu der 1 die sich in EAX befindet Ofs 3 adden
MOV EAX, 1; wieder die 1 ins eax register
ADD EAX, 1; wieder +1 = 2
MOV EAX, 1; wieder die 1 ins eax register
ADD EAX, dwServKick1;adde ofs serverkick zur 1
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, 1; 1+1 = 2
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, dwServKick3;ofs 3 adden
MOV EAX, 1;wieder die 1 ins eax register
ADD EAX, 1;wieder +1
MOV EAX, 1;wieder die 1 ins eax register


Grundlegende Fehler:
mit MOV EAX , Addy
MOV EAX , Value schreibst du nicht die value in die Speicheraddresse
sondern beides nacheinander in das Register!
du solltest anstattdessen je nach type ( in dem fall 4 Byte ( DWORD ))
mov eax , serverptr
add eax , ofs
mov dword ptr ds:[eax] , Value verwenden.
Zudem bewirken diese Offsets nur , dass die MessageBoxen nicht erscheinen .
Der Disconnect bzw die andere Detection routine wird dennoch ausgeführt

Desweiteren ist der " CRC Check " , welchen du verwendest nicht mit der Abnormal GamePlayeMessage in verbindung zu setzen , da dieser die WarRock Files ( meiner erinnerung nach ) auf veränderungen durchsucht .

MFG Cyno
Damit kommst du zu spät.. xD Fehler hab ich schon fixed^^
__BuRn3R is offline  
Old 05/16/2012, 15:46   #7073



 
+Yazzn's Avatar
 
elite*gold: 420
Join Date: Jan 2012
Posts: 1,082
Received Thanks: 1,000
Code:
	//SVP
	memcpy((void *)0x407F8E, (const void*)"\x90\x90\x90", 3);
	memcpy((void *)0x407F97, (const void*)"\x90\x90\x90", 3);

	//OPK
	memcpy((void *)0x407F8E, (const void*)"\x90\x90\x90", 3);
	memcpy((void *)0x407F97, (const void*)"\x90\x90\x90", 3);
	memcpy((void *)0x407FA3, (const void*)"\x90\x90", 2);
+Yazzn is offline  
Thanks
5 Users
Old 05/16/2012, 16:49   #7074
 
elite*gold: 0
Join Date: Mar 2012
Posts: 72
Received Thanks: 141
Quote:
Originally Posted by Yazzn (: View Post
Code:
	//SVP
	memcpy((void *)0x407F8E, (const void*)"\x90\x90\x90", 3);
	memcpy((void *)0x407F97, (const void*)"\x90\x90\x90", 3);

	//OPK
	memcpy((void *)0x407F8E, (const void*)"\x90\x90\x90", 3);
	memcpy((void *)0x407F97, (const void*)"\x90\x90\x90", 3);
	memcpy((void *)0x407FA3, (const void*)"\x90\x90", 2);
Off:
//SVP
x33\x51\x10//1
x33\x51\x08//2

//OPK
\x33\x51\x10//1
\x33\x51\x08//2
\x33\x11//3
BlackxLegend™ is offline  
Thanks
4 Users
Old 05/16/2012, 18:42   #7075
 
elite*gold: 0
Join Date: Nov 2011
Posts: 116
Received Thanks: 12
Eine möglichkeit eine Adresse zu patchen nach X minuten wieder zu restoren und dann wieder zu patchen? aka MemPatch aber halt mit Bytes?

z.B

cMemPatch <float> TestA (ADR_TEST,(PBYTE*)"\xC3,1));
kkBioX is offline  
Old 05/16/2012, 22:56   #7076
 
Raz9r's Avatar
 
elite*gold: 297
Join Date: Dec 2010
Posts: 1,129
Received Thanks: 1,687
Quote:
Originally Posted by kkBioX View Post
...
Nicht gerade schwer zu machen. Hier, mal eben aus dem Kopf getippt. Sollte soweit funktionieren.

Code:
template<typename _Ty>
class PatchBytes
{
private:
  _Ty *const address;
  unsigned char *old_bytes;
  unsigned char *new_bytes;
  unsigned long size;

public:
  PatchBytes(_Ty *const _address, const char *_bytes_sz) 
    : address(_address)
  {
    size = strlen(_bytes_sz);
    unsigned long len = size;

    old_bytes = new unsigned char[len];
    new_bytes = new unsigned char[len];

    while(len-- > 0)
    {
      old_bytes[len] = *reinterpret_cast<unsigned char *>(address);
      new_bytes[len] = _bytes_sz[len];
    }
  }

  PatchBytes()
  {
    delete[] old_bytes;
    delete[] new_bytes;
  }

  void save()
  {
    unsigned long len = size;

    while(len-- > 0)
      old_bytes[len] = *reinterpret_cast<unsigned char *>(address);
  }

  void restore()
  {
    unsigned long len = size;

    while(len-- > 0)
      *reinterpret_cast<unsigned char *>(address) = old_bytes[len];
  }

  void patch()
  {
    unsigned long len = size;

    while(len-- > 0)
      *reinterpret_cast<unsigned char *>(address) = new_bytes[len];
  }
};
e/ Usage:

PatchBytes<float> test(ADR_TEST, "\x31\x22");
// save old bytes (call restore first!)
test.save();
// restore old bytes
test.restore();
// set new bytes
test.patch();
Raz9r is offline  
Old 05/17/2012, 10:10   #7077
 
nicki240's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 89
Received Thanks: 4
Hey jemand idee ?

Quote:
Notice: Undefined index: act in C:\xampp\htdocs\vbulletin\guid\settings.php on line 4
So wird $act defininiert auch in den anderen php skripten...:
PHP Code:
$act $_GET['act']; 
So eigentlich np , aber aber die get variable act wird auch auf allen anderen Seiten nicht definiert ...

Sie wird aber bei jeder änderung benötig : z.B.

PHP Code:
if($act=="ChangeGUID" && ($changes $total)){
    
$newguid $_POST['GUID'];
    
$newguid2 $_POST['GUID2'];
    
$changesupdate $changes+1;
    if(!empty(
$_POST['GUID'])) {
        if(
strlen($newguid) != 32) {
            exit(
"GUID is too short");
            }
        
$a "wr vip";
        }
    if(!empty(
$_POST['GUID2'])) {
        if(
strlen($newguid2) != 32) {
            exit(
"GUID is too short");
            }
        
$b"public";    
        }
    if(
$changes==0){
        
$timestamp time();
        
$hourstime $timestamp + ($hours 60 60); //86400 = 24 hours
    
}
    if(isset(
$a)) {    
        
mysql_query("UPDATE GUIDTech SET GUID='$newguid', changes='$changesupdate', firstchangetime='$timestamp', hourstime='$hourstime' WHERE user='$username'");
        }
    if(isset(
$b)) {
        
mysql_query("UPDATE GUIDTech SET GUID2='$newguid2', changes='$changesupdate', firstchangetime='$timestamp', hourstime='$hourstime' WHERE user='$username'");
        }

    
//mysql_query("UPDATE GUIDTech SET GUID3='$newguid3' WHERE user='$username'");
    
header("Location: settings.php");
    }
else { 
$act ""; } 
oder :
PHP Code:
if($act==""){
if(
$changes == $total){ 
    
$x $hourstime time();
    if(
$x <= 0) {
        
$changes 0;
        }
    } 
oder aus der admin.php :

PHP Code:
if($act=="guid"){ //Lock Act
$name=$_GET['name'];
$result=mysql_query("SELECT * FROM GUIDTech WHERE user='$name'");
while(
$rows=mysql_fetch_array($result)){ // Start looping table row
$GUID=$rows['GUID'];
$GUID2=$rows['GUID2'];
$GUID3=$rows['GUID3'];
}
?> 
Kann mir jemand helfen wie act defininiert werden könnte ?

Wer mehr Infos brauch melden :P
nicki240 is offline  
Old 05/17/2012, 18:17   #7078


 
Cyno™'s Avatar
 
elite*gold: 158
Join Date: Sep 2011
Posts: 878
Received Thanks: 2,493
Quote:
Originally Posted by nicki240 View Post
Hey jemand idee ?



So wird $act defininiert auch in den anderen php skripten...:
PHP Code:
$act $_GET['act']; 
So eigentlich np , aber aber die get variable act wird auch auf allen anderen Seiten nicht definiert ...

Sie wird aber bei jeder änderung benötig : z.B.

PHP Code:
if($act=="ChangeGUID" && ($changes $total)){
    
$newguid $_POST['GUID'];
    
$newguid2 $_POST['GUID2'];
    
$changesupdate $changes+1;
    if(!empty(
$_POST['GUID'])) {
        if(
strlen($newguid) != 32) {
            exit(
"GUID is too short");
            }
        
$a "wr vip";
        }
    if(!empty(
$_POST['GUID2'])) {
        if(
strlen($newguid2) != 32) {
            exit(
"GUID is too short");
            }
        
$b"public";    
        }
    if(
$changes==0){
        
$timestamp time();
        
$hourstime $timestamp + ($hours 60 60); //86400 = 24 hours
    
}
    if(isset(
$a)) {    
        
mysql_query("UPDATE GUIDTech SET GUID='$newguid', changes='$changesupdate', firstchangetime='$timestamp', hourstime='$hourstime' WHERE user='$username'");
        }
    if(isset(
$b)) {
        
mysql_query("UPDATE GUIDTech SET GUID2='$newguid2', changes='$changesupdate', firstchangetime='$timestamp', hourstime='$hourstime' WHERE user='$username'");
        }

    
//mysql_query("UPDATE GUIDTech SET GUID3='$newguid3' WHERE user='$username'");
    
header("Location: settings.php");
    }
else { 
$act ""; } 
oder :
PHP Code:
if($act==""){
if(
$changes == $total){ 
    
$x $hourstime time();
    if(
$x <= 0) {
        
$changes 0;
        }
    } 
oder aus der admin.php :

PHP Code:
if($act=="guid"){ //Lock Act
$name=$_GET['name'];
$result=mysql_query("SELECT * FROM GUIDTech WHERE user='$name'");
while(
$rows=mysql_fetch_array($result)){ // Start looping table row
$GUID=$rows['GUID'];
$GUID2=$rows['GUID2'];
$GUID3=$rows['GUID3'];
}
?> 
Kann mir jemand helfen wie act defininiert werden könnte ?

Wer mehr Infos brauch melden :P
DU solltest vllt nicht in der WarRock Section nach hilfe für eine PHP source fragen . nur so als nettgemeinter tip
Cyno™ is offline  
Old 05/17/2012, 18:38   #7079
 
nicki240's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 89
Received Thanks: 4
Quote:
Originally Posted by Cyno™ View Post
DU solltest vllt nicht in der WarRock Section nach hilfe für eine PHP source fragen . nur so als nettgemeinter tip
Ich weiß nur leider nicht wohin sonst ...

Weil das guidtech ist ja für warrock :P
nicki240 is offline  
Old 05/17/2012, 19:24   #7080

 
xxfabbelxx's Avatar
 
elite*gold: 900
Join Date: Apr 2009
Posts: 14,981
Received Thanks: 11,403
Quote:
Originally Posted by nicki240 View Post
Ich weiß nur leider nicht wohin sonst ...

Weil das guidtech ist ja für warrock :P


lg
xxfabbelxx is offline  
Thanks
1 User
Closed Thread


Similar Threads Similar Threads
WTB Flyff Source code snippets
04/01/2012 - Flyff Trading - 0 Replies
Hellow I posted this because I wanted to buy a fix scroll of unbinding.Which removes soul-link of an item.If you have its code snippets PM me.Don't sell me a code which is release because all of them are not working.I wanted to buy a fix one and a non-buggy code Payment:via Paypal
[Autoit] Youtube Code Snippets
07/29/2011 - AutoIt - 5 Replies
Tag Zusammen. Wie wohl die meisten von euch mitbekommen haben, bieten derzeit sehr viele User hier sogenannte Youtube Services an, bei denen man Abos, Likes, Dislikes etc. kaufen kann. Doch wer wirklich Erfolg haben will, braucht natürlich viele Abonnenten und Likes, was per Hand Tage dauern würde. Deshalb werden hier in letzter Zeit immer mehr Youtube Bots verkauft. Was, wie ich finde, ein ziemliche Abzocke ist, da das meist nur sehr schlechte Bots sind, die lediglich den Internet...
Some Code-Snippets[PSERVER]
07/15/2011 - Kal Hacks, Bots, Cheats & Exploits - 17 Replies
This is the code of the hack which Fremo released.. I got new methods so I dont need this anymore & maybe it'll help some people... G31 Adult Skill if(comboBox4->Text=="Panther'crit'") { KC->Chat(255," Panther Skill ON"); KC->Threads=1; KC->lasttime = timeGetTime()-15000; } else if(comboBox4->Text=="Tiger'otp'")
[Release] Code Snippets Manager
01/21/2011 - Coding Releases - 0 Replies
Code Snippets Manager http://upit.cc/images/1d47d78e.jpg Hab mich heute mal rangesetzt, und einen kleinen Manager für Code-Snippets(Code-Fetzen) gecodet, da ich alles sortiert in einer Anwendung wollte. Da es sicherlich jemand nützlich finden wird, lad ich es hier mal hoch.



All times are GMT +1. The time now is 06:40.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.