War Rock Cheat Programming Discussion

01/07/2015 23:31 toxiicdev#946
#define ADR_IAT_SEND 0x8BE96C
#define ADR_IAT_RECV 0x8BE95C
#define ADR_IAT_CONNECT 0x8BE958

Thanks to disav0w
01/08/2015 13:17 Zn1337#947
Not much changed
HTML Code:
//[][===============================================][]
//[]                   ZNOEN LOGGER                  []
//[]              17-12-2014  |  10:00:48            []
//[]                 STATUS: Private                 []
//[][===============================================][]
//[][==================[Pointers]===================][]
#define ADR_PlayerPointer		0xAE5820
#define ADR_ServerPointer		0xAE47C4
#define ADR_ViewAngles			0xAE36F4
#define ADR_DevicePointer		0x903BF4
#define ADR_UserPointer			0xAE47C4
#define ADR_HealthPointer		0x31FB8
#define ADR_RemotePointer		0xC1CCDC
#define ADR_BasePointer			0xB36DF0
#define ADR_WeaponPointer1		0xC10C20
#define ADR_WeaponPointer2		0xB038E0
//[][===============================================][]
//[][===================[Address]===================][]
#define ADR_NoRecoil1			0xC444
#define ADR_NoRecoil2			0xC448
#define ADR_NoRecoil3			0xC44C
#define ADR_NoSpread1			0xAE9F7C
#define ADR_NoSpread2			0xAE9F80
#define ADR_FastAmmo			0xAE9EE0
#define ADR_FastRepair			0xAE9EE4
#define ADR_FastHealth			0xAE9EE8
#define ADR_FastFlag			0xAE9EEC
#define ADR_NoBounds1			0xC2D990
#define ADR_NoBounds2			0xC2D994
#define ADR_NoBounds3			0xC2D998
#define ADR_IGNName			0xB37434
#define ADR_QuickSpawn1			0xC38024
#define ADR_QuickSpawn2			0xC38028
#define ADR_QuickSpawn3			0xC3802C
#define ADR_FogColor1			0xAE5D30
#define ADR_FogColor2			0xAE5D2C
#define ADR_FogColor3			0xAE5D28
#define ADR_GlassWalls			0xAE37FC
#define ADR_NoWater1			0xAEC6EC
#define ADR_NoWater2			0xAEC6F0
#define ADR_Scope			0xAE3734
//[][===============================================][]
//[][===================[Offsets]===================][]
#define OFS_Gravity_X			0xC4B4
#define OFS_Gravity_Y			0xC4BC
#define OFS_Gravity_Z			0xC4B8
#define OFS_X				0x10304
#define OFS_Z				0x1030C
#define OFS_Y				0x10314
#define OFS_Weapon1			0x101F0
#define OFS_Weapon2			0x101F2
#define OFS_Weapon3			0x101F4
#define OFS_Slot5			0x3415C
#define OFS_Slot6			0x3415D
#define OFS_Slot7			0x3415E
#define OFS_Slot8			0x3415F
#define OFS_LocalIndex			0xC498
#define OFS_NoFallDamage		0x102EC
#define OFS_FastNade			0x10118
#define OFS_NoM134Idle			0x103FC
#define OFS_Premium			0x3C8
#define OFS_3DPlayerView		0x101A4
#define OFS_NoReload			0x10411
#define OFS_NoDelay			0x10414
#define OFS_Invisible			0x40794
#define OFS_Level			0x40750
#define OFS_Dinar			0x40760
#define OFS_RoomMaster			0x31564
#define OFS_SuperMaster			0x316A8
//[][===============================================][]
//[][===================[Memory]====================][]
#define ADR_BoneShot			0x907BA8
#define ADR_WUW				0xAEC6F4
#define ADR_QuickPlantDefuse		0xAE3718
#define ADR_UnlimAmmo			0xAE3C7C
#define ADR_SuperNoSpread		0x906BC8
#define ADR_Speed			0x906BC0
#define ADR_SpeedRoll			0x906D88
#define ADR_Ladder			0x906F18
#define ADR_StaminaStart		0x8CF258
#define ADR_FarFog			0xAEC70C
#define ADR_NearFog			0xAEC704
#define ADR_NoEndBanner			0x8D5320
#define ADR_STW				0x8C7AB4
#define ADR_WTW				0x8CE6F8
#define ADR_StaminaRoll			0x8CF264
01/12/2015 16:27 Waller66#948
Ich bin immer noch auf der Suche nach zusammenhängendem Zombie Opk/telekill mit structs (als beispiel geber für das allgemeine verständniss) (gemeint ist damit kein asm opk)

