Posted: . At: 6:18 PM. This was 6 months ago. Post ID: 18656
Page permalink. WordPress uses cookies, or tiny pieces of information stored on your computer, to verify who you are. There are cookies for logged in users and for commenters.
These cookies expire two weeks after they are set.


Arma Reforger information about possible cheats.


Arma Reforger has possible cheats in the game. The player’s position is stored locally, so it could be possible to teleport around easily if you know the coordinates.

__int64 __fastcall BoneIndexThingy(__int64 a1, int a2)
    {
    	unsigned int v2 = mem.read<DWORD>(a1 + 0xf8);
    	if (!v2)
    	{
    		return 0xFFFFFFFFi64;
    	}
    	uintptr_t thingy = mem.read<uintptr_t>(a1 + 0xd8);
    	for (int i = 0; i < v2; i++)
    	{
    		if (mem.read<DWORD>(thingy + ((0x18 * i) + 0x10)) == a2)
    		{
    			return i;
    		}
    	}
    	return -1;
    }
     
    int GetBoneID(char* str)
    {
    	int i = -1;
    	auto v10 = *str;
    	for (i = 5381; *str; v10 = *str)
    	{
    		++str;
    		i = (v10 | 0x20) + 33 * i;
    	}
    	return i;
    }
     
    class ChimeraCharacter
    {
    public:
     
    	void GetBonePosition(Vector3& output, const char* name)
    	{
    		auto MeshObjectCompenent = mem.read<uintptr_t>(THIS + 0x50);
    		if (MeshObjectCompenent)
    		{
    			uintptr_t hmmm = mem.read<uintptr_t>(MeshObjectCompenent + 0x10);
    			uintptr_t v9 = mem.read<uintptr_t>(hmmm + 0x30);
    			int finalindex = BoneIndexThingy(v9, GetBoneID((char*)name));
    			auto v11 = mem.read<uintptr_t>(MeshObjectCompenent + 0x40) + 0x30i64 * finalindex;
     
    			auto newpos = mem.read<Vector3>(v11 + 0x24); // 36
     
    			output = CordToParent(newpos);
    		}
    	}
    	Vector3 CordToParent(Vector3 pos)
    	{
    		auto v5 = THIS;
    		auto v10 = pos.Z * mem.read<float>(v5 + 136);
    		auto v11 = (float)(pos.Y * mem.read<float>(v5 + 124)) + (float)(pos.X * mem.read<float>(v5 + 112));
    		auto v12 = (float)((float)(pos.Y * mem.read<float>(v5 + 120)) + (float)(pos.X * mem.read<float>(v5 + 108)))
    			+ (float)(pos.Z * mem.read<float>(v5 + 132));
    		auto X = (float)((float)((float)(pos.Y * mem.read<float>(v5 + 116))
    			+ (float)(pos.X * mem.read<float>(v5 + 104)))
    			+ (float)(pos.Z * mem.read<float>(v5 + 128)))
    			+ mem.read<float>(v5 + 140);
    		auto Y = v12 + mem.read<float>(v5 + 144);
    		auto Z = (float)(v11 + v10) + mem.read<float>(v5 + 148);
    		return Vector3(X, Y, Z);
    	}
    };
    Vector3 HeadBone;
    Character->GetBonePosition(HeadBone, "Head");

Has this ever been used? The game is very buggy, so a player teleporting and killing others would hardly be noticed anyway.

This is open to exploitation.

You may access the player camera as well with certain addresses.

A way to access camera from ChimeraGame:
ChimeraGame+ 0x308] + 0x10 ] + 0x138] + 0x10 -> PlayerCamera

Could this be used to spy on players on another team and see what they are building/doing?


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.