├── EO - CoD9.v11.suo
├── EO - CoD9.vcxproj
├── EO - CoD9.vcxproj.filters
├── EO_Client.cpp
├── EO_Client.h
├── EO_Draw.cpp
├── EO_Draw.h
├── EO_ESP.cpp
├── EO_ESP.h
├── EO_Engine.cpp
├── EO_Engine.h
├── EO_Main.h
├── EO_Math.cpp
├── EO_Math.h
├── EO_Structs.h
├── README.md
├── ReadMe.txt
├── Release
├── do not rename the dll or exe..txt
├── injection.dll
└── injection.exe
├── dllmain.cpp
└── roka.sln
/EO - CoD9.v11.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/masterpastaa/engineowning-cod9/06b05b222ecf1d2a6984d615be8e3f583a0098e2/EO - CoD9.v11.suo
--------------------------------------------------------------------------------
/EO - CoD9.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {88FF7DC6-E500-4D56-BD93-8EE2D95795EA}
15 | Win32Proj
16 | EOCoD9
17 |
18 |
19 |
20 | DynamicLibrary
21 | true
22 | v110
23 | Unicode
24 |
25 |
26 | DynamicLibrary
27 | false
28 | v100
29 | true
30 | Unicode
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | true
44 |
45 |
46 | false
47 |
48 |
49 |
50 | Use
51 | Level3
52 | Disabled
53 | WIN32;_DEBUG;_WINDOWS;_USRDLL;EOCOD9_EXPORTS;%(PreprocessorDefinitions)
54 | true
55 |
56 |
57 | Windows
58 | true
59 |
60 |
61 |
62 |
63 | Level3
64 | NotUsing
65 | MaxSpeed
66 | true
67 | true
68 | WIN32;NDEBUG;_WINDOWS;_USRDLL;EOCOD9_EXPORTS;CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
69 | true
70 |
71 |
72 | Windows
73 | true
74 | true
75 | true
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | false
84 |
85 |
86 | false
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
--------------------------------------------------------------------------------
/EO - CoD9.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Quelldateien
23 |
24 |
25 | Quelldateien
26 |
27 |
28 | Quelldateien
29 |
30 |
31 | Quelldateien
32 |
33 |
34 | Quelldateien
35 |
36 |
37 | Quelldateien
38 |
39 |
40 |
41 |
42 | Headerdateien
43 |
44 |
45 | Headerdateien
46 |
47 |
48 | Headerdateien
49 |
50 |
51 | Headerdateien
52 |
53 |
54 | Headerdateien
55 |
56 |
57 | Headerdateien
58 |
59 |
60 | Headerdateien
61 |
62 |
63 |
--------------------------------------------------------------------------------
/EO_Client.cpp:
--------------------------------------------------------------------------------
1 | #include "EO_Main.h"
2 |
3 | usercmd_t* GetUsercmd(int num)
4 | {
5 | return (usercmd_t*)((*(DWORD*)0x11C7D84) + 60 * (num & 0x7F) + 273576);
6 | }
7 |
8 |
9 | int vPPS;
10 |
11 | int vDFPS;
12 |
13 | bool Once = false;
14 | void CG_DrawFPS()
15 | {
16 | if(!Once)
17 | {
18 | Draw.Init();
19 | Engine.Init();
20 | Once = true;
21 | }
22 | Draw.DrawString(20,20,1,Draw.consolefont,WHITE,"EngineOwning - CoD9");
23 | ESP.DoESP();
24 | Aimbot.DoAimbot();
25 |
26 |
27 | //char Buffer[100];
28 | //sprintf(Buffer,"%lx",(DWORD)RefDefViewAngles);
29 | //Draw.DrawString(500,500,1,Draw.normalfont,RED,Buffer);
30 |
31 |
32 |
33 | if(GetAsyncKeyState(VK_F1) & 1) // GetAsyncKeyState What type of monkey are you roka ?
34 | {
35 | char Buffer[100];
36 | sprintf(Buffer,"cmd mr %d 9 axis",*(int*)0x11D0ADC);
37 | Engine.SendCmd(0,Buffer);
38 | }
39 |
40 | }
41 |
42 |
43 |
44 |
45 | void CG_PredictedPlayerState()
46 | {
47 | if(!(Entities[cg->clientNum].bAlive & 2))
48 | return;
49 | if(Aimbot.BestTarget == -1)
50 | return;
51 |
52 | int CmdNum = *(int*)((*(DWORD*)0x11C7D84) + 281256);
53 |
54 | usercmd_t* OldCmd = GetUsercmd(CmdNum - 1);
55 | usercmd_t* CurCmd = GetUsercmd(CmdNum);
56 |
57 | int OldTime = OldCmd->serverTime;
58 |
59 | memcpy(OldCmd,CurCmd,sizeof(usercmd_t));
60 |
61 | OldCmd->serverTime = OldTime + 1;
62 | //OldCmd->buttons |= IN_ATTACK; //autoshoot
63 |
64 | float AimAt[2];
65 | Math.GetAngleToOrigin(Aimbot.AimAtPos,AimAt[0],AimAt[1]);
66 |
67 | OldCmd->viewangles[0] += ANGLE2SHORT(AimAt[1]);
68 | OldCmd->viewangles[1] += ANGLE2SHORT(AimAt[0]);
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/EO_Client.h:
--------------------------------------------------------------------------------
1 |
2 | extern void CG_DrawFPS();
3 |
4 | extern void CG_PredictedPlayerState();
5 |
6 | extern int vPPS;
7 |
8 | extern int vDFPS;
--------------------------------------------------------------------------------
/EO_Draw.cpp:
--------------------------------------------------------------------------------
1 | #include "EO_Main.h"
2 |
3 | EO_Draw Draw;
4 |
5 | void EO_Draw::Init()
6 | {
7 | normalfont = RegisterFont("fonts/normalFont");
8 | bigfont = RegisterFont("fonts/bigfont");
9 | consolefont = RegisterFont("fonts/consolefont");
10 | smallfont = RegisterFont("fonts/smallfont");
11 |
12 | WhiteShader = RegisterShader("white");
13 | }
14 |
15 | void EO_Draw::DrawString(float X,float Y,float Size,void* Font,Color col,char* text)
16 | {
17 | DrawEngineText(text,strlen(text),Font,X,Y,Size,Size,0,col,0);
18 | }
19 | void EO_Draw::DrawRect(float X,float Y,float w,float h,Color col)
20 | {
21 | DrawShaderStreched(X,Y,w,h,0,1,1,0,col,WhiteShader);
22 | }
23 | void EO_Draw::DrawBox(float X,float Y,float w,float h,float size,Color col)
24 | {
25 | DrawRect( X, Y, w, size, col );
26 | Y += size;
27 | DrawRect( X, Y, size, h - ( 2 * size ), col );
28 | Y += ( h - ( 2 * size ) );
29 | DrawRect( X, Y, w, size, col );
30 | Y -= ( h - ( 2 * size ) );
31 | X += ( w - size );
32 | DrawRect( X, Y, size, h - ( 2 * size ), col);
33 | }
--------------------------------------------------------------------------------
/EO_Draw.h:
--------------------------------------------------------------------------------
1 |
2 | typedef int (*__cdecl RegisterShader_t)(char* name);
3 | static RegisterShader_t RegisterShader = (RegisterShader_t)0x734B50;
4 |
5 | typedef void* (*__cdecl RegisterFont_t)(char* name);
6 | static RegisterFont_t RegisterFont = (RegisterFont_t)0x557D80;
7 |
8 | typedef int (*__cdecl DrawEngineText_t )(char* Text, int NumOfChars, void* Font, float X, float Y, float scaleX, float scaleY, float unk1, float* Color, int unk2 );
9 | static DrawEngineText_t DrawEngineText = ( DrawEngineText_t )0x710FE0;
10 |
11 | typedef void (*__cdecl DrawShaderStreched_t)(float x,float y,float w,float h,float TileX,float shaderwidth,float shaderheight,float TileY,float *color,int pShader);
12 | static DrawShaderStreched_t DrawShaderStreched = (DrawShaderStreched_t)0x710BF0;
13 |
14 | typedef float Color[4];
15 |
16 | static Color RED = {1,0,0,1};
17 |
18 | static Color WHITE = {1,1,1,1};
19 | static Color BLUE = {0,0,1,1};
20 | static Color GREEN = {0,1,0,1};
21 | static Color MENUBG = {0,0,0,0.7};
22 | static Color GRAY = {0.65, 0.65, 0.65, 1};
23 | static Color BLACK = {0,0,0,1};
24 |
25 | struct EO_Draw
26 | {
27 | void* normalfont;
28 | void* bigfont;
29 | void* consolefont;
30 | void* smallfont;
31 |
32 | int WhiteShader;
33 |
34 | void Init();
35 |
36 | void DrawString(float X,float Y,float Size,void* Font,Color col,char* text);
37 | void DrawRect(float X,float Y,float w,float h,Color col);
38 | void DrawBox(float X,float Y,float w,float h,float size,Color col);
39 |
40 | };extern EO_Draw Draw;
--------------------------------------------------------------------------------
/EO_ESP.cpp:
--------------------------------------------------------------------------------
1 | #include "EO_Main.h"
2 |
3 | EO_ESP ESP;
4 |
5 | void EO_ESP::DoESP()
6 | {
7 |
8 |
9 | if(!(Entities[cg->clientNum].bAlive & 2))
10 | return;
11 |
12 | for(int i = 0; i < 18; i++)
13 | {
14 | if(Entities[i].bEntityType != 1)
15 | continue;
16 |
17 | if(!(Entities[i].bAlive & 2))
18 | continue;
19 | if( i == cg->clientNum)
20 | continue;
21 |
22 | bool enemy = ! ( ( ( clientinfo[i].iTeam == 1 ) || ( clientinfo[i].iTeam == 2 ) ) && ( clientinfo[i].iTeam == clientinfo[cg->clientNum].iTeam ) );
23 |
24 | vec3 HeadPos;
25 | if(Engine.GetPlayerTag(&Entities[i],*(WORD*)0x24E4212,HeadPos))
26 | {
27 | float HeadScreen[2];
28 | float OrgScreen[2];
29 | if(Engine.WorldToScreen(HeadPos,&HeadScreen[0],&HeadScreen[1]) && Engine.WorldToScreen(Entities[i].vOrigin,&OrgScreen[0],&OrgScreen[1]))
30 | {
31 | float Height = OrgScreen[1] - HeadScreen[1];
32 | float Width = Height / 2;
33 | if(enemy)
34 | {
35 | Draw.DrawBox(HeadScreen[0] - Width/2,HeadScreen[1],Width,Height,1,RED);
36 | Draw.DrawString(HeadScreen[0],HeadScreen[1],1,Draw.bigfont,RED,clientinfo[i].szName);
37 | }
38 | else
39 | {
40 | Draw.DrawBox(HeadScreen[0] - Width/2,HeadScreen[1],Width,Height,1,GREEN);
41 | Draw.DrawString(HeadScreen[0],HeadScreen[1],1,Draw.bigfont,GREEN,clientinfo[i].szName);
42 | }
43 | }
44 | }
45 |
46 | }
47 |
48 | }
49 |
50 | EO_Aimbot Aimbot;
51 |
52 |
53 | void EO_Aimbot::DoAimbot()
54 | {
55 | if(!(Entities[cg->clientNum].bAlive & 2))
56 | return;
57 | AimAtPos[0] = 0;
58 | AimAtPos[1] = 0;
59 | AimAtPos[2] = 0;
60 |
61 | LastDistance = 999999999.f;
62 | BestTarget = -1;
63 |
64 | for(int i = 0; i < 18; i++)
65 | {
66 | if(Entities[i].bEntityType != 1)
67 | continue;
68 |
69 | if(!(Entities[i].bAlive & 2))
70 | continue;
71 | if( i == cg->clientNum)
72 | continue;
73 |
74 | bool enemy = ! ( ( ( clientinfo[i].iTeam == 1 ) || ( clientinfo[i].iTeam == 2 ) ) && ( clientinfo[i].iTeam == clientinfo[cg->clientNum].iTeam ) );
75 |
76 | if(enemy)
77 | {
78 | if(Engine.IsVisible(0,&Entities[i]) != 1)
79 | continue;
80 | vec3 HeadPos;
81 | if(Engine.GetPlayerTag(&Entities[i],*(WORD*)0x24E4214,HeadPos))
82 | {
83 | float NewDist = Math.GetDistance(HeadPos,RefDef->vViewOrg);
84 | if(NewDist < LastDistance)
85 | {
86 | LastDistance = NewDist;
87 | BestTarget = i;
88 | AimAtPos[0] = HeadPos[0];
89 | AimAtPos[1] = HeadPos[1];
90 | AimAtPos[2] = HeadPos[2];
91 | }
92 |
93 | }
94 | }
95 |
96 | }
97 | if(BestTarget != -1)
98 | {
99 | //if ! silent aim
100 |
101 | float AimAt[2];
102 | Math.GetAngleToOrigin(AimAtPos,AimAt[0],AimAt[1]);
103 |
104 | //viewangle += AimAt[0] ...
105 | }
106 | }
--------------------------------------------------------------------------------
/EO_ESP.h:
--------------------------------------------------------------------------------
1 | struct EO_ESP
2 | {
3 | void DoESP();
4 | };
5 | extern EO_ESP ESP;
6 |
7 |
8 | struct EO_Aimbot
9 | {
10 | int BestTarget;
11 | float AimAtPos[3];
12 | float LastDistance;
13 | void DoAimbot();
14 | };
15 | extern EO_Aimbot Aimbot;
--------------------------------------------------------------------------------
/EO_Engine.cpp:
--------------------------------------------------------------------------------
1 | #include "EO_Main.h"
2 |
3 | centity* Entities;
4 | CLient_t* clientinfo;
5 | cg_t* cg;
6 | //cgs_t* cgs;
7 | refdef_t* RefDef;
8 |
9 | float* RefDefViewAngles;
10 |
11 | EO_Engine Engine;
12 |
13 | void EO_Engine::Init()
14 | {
15 | IsVisible = (IsVisible_597DD0)0x597DD0;
16 | SendCmd = (AddCmdBuff_646BC0)0x646BC0;
17 |
18 | Entities = (centity*)*(DWORD*)0x1140888;
19 | clientinfo = (CLient_t*)0x234A488; //ok
20 | cg = (cg_t*)0x21EE440; // is ok
21 | //cgs = (cgs_t*)0x
22 | RefDef = (refdef_t*)((*(DWORD*)0x113F19C) + 0x4D890);
23 |
24 | RefDefViewAngles = (float*)((*(DWORD*)0x113F19C) + 0x482A0);
25 | }
26 | bool EO_Engine::GetPlayerTag( centity* pEnt, WORD SzBone, PFLOAT vOut ) {
27 | PVOID DObj = Com_GetClientDObj( pEnt->iClientNum , pEnt->iUsedForPlayerMesh_0 );
28 |
29 | if( !DObj )
30 | {
31 | return FALSE;
32 | }
33 |
34 | return CG_DObjGetWorldTagPos( pEnt, DObj, SzBone , vOut );
35 |
36 |
37 | }
38 | bool EO_Engine::WorldToScreen( vec3 vWorldLocation, float * fScreenX, float * fScreenY )
39 | {
40 | int iCenterX=RefDef->iWidth/2;
41 | int iCenterY=RefDef->iHeight/2;
42 |
43 |
44 | vec3 vLocal, vTransForm;
45 |
46 | vec3 vright;
47 | VectorCopy(RefDef->vViewAxis[1],vright);
48 | vec3 vup;
49 | VectorCopy(RefDef->vViewAxis[2],vup);
50 | vec3 vfwd;
51 | VectorCopy(RefDef->vViewAxis[0],vfwd);
52 |
53 |
54 | VectorSubtract(vWorldLocation, RefDef->vViewOrg, vLocal);
55 |
56 |
57 | vTransForm[0] = DotProduct(vLocal,vright);
58 | vTransForm[1] = DotProduct(vLocal,vup);
59 | vTransForm[2] = DotProduct(vLocal,vfwd);
60 |
61 |
62 | if (vTransForm[2] < 0.01)
63 | {
64 | return 0;
65 | }
66 |
67 |
68 | if(fScreenX&&fScreenY)
69 | {
70 | *fScreenX = iCenterX * (1-(vTransForm[0] / RefDef->flFOVX / vTransForm[2]));
71 | *fScreenY = iCenterY * (1-(vTransForm[1] / RefDef->flFOVY / vTransForm[2]));
72 | }
73 |
74 |
75 | return vTransForm[2] > 0;
76 | }
--------------------------------------------------------------------------------
/EO_Engine.h:
--------------------------------------------------------------------------------
1 |
2 | typedef bool ( __cdecl* CG_DObjGetWorldTagPos_t )( centity* pEnt, void* DObj, UINT Tag, float* vOut );
3 | static CG_DObjGetWorldTagPos_t CG_DObjGetWorldTagPos = ( CG_DObjGetWorldTagPos_t )0x4A10D0;
4 |
5 | typedef void* ( __cdecl* Com_GetClientDObj_t )( UINT ClientNum, UINT a2 );
6 | static Com_GetClientDObj_t Com_GetClientDObj = ( Com_GetClientDObj_t )0x5FE980;
7 |
8 | typedef int (*__cdecl AddCmdBuff_646BC0)(int a1, char* a2);
9 |
10 | typedef bool (*__cdecl IsVisible_597DD0)(int a1,centity* Ent);
11 |
12 |
13 | struct EO_Engine
14 | {
15 | AddCmdBuff_646BC0 SendCmd;
16 | IsVisible_597DD0 IsVisible;
17 |
18 | void Init();
19 | bool GetPlayerTag( centity* pEnt, WORD SzBone, float* vOut );
20 | bool WorldToScreen( vec3 vWorldLocation, float * fScreenX, float * fScreenY );
21 | };
22 | extern EO_Engine Engine;
--------------------------------------------------------------------------------
/EO_Main.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | #include
4 | #include
5 | #include
6 | #include
7 |
8 | #include "EO_Math.h"
9 | #include "EO_Draw.h"
10 | #include "EO_Client.h"
11 | #include "EO_Structs.h"
12 | #include "EO_ESP.h"
13 | #include "EO_Engine.h"
--------------------------------------------------------------------------------
/EO_Math.cpp:
--------------------------------------------------------------------------------
1 | #include "EO_Main.h"
2 |
3 | EO_Math Math;
4 |
5 | float EO_Math::GetDistance( vec3 A, vec3 B )
6 | {
7 | float dx = A[0] - B[0];
8 | float dy = A[1] - B[1];
9 | float dz = A[2] - B[2];
10 |
11 | return (float)sqrt( ( dx * dx ) + ( dy * dy ) + ( dz * dz ) );
12 | }
13 |
14 | float EO_Math::Get2dDistance( float A[2], float B[2] )
15 | {
16 | float dx = A[0] - B[0];
17 | float dy = A[1] - B[1];
18 |
19 | return (float)sqrt( ( dx * dx ) + ( dy * dy ) );
20 | }
21 |
22 | void EO_Math::AngleVectors( const vec3 angles, vec3 forward, vec3 right, vec3 up)
23 | {
24 | float angle;
25 | static float sr, sp, sy, cr, cp, cy;
26 |
27 | angle = angles[YAW] * (M_PI*2 / 360);
28 | sy = sin(angle);
29 | cy = cos(angle);
30 |
31 | angle = angles[PITCH] * (M_PI*2 / 360);
32 | sp = sin(angle);
33 | cp = cos(angle);
34 |
35 | angle = angles[ROLL] * (M_PI*2 / 360);
36 | sr = sin(angle);
37 | cr = cos(angle);
38 |
39 | if (forward)
40 | {
41 | forward[0] = cp*cy;
42 | forward[1] = cp*sy;
43 | forward[2] = -sp;
44 | }
45 | if (right)
46 | {
47 | right[0] = (-1*sr*sp*cy+-1*cr*-sy);
48 | right[1] = (-1*sr*sp*sy+-1*cr*cy);
49 | right[2] = -1*sr*cp;
50 | }
51 | if (up)
52 | {
53 | up[0] = (cr*sp*cy+-sr*-sy);
54 | up[1] = (cr*sp*sy+-sr*cy);
55 | up[2] = cr*cp;
56 | }
57 | }
58 |
59 | void EO_Math::vectoangles( const vec3 value1, vec3 angles )
60 | {
61 | float forward;
62 | float yaw, pitch;
63 |
64 | if( value1[1] == 0 && value1[0] == 0 )
65 | {
66 | yaw = 0;
67 | if ( value1[2] > 0 )
68 | pitch = 90;
69 | else
70 | pitch = 270;
71 | }
72 | else
73 | {
74 | if ( value1[0] )
75 | yaw = ( atan2 ( value1[1], value1[0] ) * ( 180.0f / M_PI ) );
76 | else if ( value1[1] > 0 )
77 | yaw = 90.0f;
78 | else
79 | yaw = 270.0f;
80 |
81 | if ( yaw < 0.0f )
82 | yaw += 360.0f;
83 |
84 | forward = sqrt ( ( value1[0] * value1[0] ) + ( value1[1] * value1[1] ) );
85 | pitch = ( atan2( value1[2], forward ) * ( 180.0f / M_PI ) );
86 |
87 | if ( pitch < 0.0f )
88 | pitch += 360;
89 | }
90 |
91 | angles[PITCH] = -pitch;
92 | angles[YAW] = yaw;
93 | angles[ROLL] = 0;
94 | }
95 |
96 | float EO_Math::AngleNormalize360 ( float angle )
97 | {
98 | return ((float)(360.0 / 65536) * ((int)(angle * (65536 / 360.0)) & 65535));
99 | }
100 |
101 | float EO_Math::AngleNormalize180 ( float angle )
102 | {
103 | angle = AngleNormalize360( angle );
104 | if ( angle > 180.0 ) {
105 | angle -= 360.0;
106 | }
107 | return angle;
108 | }
109 | void EO_Math::VectorViewAngles(float *flLocation,float *flOut)
110 | {
111 | vec3 vDelta,vAngles;
112 | VectorSubtract(flLocation,RefDef->vViewOrg,vDelta);
113 | vectoangles(vDelta,vAngles);
114 |
115 | if(vAngles[1]>180.0f)
116 | vAngles[1]-=360.0f;
117 | else if(vAngles[1]<-180.0f)
118 | vAngles[1]+=360.0f;
119 |
120 | if(vAngles[0]>180.0f)
121 | vAngles[0]-=360.0f;
122 | else if(vAngles[0]<-180.0f)
123 | vAngles[0]+=360.0f;
124 |
125 | vAngles[1]-=RefDefViewAngles[1];
126 | vAngles[0]-=RefDefViewAngles[0];
127 |
128 | if(vAngles[1]>180.0f)
129 | vAngles[1]-=360.0f;
130 | else if(vAngles[1]<-180.0f)
131 | vAngles[1]+=360.0f;
132 |
133 | if(vAngles[0]>180.0f)
134 | vAngles[0]-=360.0f;
135 | else if(vAngles[0]<-180.0f)
136 | vAngles[0]+=360.0f;
137 |
138 | VectorCopy(vAngles,flOut);
139 | }
140 | void EO_Math::GetAngleToOrigin(vec3 vOrigin, float &flOutX, float &flOutY)
141 | {
142 | vec3 vEntity, vAngle;
143 | VectorSubtract(vOrigin, RefDef->vViewOrg, vEntity);
144 | vectoangles(vEntity, vAngle);
145 |
146 | if (vAngle[1] > 180.0f)
147 | vAngle[1] -= 360.0f;
148 | else if (vAngle[1] < -180.0f)
149 | vAngle[1] += 360.0f;
150 |
151 | if (vAngle[0] > 180.0f)
152 | vAngle[0] -= 360.0f;
153 | else if (vAngle[0] < -180.0f)
154 | vAngle[0] += 360.0f;
155 |
156 |
157 | vAngle[1] -= RefDefViewAngles[1];
158 | vAngle[0] -= RefDefViewAngles[0];
159 |
160 | if (vAngle[0] > 180.0f)
161 | vAngle[0] -= 360.0f;
162 | else if (vAngle[0] < -180.0f)
163 | vAngle[0] += 360.0f;
164 |
165 | if (vAngle[1] > 180.0f)
166 | vAngle[1] -= 360.0f;
167 | else if (vAngle[1] < -180.0f)
168 | vAngle[1] += 360.0f;
169 |
170 | flOutX = vAngle[1];
171 | flOutY = vAngle[0];
172 | }
173 | void EO_Math::GetAngleToOrigin(vec3 vOrigin,vec3 ViewAngle , float &flOutX, float &flOutY)
174 | {
175 | vec3 vEntity, vAngle;
176 | VectorSubtract(vOrigin, RefDef->vViewOrg, vEntity);
177 | vectoangles(vEntity, vAngle);
178 |
179 | if (vAngle[1] > 180.0f)
180 | vAngle[1] -= 360.0f;
181 | else if (vAngle[1] < -180.0f)
182 | vAngle[1] += 360.0f;
183 |
184 | if (vAngle[0] > 180.0f)
185 | vAngle[0] -= 360.0f;
186 | else if (vAngle[0] < -180.0f)
187 | vAngle[0] += 360.0f;
188 |
189 | vAngle[1] -= ViewAngle[1];
190 | vAngle[0] -= ViewAngle[0];
191 |
192 | if (vAngle[0] > 180.0f)
193 | vAngle[0] -= 360.0f;
194 | else if (vAngle[0] < -180.0f)
195 | vAngle[0] += 360.0f;
196 |
197 | if (vAngle[1] > 180.0f)
198 | vAngle[1] -= 360.0f;
199 | else if (vAngle[1] < -180.0f)
200 | vAngle[1] += 360.0f;
201 |
202 | flOutX = vAngle[1];
203 | flOutY = vAngle[0];
204 | }
--------------------------------------------------------------------------------
/EO_Math.h:
--------------------------------------------------------------------------------
1 | #define PITCH 0
2 | #define YAW 1
3 | #define ROLL 2
4 | #define M_PI 3.14159265358979323846f
5 |
6 | #define POW(x)((x)*(x))
7 | #define VectorLength(a) sqrt(POW((a)[0])+POW((a)[1])+POW((a)[2]))
8 | #define DotProduct(x,y) ((x)[0]*(y)[0]+(x)[1]*(y)[1]+(x)[2]*(y)[2])
9 | #define VectorSubtract(a,b,c) ((c)[0]=(a)[0]-(b)[0],(c)[1]=(a)[1]-(b)[1],(c)[2]=(a)[2]-(b)[2])
10 | #define VectorAdd(a,b,c) ((c)[0]=(a)[0]+(b)[0],(c)[1]=(a)[1]+(b)[1],(c)[2]=(a)[2]+(b)[2])
11 | #define VectorCopy(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2])
12 | #define VectorCopy4(a,b) ((b)[0]=(a)[0],(b)[1]=(a)[1],(b)[2]=(a)[2],(b)[3]=(a)[3])
13 | #define VectorScale(v, s, o) ((o)[0]=(v)[0]*(s),(o)[1]=(v)[1]*(s),(o)[2]=(v)[2]*(s))
14 | #define VectorMA(v, s, b, o) ((o)[0]=(v)[0]+(b)[0]*(s),(o)[1]=(v)[1]+(b)[1]*(s),(o)[2]=(v)[2]+(b)[2]*(s))
15 | #define VectorCmp(a,b) (((a)[0]==(b)[0])&&((a)[1]==(b)[1])&&((a)[2]==(b)[2]))
16 | #define VectorDistance(a,b) (sqrt(POW(a[0]-b[0]) + POW(a[1]-b[1]) + POW(a[2]-b[2])))
17 | #define CMD_BACKUP 128
18 | #define CMD_MASK (CMD_BACKUP - 1)
19 | #define IN_ATTACK ( 1<<0 )
20 | #define VectorLength(a) sqrt(POW((a)[0])+POW((a)[1])+POW((a)[2]))
21 | #define VectorDivide (v, s, o)((o)[0]=(v)[0]/=(s),(o)[1]=(v)[1]/=(s),(o)[2]=(v)[2]/=(s))
22 | #define VectorNormalize(a) {vec_t l=VectorLength(a);(a)[0]/=l;(a)[1]/=l;(a)[2]/=l;}
23 |
24 | struct EO_Math
25 | {
26 | float GetDistance( float* A, float* B );
27 | float Get2dDistance( float A[2], float B[2] );
28 | void AngleVectors( const float* angles, float* forward, float* right, float* up);
29 | void vectoangles( const float* value1, float* angles );
30 | float AngleNormalize360 ( float angle ) ;
31 | float AngleNormalize180 ( float angle ) ;
32 | void VectorViewAngles(float *flLocation,float *flOut);
33 | void GetAngleToOrigin(float* vOrigin, float &flOutX, float &flOutY);
34 | void GetAngleToOrigin(float* vOrigin,float* ViewAngle , float &flOutX, float &flOutY);
35 | };
36 | extern EO_Math Math;
--------------------------------------------------------------------------------
/EO_Structs.h:
--------------------------------------------------------------------------------
1 | typedef float vec3[3];
2 |
3 | #define ANGLE2SHORT(x)((int)((x)*65536/360) & 65535)
4 |
5 | #define ET_ZOMBIE 16
6 | #define ET_GENERAL 0
7 | #define ET_PLAYER 1
8 | #define ET_PLAYER_CORPSE 2
9 | #define ET_ITEM 3
10 | #define ET_MISSILE 4
11 | #define ET_INVISIBLE 5
12 | #define ET_SCRIPTMOVER 6
13 | #define ET_SOUND_BLEND 7
14 | #define ET_FX 8
15 | #define ET_LOOP_FX 9
16 | #define ET_PRIMARY_LIGHT 10
17 | #define ET_TURRET 11
18 | #define ET_HELICOPTER 12
19 | #define ET_PLANE 13
20 | #define ET_VEHICLE 14
21 | #define ET_VEHICLE_CORPSE 15
22 | #define ET_ACTOR 16
23 | #define ET_ACTOR_SPAWNER 17
24 | #define ET_ACTOR_CORPSE 18
25 | #define ET_STREAMER_HINT 19
26 | #define ET_ZBARRIER 20
27 |
28 |
29 |
30 | class PlayerActor_t
31 | {
32 | public:
33 | __int32 ServerTime; //0x0000
34 | char _0x0004[36];
35 | vec3 Origin; //0x0028
36 | vec3 Velocity; //0x0034
37 | char _0x0040[76];
38 | __int32 Gravity; //0x008C
39 | char _0x0090[4];
40 | __int32 Speed; //0x0094
41 | char _0x0098[352];
42 | vec3 ViewAngles; //0x01F8
43 | __int32 PlayerHeightInt; //0x0204
44 | float PlayerHeightFloat; //0x0208
45 | char _0x020C[44];
46 | __int32 iHealth; //0x0238
47 | char _0x023C[4];
48 | __int32 iMaxHealth; //0x0240
49 | char _0x0244[32];
50 | __int32 PrimaryWeaponID; //0x0264
51 | char _0x0268[24];
52 | __int32 LethalWeaponID; //0x0280
53 | char _0x0284[24];
54 | __int32 SecondaryWeaponID; //0x029C
55 | char _0x02A0[24];
56 | __int32 TacticalWeaponID; //0x02B8
57 | char _0x02BC[308];
58 | __int32 PrimaryAmmoStock; //0x03F0
59 | char _0x03F4[4];
60 | __int32 SecondaryAmmoStock; //0x03F8
61 | char _0x03FC[48];
62 | __int32 PrimaryAmmoClip; //0x042C
63 | __int32 LethalAmmo; //0x0430
64 | __int32 SecondaryAmmoClip; //0x0434
65 | __int32 TacticalAmmo; //0x0438
66 | char _0x043C[272];
67 | __int32 PerkFlags; //0x054C 0x10 = Reduced Spread, 0x80000 = Faster Knife
68 | char _0x0550[20316];
69 | char Name2[16]; //0x54AC
70 | char _0x54BC[16];
71 | __int32 MaxHealth; //0x54CC
72 | char _0x54D0[100];
73 | char Name[16]; //0x5534 Writable
74 | char _0x5544[132];
75 | __int32 Money; //0x55C8
76 | char _0x55CC[556];
77 | };//Size=0x045C
78 |
79 | class TeamInfo_t
80 | {
81 | public:
82 | char _0x0000[4];
83 | __int32 iTeam; //0x0004
84 | char _0x0008[56];
85 |
86 | };//Size=0x0040
87 |
88 | class centity_t
89 | {
90 | public:
91 | __int32 ClientNum; //0x0000
92 | __int32 eFlag; //0x0004
93 | char _0x0008[16];
94 | vec3 vOrigin; //0x0018
95 | char _0x0024[24];
96 | float vAngles[2]; //0x003C
97 | char _0x0044[28];
98 | __int32 iCurrentWeapon; //0x0060
99 | char _0x0064[116];
100 | WORD eType; //0x00D8
101 | char _0x00DA[66];
102 | vec3 vNewOrigin; //0x011C
103 | char _0x0128[44];
104 | PlayerActor_t* PlayerActor; //0x0154
105 | char _0x0158[4];
106 | TeamInfo_t* TeamInfo; //0x015C
107 | char _0x0160[12];
108 | __int32 ModelIndex; //0x016C Model ID = 44 (Top of Tranzit Bus)
109 | char _0x0170[56];
110 | __int32 iHealth; //0x01A8
111 | char _0x01AC[29320];
112 | };//Size=0x7434
113 |
114 | typedef struct
115 | {
116 | char *szModel;
117 | char _0x0000[740];
118 | int iWeaponType; //0x02E8
119 | int iWeaponClass; //0x02EC
120 | int iPenetrateType; //0x02F0
121 | int iImpactType; //0x02F4
122 | char _0x02F8[4];
123 | int iFireType; //0x02FC
124 | int iClipType; //0x0300
125 | }weapon_t;//Size=0x0304
126 |
127 |
128 | class cg_t
129 | {
130 | public:
131 | __int32 clientNum; //0x0000
132 | char _0x0004[408];
133 | __int32 Time; //0x019C
134 | char _0x01A0[96];
135 |
136 | };//Size=0x0200
137 |
138 | typedef struct
139 | {
140 | int iClientNum; //0x0000
141 | char _0x0004[20];
142 | int iIngame; //0x0018
143 | char _0x001C[104];
144 | int iPing; //0x0084
145 | int iNewTime; //0x0088
146 | int iTime; //0x008C
147 | int iOldTime; //0x0090
148 | char _0x0094[36];
149 | vec3 vOrigin; //0x00B8
150 | char _0x00C4[88];
151 | int iGravity; //0x011C
152 | char _0x0120[60];
153 | int iMoveType; //0x015C
154 | char _0x0160[44];
155 | int iMoveFlag; //0x018C
156 | char _0x0190[184];
157 | int iWeaponID; //0x0248
158 | char _0x024C[28];
159 | int iInAttach; //0x0268
160 | char _0x026C[4];
161 | float flZoomProgress; //0x0270
162 | char _0x0274[84];
163 | int iHealth; //0x02C8
164 | char _0x02CC[4];
165 | int iMaxHealth; //0x02D0
166 | char _0x02D4[116];
167 | int iSecondaryWeaponID; //0x0348
168 | char _0x034C[24];
169 | int iPrimaryWeaponID; //0x0364
170 | char _0x0368[292];
171 | int iSecondaryClip; //0x048C
172 | int iPrimaryClip; //0x0490
173 | char _0x0494[52];
174 | int iSecondaryAmmo; //0x04C8
175 | int iPrimaryAmmo; //0x04CC
176 | int iLethalAmmo; //0x04D0
177 | int iTacticalAmmo; //0x04D4
178 | }cgs_t;
179 | typedef struct
180 | {
181 | char _0x0000[8];
182 | int iWidth; //0x0008
183 | int iHeight; //0x000C
184 | char _0x0010[16];
185 | float flFOVX; //0x0020
186 | float flFOVY; //0x0024
187 | float flFOVZ; //0x0028
188 | char _0x002C[4];
189 | float flFOV; //0x0030
190 | vec3 vViewOrg; //0x0034
191 | char _0x0040[4];
192 | vec3 vViewAxis[3]; //0x0044
193 | }refdef_t;//Size=0x0048
194 |
195 | typedef struct
196 | {
197 | int serverTime; //0x0000
198 | int buttons; //0x0004
199 | char _0x0008[4];
200 | int viewangles[3]; //0x000C
201 | char _0x0018[36];
202 | }usercmd_t;//Size=0x003C
203 |
204 | typedef struct
205 | {
206 | char unknown01[273576];
207 | usercmd_t usercmds[128]; // 0x42CA8
208 | int currentCmdNum; // 0x44AA8
209 |
210 | usercmd_t *GetUserCmd(int cmdNum)
211 | {
212 | int iCmdID=cmdNum&0x7F;
213 | return &usercmds[iCmdID];
214 | }
215 | }input_t;
216 | typedef struct
217 | {
218 | __int32 iWorldEntNum; //0x0000
219 | __int32 iEntityNum; //0x0004
220 | float fDamageMultiplier; //0x0008
221 | __int32 iBulletType; //0x000C
222 | vec3 viewOrigin; //0x0010
223 | vec3 vStart; //0x001C
224 | vec3 vEnd; //0x0028
225 | vec3 vDirection; //0x0034
226 | }bulletTrace_t;
227 |
228 | typedef struct
229 | {
230 | char _0x0000[16];
231 | float fraction; //0x0010
232 | char _0x0014[56];
233 | int materialType; //0x004C
234 | }trace_t;
235 |
236 | typedef struct
237 | {
238 | char _0x0000[4];
239 | short iUsedForPlayerMesh_0; //0x0004
240 | char _0x0008[38];
241 | vec3 vOrigin; //0x002C
242 | char _0x0038[296];
243 | int eFlags; //0x0160
244 | char _0x0164[16];
245 | vec3 vOldOrigin; //0x0174
246 | char _0x0180[60];
247 | int iPlayerWeaponID; //0x01BC
248 | int iPlayerPrevWeaponID; //0x01C0
249 | char _0x01C4[24];
250 | int iClientNum; //0x01DC
251 | int iFlags; //0x01E0
252 | char _0x01E4[16];
253 | vec3 vNewOrigin; //0x01F4
254 | char _0x0200[60];
255 | int iWeaponID2; //0x023C
256 | char _0x0240[116];
257 | short bEntityType; //0x02B4
258 | char _0x02B5[10];
259 | int iWeaponID; //0x02C0
260 | char _0x02C4[180];
261 | BYTE bAlive; //0x0378
262 | char _0x0379[7];
263 | }centity;//Size=0x0380
264 |
265 | typedef struct
266 | {
267 | char _0x0000[940];
268 | int pShader; //0x03AC
269 | char _0x03B0[12];
270 | int pShader2; //0x03BC
271 | }weapon2_t;//Size=0x03C0
272 | typedef struct
273 | {
274 | char _0x0000[12];
275 | char szName[32]; //0x000C
276 | int iTeam; //0x002C
277 | int iTeam2; //0x0030
278 | char _0x0034[44];
279 | int iRank; //0x0060
280 | char _0x0064[48];
281 | int iScore; //0x0094
282 | char _0x0098[72];
283 | char szModel[64]; //0x00E0
284 | char _0x0120[932];
285 | vec3 ViewAngleY; //0x04C4
286 | char _0x04D0[192];
287 | int N2399ED54; //0x0590
288 | char _0x0594[48];
289 | int iWeaponID; //0x05C4
290 | char _0x05C8[448];
291 | weapon2_t *pCurrentWeapon; //0x0788
292 | char _0x078C[12];
293 | weapon2_t *pPrimaryWeapon; //0x0798
294 | char _0x079C[108];
295 | }CLient_t;//Size=0x0808
296 |
297 | extern centity* Entities;
298 | extern CLient_t* clientinfo;
299 | extern cg_t* cg;
300 | //extern cgs_t* cgs;
301 | extern refdef_t* RefDef;
302 |
303 | extern float* RefDefViewAngles;
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # engineowning-cod9
2 | Reverse engineered source code of the engineowning cheat for cod9
3 |
4 | Cracked by CODEX (not zerax)
5 |
6 | ------------------------------------------------------------------------------------------------
7 | notinjector = C:\Windows\Release\ .exe
8 |
9 | drSYS = C:\Windows\roka.sys
10 |
11 | Auth = C:\Windows\RlpEbal64.dll
12 |
13 | ------------------------------------------------------------------------------------------------
14 | Owner name : 🐒 (Roka), (a87f62e28ce), (roka#0002), (Ehlon Musk), (45420).
15 | Conclusion: Roka is a monkey.
16 |
--------------------------------------------------------------------------------
/ReadMe.txt:
--------------------------------------------------------------------------------
1 | ========================================================================
2 | DYNAMIC LINK LIBRARY: EO - CoD9-Projektübersicht
3 | ========================================================================
4 |
5 | Diese EO - CoD9-DLL wurde vom Anwendungs-Assistenten für Sie erstellt.
6 |
7 | Diese Datei bietet eine Übersicht über den Inhalt der einzelnen Dateien, aus
8 | denen Ihre EO - CoD9-Anwendung besteht.
9 |
10 |
11 | EO - CoD9.vcxproj
12 | Dies ist die Hauptprojektdatei für VC++-Projekte, die mit dem Anwendungs-Assistenten generiert werden. Sie enthält Informationen über die Version von Visual C++, mit der die Datei generiert wurde, sowie über die Plattformen, Konfigurationen und Projektfunktionen, die im Anwendungs-Assistenten ausgewählt wurden.
13 |
14 | EO - CoD9.vcxproj.filters
15 | Dies ist die Filterdatei für VC++-Projekte, die mithilfe eines Anwendungs-Assistenten erstellt werden. Sie enthält Informationen über die Zuordnung zwischen den Dateien im Projekt und den Filtern. Diese Zuordnung wird in der IDE zur Darstellung der Gruppierung von Dateien mit ähnlichen Erweiterungen unter einem bestimmten Knoten verwendet (z. B. sind CPP-Dateien dem Filter "Quelldateien" zugeordnet).
16 |
17 | EO - CoD9.cpp
18 | Dies ist die Hauptquelldatei der DLL.
19 |
20 | Diese DLL exportiert keine Symbole, Dies führt dazu, dass sie beim Buildvorgang keine LIB-Datei generiert. Wenn dieses Projekt eine Projektabhängigkeit eines anderen Projekts sein soll, müssen Sie entweder Code zum Exportieren einiger Symbole aus der DLL hinzufügen, damit eine Exportbibliothek erstellt wird, oder Sie können im Ordner "Linker" auf der Eigenschaftenseite "Allgemein" im Dialogfeld "Eigenschaftenseiten" des Projekts die Eigenschaft "Ignore Input Library" auf "Ja" festlegen.
21 |
22 | /////////////////////////////////////////////////////////////////////////////
23 | Andere Standarddateien:
24 |
25 | StdAfx.h, StdAfx.cpp
26 | Mit diesen Dateien werden eine vorkompilierte Headerdatei (PCH) mit dem Namen EO - CoD9.pch und eine vorkompilierte Typendatei mit dem Namen StdAfx.obj erstellt.
27 |
28 | /////////////////////////////////////////////////////////////////////////////
29 | Weitere Hinweise:
30 |
31 | Der Anwendungs-Assistent weist Sie mit "TODO:"-Kommentaren auf Teile des
32 | Quellcodes hin, die Sie ergänzen oder anpassen sollten.
33 |
34 | /////////////////////////////////////////////////////////////////////////////
35 |
36 | roka is a monkey.
--------------------------------------------------------------------------------
/Release/do not rename the dll or exe..txt:
--------------------------------------------------------------------------------
1 | roka = :monkey:
--------------------------------------------------------------------------------
/Release/injection.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/masterpastaa/engineowning-cod9/06b05b222ecf1d2a6984d615be8e3f583a0098e2/Release/injection.dll
--------------------------------------------------------------------------------
/Release/injection.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/masterpastaa/engineowning-cod9/06b05b222ecf1d2a6984d615be8e3f583a0098e2/Release/injection.exe
--------------------------------------------------------------------------------
/dllmain.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/masterpastaa/engineowning-cod9/06b05b222ecf1d2a6984d615be8e3f583a0098e2/dllmain.cpp
--------------------------------------------------------------------------------
/roka.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Express 2012 for Windows Desktop
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EO - CoD9", "EO - CoD9\EO - CoD9.vcxproj", "{88FF7DC6-E500-4D56-BD93-8EE2D95795EA}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {88FF7DC6-E500-4D56-BD93-8EE2D95795EA}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {88FF7DC6-E500-4D56-BD93-8EE2D95795EA}.Debug|Win32.Build.0 = Debug|Win32
14 | {88FF7DC6-E500-4D56-BD93-8EE2D95795EA}.Release|Win32.ActiveCfg = Release|Win32
15 | {88FF7DC6-E500-4D56-BD93-8EE2D95795EA}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------