mein code workt nicht und egal wie ich die da hin und her bastle es geht nicht :

ich check noch nichtmal mehr wofür die genau verwendet werden. bzw welche art von adressen die structs brauchen um zu funktionieren und wie er die halt ausliest, bzw ansteuert. Wäre nett wenn mir da jemand helfen könnte.
01/12/2015 22:09 toxiicdev#949
Quote:
Originally Posted by Waller66 View Post
Ich bin immer noch auf der Suche nach zusammenhängendem Zombie Opk/telekill mit structs (als beispiel geber für das allgemeine verständniss) (gemeint ist damit kein asm opk)

mein code workt nicht und egal wie ich die da hin und her bastle es geht nicht :

ich check noch nichtmal mehr wofür die genau verwendet werden. bzw welche art von adressen die structs brauchen um zu funktionieren und wie er die halt ausliest, bzw ansteuert. Wäre nett wenn mir da jemand helfen könnte.
It should be for(int i = 4; i < 32; i++)

0 - 3 are roomslots of the AI Players.
01/12/2015 22:59 Cyno™#950
Quote:
Originally Posted by Waller66 View Post
ich check noch nichtmal mehr wofür die genau verwendet werden. bzw welche art von adressen die structs brauchen um zu funktionieren und wie er die halt ausliest, bzw ansteuert. Wäre nett wenn mir da jemand helfen könnte.
Mit den "structs" bildet man die Datenstruktur einer Klasse von WarRock nach.
Dann lässt man einen Pointer dieser Klasse auf die Speicheraddresse in Warrock zeigen, an der sich diese befinden, und kann somit ziemlich sauber auf das ganze zugreifen.
01/13/2015 19:09 AmazingTurtle#951
Quote:
Originally Posted by Cyno™ View Post
Mit den "structs" bildet man die Datenstruktur einer Klasse von WarRock nach.
Dann lässt man einen Pointer dieser Klasse auf die Speicheraddresse in Warrock zeigen, an der sich diese befinden, und kann somit ziemlich sauber auf das ganze zugreifen.
Structs bieten einfach einen ordentlichen Zugriff auf speicherlayouts.

