OPK sourec error...; Please

Posts 1–15 of 19 · Page 1 of 2
OPK sourec error...; Please
struct CPlayer
{
char Unknown1[66308]; //0x0
float X; //0x10304
char Unknown2[4]; //0x10308
float Y; //0x1030C
char Unknown3[4]; //0x10310
float Z; //0x10314
};

struct CBase
{
CPlayer* local; //0x0000
char unknown4[72]; //0x0004
CPlayer** player; //0x004C
char unknown80[48]; //0x0050

struct CLocal
{
char unknown0[32]; //0x0000
vectorA pos; //0x0020
char unknown44[36]; //0x002C
float pitch; //0x0050
float yaw; //0x0054
char unknown88[16]; //0x0058
float down; //0x0068
float up; //0x006C
float fovx; //0x0070
float fovy; //0x0074
};//Size=0x0078(120)

///////////////////////////////////////////////
Has been changed by the patch.
Offset z, x, y, is not a problem.
CBase CLocal Two seems wrong.
The hex value and the index value is invalid.
I would like to know how to find the hex value and the index value
I find with cheat engine?
Or did you look up the debugger?
Could you please tell me how to find?
Note that the game WarRock Korea.
Post your entire code...
Code:
//struct

struct vectorA
{
	float x,z,y;
};//0x00C

DWORD playerptr = 0x00E65DB8;


struct CPlayer
{
	char Unknown1[66308]; //0x0
		float X; //0x10304
	char Unknown2[4]; //0x10308
		float Y; //0x1030C
	char Unknown3[4]; //0x10310
		float Z; //0x10314
};


struct CBase
{
	CPlayer* local; //0x0000  
	char unknown4[72]; //0x0004
	CPlayer** player; //0x004C  
	char unknown80[48]; //0x0050
};//Size=0x0080(128)


struct CPlayerInfo
{      
	char unknown0[1724]; //0x0000
	__int32 ping; //0x06BC  
	char unknown1728[20]; //0x06C0
	char ip[16]; //0x06D4  
	char unknown1764[136]; //0x06E4
	__int32 exp; //0x076C  
	char unknown1904[596]; //0x0770
	char name[20]; //0x09C4  
	char unknown2520[4500]; //0x09D8
	__int32 points; //0x1B6C  
	char unknown7024[16]; //0x1B70
	__int32 kills; //0x1B80  
	__int32 deaths; //0x1B84  
	char unknown7048[12]; //0x1B88
	__int32 health; //0x1B94  
	char unknown7064[320]; //0x1B98
	BYTE team; //0x1CD8
};
//1CFC
struct CLocal
{
	char unknown0[32]; //0x0000
	vectorA pos; //0x0020
	char unknown44[36]; //0x002C
	float pitch; //0x0050
	float yaw; //0x0054
	char unknown88[16]; //0x0058
	float down; //0x0068
	float up; //0x006C
	float fovx; //0x0070
	float fovy; //0x0074
};//Size=0x0078(120)


CBase *g_pBase = (CBase*)playerptr;




//main

#include <windows.h>
#include <stdio.h>
#include "Struct.h"

int opk = 0;

float xyz[3];

DWORD WINAPI main()
{
	while(1)
	{
		if(playerptr != 0)
		{
			if(GetAsyncKeyState(VK_HOME)& 0x8000)//start
			{
				opk = 1;
			}
			if(GetAsyncKeyState(VK_END)& 0x8000)//end
			{
				opk = 0;
			}

			if(GetAsyncKeyState(VK_INSERT)& 0x8000)//save
			{
				DWORD pptr = *(DWORD*)playerptr;
				if(pptr != 0)
				{
					xyz[0] = *(float*)(pptr + 0x10304);
					xyz[1] = *(float*)(pptr + 0x1030C);
					xyz[2] = *(float*)(pptr + 0x10314);
				}
			}

			if(opk == 1)
			{
				for(int i = 0; i <32; i++)
				{
					CPlayer* pPlayer = g_pBase->player[i];
					if(pPlayer)
					{
						CPlayer* pPlayerA = g_pBase->player[i];
						pPlayerA->X = xyz[0];
						pPlayerA->Y = xyz[1];
						pPlayerA->Z = xyz[2];
					}
				}
			}
		}
	}
	return 0;
}

BOOL APIENTRY DllMain( HMODULE hModule,
					  DWORD  ul_reason_for_call,
					  LPVOID lpReserved
					  )
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)&main, NULL, NULL, NULL);
	}
	return TRUE;
}
What you need for OPK is X Y Z in struct, your cPlayer. And a remotepointer to make your cBase working.
The hex values are there to make your struct working. I can show you how to do that.
If you post the remote and playerpointer I can help you make OPK
post the latest dump here, I can give you the updated addys.

code: to get the cbase

ADR_RemotePointer1 - PlayerPointer = Cbase
Quote Originally Posted by pusongbato View Post
post the latest dump here, I can give you the updated addys.

code: to get the cbase

ADR_RemotePointer1 - PlayerPointer = Cbase
Nope, remotePointer - playerPointer - 4 = your global pointer, what you can use to make your CBase..
Quote Originally Posted by znoen View Post
Nope, remotePointer - playerPointer - 4 = your global pointer, what you can use to make your CBase..

Don't Worry, Be Happy!

EDRockets
nyahaha, lol, I have another way and I discovered it, without -4

Code:

RemotePointer1 - PlayerPointer = Cbase, all you need to got is the RemotePointer1 not the RemotePointer2.
Quote Originally Posted by pusongbato View Post
nyahaha, lol, I have another way and I discovered it, without -4

Code:

RemotePointer1 - PlayerPointer = Cbase, all you need to got is the RemotePointer1 not the RemotePointer2.
As far as i know, there is no remote pointer 2. Hummmmmmmm!
Code:
class CBase
{
    public:
        /*0xAE9440*/ cPlayer* Local;
        /*0xAE9444*/ char unknown0[0x1374C0];
        /*0xC20904*/ cPlayer** player;
};
How do I find remotepointer?
Quote Originally Posted by loo4crn View Post
How do I find remotepointer?
___:004B9151 mov eax, [ebp-38h]
___:004B9154 push dword ptr [eax+4]
___:004B9157 mov esi, offset aParachute_1stm ; "PARACHUTE_1stModel.phy" <---Search
___:004B915C call sub_4B753B
___:004B9161 pop ecx
___:004B9162 mov eax, offset loc_4B9132
___:004B9167 retn
___:004B9168
___:004B9168 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
___:004B9168
___:004B9168
___:004B9168 sub_4B9168 proc near ; CODE XREF: sub_4B71E8+5Ep
___:004B9168 push ecx
___:004B9169 push esi
___:004B916A mov esi, eax
___:004B916C cmp byte ptr [esi+3Ch], 0
___:004B9170 mov eax, [esi+18h]
___:004B9173 push edi
___:004B9174 mov dword_AE730C, eax
___:004B9179 jz short loc_4B91A7
___:004B917B mov eax, dword_C20908
___:004B9180 sub eax, dword_C20904 <---RemotePointer 0xC20904
no....................
Problem solved.
Posts 1–15 of 19 · Page 1 of 2

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us