├── 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 | --------------------------------------------------------------------------------