Memory access simplified:[Only registered and activated users can see links. Click Here To Register...]
01/13/2015 22:16 +Yazzn#952
"ACCESS IT LIKE"
Code:
std::array<player *, 32> *&players = *reinterpret_cast<std::array<player *, 32> **>(0xDEADBEEF);
01/14/2015 09:52 Zn1337#953
HTML Code:
//[][===============================================][]
//[]                   ZNOEN LOGGER                  []
//[]              14-01-2015  |  09:09:01            []
//[]                 STATUS: Private                 []
//[][===============================================][]
//[][==================[Pointers]===================][]
#define ADR_PlayerPointer		0xAE57E0
#define ADR_ServerPointer		0xAE4784
#define ADR_ViewAngles			0xAE36B4
#define ADR_DevicePointer		0xAE36B8
#define ADR_UserPointer			0xAE4784
#define ADR_HealthPointer		0x31FB8
#define ADR_RemotePointer		0xC1CC9C
#define ADR_BasePointer			0xB36DB0
#define ADR_WeaponPointer1		0xC10BE0
#define ADR_WeaponPointer2		0xB038A0
//[][===============================================][]
//[][===================[Address]===================][]
#define ADR_NoRecoil1			0xC444
#define ADR_NoRecoil2			0xC448
#define ADR_NoRecoil3			0xC44C
#define ADR_NoSpread1			0xAE9F3C
#define ADR_NoSpread2			0xAE9F40
#define ADR_FastAmmo			0xAE9EA0
#define ADR_FastRepair			0xAE9EA4
#define ADR_FastHealth			0xAE9EA8
#define ADR_FastFlag			0xAE9EAC
#define ADR_NoBounds1			0xC2D950
#define ADR_NoBounds2			0xC2D954
#define ADR_NoBounds3			0xC2D958
#define ADR_IGNName			0xB373F4
#define ADR_GMWarning			0xB31994
#define ADR_FarFog			0xAE37BC
#define ADR_NearFog			0xAEC6C4
#define ADR_QuickSpawn1			0xC37FE4
#define ADR_QuickSpawn2			0xC37FE8
#define ADR_QuickSpawn3			0xC37FEC
#define ADR_FogColor1			0xAE5CF0
#define ADR_FogColor2			0xAE5CEC
#define ADR_FogColor3			0xAE5CE8
#define ADR_GlassWalls			0xAE37BC
#define ADR_NoWater1			0xAEC6AC
#define ADR_NoWater2			0xAEC6B0
//[][===============================================][]
//[][===================[Offsets]===================][]
#define OFS_Gravity_X			0xC4B4
#define OFS_Gravity_Y			0xC4BC
#define OFS_Gravity_Z			0xC4B8
#define OFS_X				0x10304
#define OFS_Z				0x1030C
#define OFS_Y				0x10314
#define OFS_Weapon1			0x101F0
#define OFS_Weapon2			0x101F2
#define OFS_Weapon3			0x101F4
#define OFS_Slot5			0x3415C
#define OFS_Slot6			0x3415D
#define OFS_Slot7			0x3415E
#define OFS_Slot8			0x3415F
#define OFS_LocalIndex			0xC498
#define OFS_NoFallDamage		0x102EC
#define OFS_FastNade			0x10118
#define OFS_NoM134Idle			0x103FC
#define OFS_Premium			0x3C8
#define OFS_3DPlayerView		0x101A4
#define OFS_NoReload			0x10411
#define OFS_NoDelay			0x10414
#define OFS_Invisible			0x40794
#define OFS_Level			0x40750
#define OFS_Dinar			0x40760
#define OFS_RoomMaster			0x31564
#define OFS_SuperMaster			0x316A8
//[][===============================================][]
//[][===================[Memory]====================][]
#define ADR_BoneShot			0x907AD8
#define ADR_WUW				0xAEC6B4
#define ADR_WTH				0x8C559C
#define ADR_QuickPlantDefuse		0xAE36D8
#define ADR_PlantAnyWhere		0xAE36CF
#define ADR_SuperNoSpread		0x906AF8
#define ADR_Speed			0x906AF0
#define ADR_SpeedRoll			0x906CB8	
#define ADR_StaminaStart		0x8CF258
#define ADR_StaminaRoll			0x8CF264
#define ADR_WeaponGravity		0x906AB0
#define ADR_STW				0x8C7AB4
#define ADR_WTW				0xAE36D8
//[][===============================================][]
//[][===================[Credits]===================][]
//[]                     AeroMan                     [] 
//[]                     Systomar                    []
//[]                     n4n033                      []
//[][===============================================][]
01/14/2015 14:24 toxiicdev#954
Quote:
Originally Posted by Peter File View Post
"ACCESS IT LIKE"
Code:
std::array<player *, 32> *&players = *reinterpret_cast<std::array<player *, 32> **>(0xDEADBEEF);
I'm sure that if you change reinterpret_cast will not work!

Some addresses

Code:
--------------------------------[ToXiiC]-------------------------------
Logging started at: 14/1/2015 - 15:27:49
-----------------------------------------------------------------------
/* Pointers */

#define ADR_PlayerPointer 0xAE57E0
#define ADR_ServerPointer 0xAE4784
#define ADR_RemotePointer 0xC1CC9C
#define ADR_AnglesPointer 0xAE36B4
#define ADR_DevicePointer 0xAE36B8

/* Addresses */

#define ADR_QuickSpawn1 0xC37FE4
#define ADR_QuickSpawn2 0xC37FE8
#define ADR_QuickSpawn3 0xC37FEC
#define ADR_NoBounds1 0xC2D950
#define ADR_NoBounds2 0xC2D954
#define ADR_NoBounds3 0xC2D962
#define ADR_AntiAFKKick 0xC2D950
#define ADR_Speed 0x906E88

/* Offsets */

#define OFS_DevicePointer 0x2B930
#define OFS_NoRecoil1 0xC444
#define OFS_NoRecoil2 0xC448
#define OFS_NoRecoil3 0xC450
#define OFS_SLOT5 0x3415C
#define OFS_SLOT6 0x3415D
#define OFS_SLOT7 0x3415E
#define OFS_SLOT8 0x3415F
#define OFS_X 0x10304
#define OFS_Y 0x10314
#define OFS_Z 0x1030C
#define OFS_GRAVITY_X 0xC4B0
#define OFS_GRAVITY_Y 0xC4AC
#define OFS_GRAVITY_Z 0xC4B4
#define OFS_NFD 0x102EC

/* Generic */

#define ADR_MessageBox 0x525153
#define ADR_EngineText 0x522B58
#define ADR_GMMode /* PRIVATE */
#define ADR_CRCCheck 0x62DF50
#define ADR_CRCMemoryCheck /* PRIVATE */
#define ADR_WebAuthentication 0x4E9AB2
#define ADR_HSStartup 0x45C67A

/* HackShield */

#define ADR_HS_VMT_DEVICE /* PRIVATE */
#define ADR_HS_VMT_DEVICE_GORDON /* PRIVATE */

