How to silent aimbot for real
At thread https://www.mpgh.net/forum/showthread.php?t=1583432 the op uploaded list of things the cheat writing to memory (aimbot, speed, teleport,...) and also contain old version binary.
I found out that the cheat create a JMP at 0x2ce333, 0x2ce369 and 0x2ce39f, camera pos at 0xb93cb5, 0xb93cc1 and 0xb93ccf
I opened the old version in disassembler and jump into that memory address and assembly code in there address:

edx+0DC is actually a forward pos from our camera pos to looking pos but reversed, also those xmm0 registers are wrote to xmm7, xmm2 and xmm3
The forward pos when I look down, where Y is positive:

So you need to create a forward vector from your camera pos to desirable pos
Here is the math I am using:
What you can do is change there xmm registers to your own pos (I changed those xmm7, xmm2 and xmm3)
Or change the pos at edx+0DC (I haven't tried this one yet but those memory are also used for function that render chunks so I think you need to change it back to old value)

Here is the sig to that function that create the raycast (only used for projectile): 55 8B EC 83 E4 ? 83 EC ? F3 0F ? ? ? F3 0F ? ? ? ? ? ? 8B 55
You can find it in cheat engine, scroll down a little bit and you will see the assembly code I mentioned
Video of silent aimbot I made (the entity list in here is bad so some entities are not being spotted)
I found out that the cheat create a JMP at 0x2ce333, 0x2ce369 and 0x2ce39f, camera pos at 0xb93cb5, 0xb93cc1 and 0xb93ccf
I opened the old version in disassembler and jump into that memory address and assembly code in there address:
- movss xmm0, dword ptr [edx+0DCh] (0x2ce333)
- movss xmm0, dword ptr [edx+0E0h] (0x2ce369)
- movss xmm0, dword ptr [edx+0E4h] (0x2ce39f)

edx+0DC is actually a forward pos from our camera pos to looking pos but reversed, also those xmm0 registers are wrote to xmm7, xmm2 and xmm3
The forward pos when I look down, where Y is positive:

So you need to create a forward vector from your camera pos to desirable pos
Here is the math I am using:
Code:
vec3 GetForwardVector(vec3 pos1, vec3 pos2) const {
auto direction = pos2 - pos1;
float len = sqrt(direction.x * direction.x + direction.y * direction.y + direction.z * direction.z);
if (len == 0.f) return vec3();
return vec3(direction.x / len, direction.y / len, direction.z / len);
}
Or change the pos at edx+0DC (I haven't tried this one yet but those memory are also used for function that render chunks so I think you need to change it back to old value)

Here is the sig to that function that create the raycast (only used for projectile): 55 8B EC 83 E4 ? 83 EC ? F3 0F ? ? ? F3 0F ? ? ? ? ? ? 8B 55
You can find it in cheat engine, scroll down a little bit and you will see the assembly code I mentioned
Video of silent aimbot I made (the entity list in here is bad so some entities are not being spotted)