/* IAT Hook */

#define ADR_IAT_SEND 0x8BE96C
#define ADR_IAT_RECV 0x8BE95C
#define ADR_IAT_CONNECT 0x8BE958
01/15/2015 18:04 AmazingTurtle#955
Code:
#define ASM_AUTHBYPASS 0x004E9AB2
#define ASM_HSFIX1 0x00000000 // dunno..
#define ASM_HSFIX2 0x00529590
#define ASM_HSFIX3 0x004F8400

#define WR_CHAT 0x00522B58
#define WR_MESSAGEBOX 0x005251E1
#define T_MESSAGEBOXCALL 0x0041B510
#define WR_ENGINE_BUF 0x008C5CBA
#define WR_ENGINE_PTR 0x00AE59FC
Code:
DWORD dwChat = WR_CHAT;
DWORD dwMessageBox = WR_MESSAGEBOX;

void extdll::WarRock::MessageBox(char* message)
{
	__asm
	{
		PUSH EAX;
		MOV EAX, message;

		PUSH WR_ENGINE_BUF;
		PUSH 0h;
		PUSH 0h;
		PUSH EAX;
		PUSH DWORD PTR DS:[WR_ENGINE_PTR]; // instance of something?
		CALL dwMessageBox; // interface call?

		POP EAX;
	}
}

void extdll::WarRock::Chat(char* message, BYTE red, BYTE green, BYTE blue)
{
	__asm
	{

		push eax;
		push ecx;

		push 0;
		push 0;
		push green;
		push red;
		mov eax, message;
		mov ecx, eax;
		push blue;
		pop edi;
		call dwChat;

		pop ecx;
		pop eax;

	}
}
01/15/2015 21:17 toxiicdev#956
Quote:
Originally Posted by AmazingTurtle View Post
Code:
#define ASM_AUTHBYPASS 0x004E9AB2
#define ASM_HSFIX1 0x00000000 // dunno..
#define ASM_HSFIX2 0x00529590
#define ASM_HSFIX3 0x004F8400

#define WR_CHAT 0x00522B58
#define WR_MESSAGEBOX 0x005251E1
#define T_MESSAGEBOXCALL 0x0041B510
#define WR_ENGINE_BUF 0x008C5CBA
#define WR_ENGINE_PTR 0x00AE59FC
Code:
DWORD dwChat = WR_CHAT;
DWORD dwMessageBox = WR_MESSAGEBOX;

void extdll::WarRock::MessageBox(char* message)
{
	__asm
	{
		PUSH EAX;
		MOV EAX, message;

		PUSH WR_ENGINE_BUF;
		PUSH 0h;
		PUSH 0h;
		PUSH EAX;
		PUSH DWORD PTR DS:[WR_ENGINE_PTR]; // instance of something?
		CALL dwMessageBox; // interface call?

		POP EAX;
	}
}

void extdll::WarRock::Chat(char* message, BYTE red, BYTE green, BYTE blue)
{
	__asm
	{

		push eax;
		push ecx;

		push 0;
		push 0;
		push green;
		push red;
		mov eax, message;
		mov ecx, eax;
		push blue;
		pop edi;
		call dwChat;

		pop ecx;
		pop eax;

	}
}
You just need a address to avoid HS Crash
01/17/2015 16:40 Wanetrain#957
Quote:
void __stdcall extdll::WarRock::MessageBox(char* message)
{
__asm
{
PUSH EAX;
MOV EAX, message;

PUSH WR_ENGINE_BUF;
PUSH 0h;
PUSH 0h;
PUSH EAX;
PUSH DWORD PTR DS : [WR_ENGINE_PTR]; //=> Pointer to global class e.g.
CALL dwMessageBox; //=> MSG Box function WarRock..
}
}
__stdcall so no POP need.

What are you Push at the begin? o.O
01/18/2015 16:31 MRx86™#958
Quote:
Originally Posted by Wanetrain View Post
__stdcall so no POP need.

What are you Push at the begin? o.O

Anyway using stdcall in some case would be a nice idea. But not i this case :)
01/18/2015 17:00 +Yazzn#959
How does the calling convention of the caller matter when it comes to cleaning up the callee's stack? Changing extdll::WarRock::MessageBox to __stdcall doesn't make any sense imo.
01/18/2015 21:08 AmazingTurtle#960
Quote:
Originally Posted by Peter File View Post
How does the calling convention of the caller matter when it comes to cleaning up the callee's stack? Changing extdll::WarRock::MessageBox to __stdcall doesn't make any sense imo.
I don't understand. Can you explain that?