Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <Ntsecapi.h>
- #include "inj_defs.h"
- DWORD WINAPI InjectThread (LPVOID lpParam)
- {
- DllInjectData *pInfo = (DllInjectData*) lpParam;
- ExitThreadType pExitThread = (ExitThreadType)pInfo->pExitThread;
- GetStdHandleType pGetStdHandle = (GetStdHandleType)pInfo->pGetStdHandle;
- GetCurrentProcessIdType pGetCurrentProcessId = (GetCurrentProcessIdType)pInfo->pGetCurrentProcessId;
- CreateFileAType pCreateFileA = (CreateFileAType)pInfo->pCreateFileA;
- SleepType pSleep = (SleepType)pInfo->pSleep;
- itoaType pitoa = (itoaType)pInfo->pitoa;
- GetAsyncKeyStateType pGetAsyncKeyState = (GetAsyncKeyStateType)pInfo->pGetAsyncKeyState;
- sscanf_sType psscanf_s = (sscanf_sType)pInfo->psscanf_s;
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- bool Cyclefunc(DllInjectData *, HANDLE *, char*);
- void InitModules(DllInjectData *pInfo);
- void C_Config_LoadSettings(DllInjectData *);
- void _GetPrivateProfileStringF(DllInjectData *, LPCSTR , LPCSTR , float *, LPCSTR );
- void _GetPrivateProfileStringI(DllInjectData *, LPCSTR , LPCSTR , int *, LPCSTR );
- int elapsedTime(DWORD *sTimer, DWORD *sTaTimer, DWORD *eNtTimer, DllInjectData *pInfo);
- void Timer(DWORD *sTimer, DWORD *sTaTimer, DllInjectData *pInfo);
- void NormaaliAnglet( float angle[], DllInjectData *pInfo);
- bool arctg (float* arg, float *ret, DllInjectData *pInfo);
- bool arccos (float* arg, float *ret, DllInjectData *pInfo);
- bool GE (float* arg1, float* arg2, DllInjectData *pInfo );
- bool IL (float* arg1, float* arg2, DllInjectData *pInfo );
- bool IG (float* arg1, float* arg2, DllInjectData *pInfo );
- int toInt (float* arg, DllInjectData *pInfo);
- bool toFloat(int arg, float *ret, DllInjectData *pInfo);
- //Classes
- class Vector
- {
- public:
- float x, y, z;
- memcpyType pmemcpy;
- Vector( void )
- {
- }
- Vector( float *pX, float *pY, float *pZ, DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&(this->x),pX,sizeof(float));
- pmemcpy(&(this->y),pY,sizeof(float));
- pmemcpy(&(this->z),pZ,sizeof(float));
- }
- Vector( float args[ 3 ] , DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&(this->x),&(args[ 0 ]),sizeof(float));
- pmemcpy(&(this->y),&(args[ 1 ]),sizeof(float));
- pmemcpy(&(this->z),&(args[ 2 ]),sizeof(float));
- }
- Vector( Vector *v, DllInjectData *pInfo )
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&(this->x),&(v->x),sizeof(float));
- pmemcpy(&(this->y),&(v->y),sizeof(float));
- pmemcpy(&(this->z),&(v->z),sizeof(float));
- }
- };
- class CMath
- {
- public:
- void MakeVector(float *pfIn, float *pfOut, DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- float pitchasm;
- float yawasm;
- float tmpasm;
- float f180;
- pmemcpy(&f180,&(pInfo->t180),sizeof(float));
- float pfIn0;
- pmemcpy(&pfIn0,&(pfIn[0]),sizeof(float));
- float pfIn1;
- pmemcpy(&pfIn1,&(pfIn[1]),sizeof(float));
- _asm
- {
- fldpi
- fmul pfIn0
- fdiv f180
- fstp pitchasm
- }
- _asm
- {
- fldpi
- fmul pfIn1
- fdiv f180
- fstp yawasm
- }
- _asm
- {
- fld pitchasm
- fcos
- fstp tmpasm
- }
- float pfOut0,pfOut1,pfOut2;
- float mone;
- pmemcpy(&mone,&(pInfo->n1),sizeof(float));
- _asm
- {
- fld yawasm
- fcos
- fmul mone
- fstp pfOut0
- fld tmpasm
- fmul mone
- fmul pfOut0
- fstp pfOut0
- }
- _asm
- {
- fld yawasm
- fsin
- fmul tmpasm
- fstp pfOut1
- }
- _asm
- {
- fld pitchasm
- fsin
- fmul mone
- fstp pfOut2
- }
- pmemcpy(&(pfOut[0]),&pfOut0,sizeof(float));
- pmemcpy(&(pfOut[1]),&pfOut1,sizeof(float));
- pmemcpy(&(pfOut[2]),&pfOut2,sizeof(float));
- return;
- }
- void CalcAngle( float *src, float *dst, float *angles, DllInjectData *pInfo )
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- float delta0, delta1, delta2;
- float src0,src1,src2;
- pmemcpy(&src0,&(src[0]),sizeof(float));
- pmemcpy(&src1,&(src[1]),sizeof(float));
- pmemcpy(&src2,&(src[2]),sizeof(float));
- float dst0,dst1,dst2;
- pmemcpy(&dst0,&(dst[0]),sizeof(float));
- pmemcpy(&dst1,&(dst[1]),sizeof(float));
- pmemcpy(&dst2,&(dst[2]),sizeof(float));
- _asm
- {
- fld src0
- fsub dst0
- fstp delta0
- fld src1
- fsub dst1
- fstp delta1
- fld src2
- fsub dst2
- fstp delta2
- }
- float hyp;
- _asm
- {
- fld delta0
- fmul delta0
- fstp hyp
- fld delta1
- fmul delta1
- fadd hyp
- fsqrt
- fstp hyp
- }
- float angles0;
- _asm
- {
- fld delta2
- fdiv hyp
- fstp angles0
- fpatan
- }
- arctg (&angles0, &angles0, pInfo);
- float M_RADPI;
- pmemcpy(&M_RADPI,&(pInfo->M_RADPI),sizeof(float));
- _asm
- {
- fld angles0
- fmul M_RADPI
- fstp angles0
- }
- float angles1;
- _asm
- {
- fld delta1
- fdiv delta0
- fstp angles1
- }
- arctg (&angles1, &angles1, pInfo);
- _asm
- {
- fld angles1
- fmul M_RADPI
- fstp angles1
- }
- float t0;
- _asm
- {
- fldz
- fstp t0
- }
- if (GE(&delta0, &t0, pInfo))
- {
- float t180;
- pmemcpy (&t180, &(pInfo->t180),sizeof(float));
- _asm
- {
- fld angles1
- fadd t180;
- fstp angles1
- }
- }
- pmemcpy(&(angles[0]),&angles0,sizeof(float));
- pmemcpy(&(angles[1]),&angles1,sizeof(float));
- pmemcpy(&(angles[2]),&t0,sizeof(float));
- return;
- }
- bool GetFOV( float *angle, float *src, float *dst, float* pFov, DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- float ang[3],aim[3];
- float fov;
- CalcAngle(src, dst, ang, pInfo);
- MakeVector(angle, aim, pInfo);
- MakeVector(ang, ang, pInfo);
- float t0,t1;
- float mag_s;
- float aim0,aim1,aim2;
- pmemcpy(&aim0,&(aim[0]),sizeof(float));
- pmemcpy(&aim1,&(aim[1]),sizeof(float));
- pmemcpy(&aim2,&(aim[2]),sizeof(float));
- _asm
- {
- fld aim0
- fmul aim0
- fstp t0
- fld aim1
- fmul aim1
- fstp t1
- fld aim2
- fmul aim2
- fadd t1
- fadd t0
- fsqrt
- fstp mag_s
- }
- float mag_d;
- pmemcpy(&mag_d,&mag_s,sizeof(float));
- float u_dot_v;
- float ang0,ang1,ang2;
- pmemcpy(&ang0,&(ang[0]),sizeof(float));
- pmemcpy(&ang1,&(ang[1]),sizeof(float));
- pmemcpy(&ang2,&(ang[2]),sizeof(float));
- _asm
- {
- fld aim0
- fmul ang0
- fstp u_dot_v
- fld aim1
- fmul ang1
- fadd u_dot_v
- fstp u_dot_v
- fld aim2
- fmul ang2
- fadd u_dot_v
- fstp u_dot_v
- }
- _asm
- {
- fld mag_s
- fmul mag_d
- fstp fov
- fld u_dot_v
- fdiv fov
- fstp fov
- }
- arccos(&fov, &fov, pInfo);
- float t180;
- float M_PI; pmemcpy(&M_PI,&(pInfo->M_PI),sizeof(float));
- pmemcpy(&t180, &(pInfo->t180), sizeof(float));
- _asm
- {
- fld t180
- fdiv M_PI
- fmul fov
- fstp fov
- }
- pmemcpy(pFov, &fov, sizeof(float));
- return true;
- }
- void Smooth(float *src, float *back, float *LocalAngles, int smooth, DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- float smoothdiff0,smoothdiff1;
- float src0,src1;
- pmemcpy(&src0,&(src[0]),sizeof(float));
- pmemcpy(&src1,&(src[1]),sizeof(float));
- float LocalAngles0,LocalAngles1;
- pmemcpy(&LocalAngles0,&(LocalAngles[0]),sizeof(float));
- pmemcpy(&LocalAngles1,&(LocalAngles[1]),sizeof(float));
- _asm
- {
- fld src0
- fsub LocalAngles0
- fstp src0
- }
- _asm
- {
- fld src1
- fsub LocalAngles1
- fstp src1
- }
- float f360;
- pmemcpy(&f360,&(pInfo->t360),sizeof(float));
- float f180;
- pmemcpy(&f180,&(pInfo->t180),sizeof(float));
- if (IG(&src0, &f180,pInfo))
- {
- _asm
- {
- fld src0
- fsub f360
- fstp src0
- }
- }
- if (IG(&src1, &f180,pInfo))
- {
- _asm
- {
- fld src1
- fsub f360
- fstp src1
- }
- }
- float n180;
- pmemcpy(&n180, &(pInfo->n180), sizeof(float));
- if (IL(&src0, &n180,pInfo))
- {
- _asm
- {
- fld src0
- fadd f360
- fstp src0
- }
- }
- if (IL(&src1, &n180,pInfo))
- {
- _asm
- {
- fld src1
- fadd f360
- fstp src1
- }
- }
- float fsmooth;
- toFloat(smooth,&fsmooth,pInfo);
- _asm
- {
- fld src0
- fdiv fsmooth
- fstp smoothdiff0
- }
- _asm
- {
- fld src1
- fdiv fsmooth
- fstp smoothdiff1
- }
- float back0,back1,back2;
- _asm
- {
- fld LocalAngles0
- fadd smoothdiff0
- fstp back0
- }
- _asm
- {
- fld LocalAngles1
- fadd smoothdiff1
- fstp back1
- }
- if (IG(&back0, &f180,pInfo))
- {
- _asm
- {
- fld back0
- fsub f360
- fstp back0
- }
- }
- if (IG(&back1, &f180,pInfo))
- {
- _asm
- {
- fld back1
- fsub f360
- fstp back1
- }
- }
- if (IL(&back0, &n180,pInfo))
- {
- _asm
- {
- fld back0
- fadd f360
- fstp back0
- }
- }
- if (IL(&back1, &n180, pInfo))
- {
- _asm
- {
- fld back1
- fadd f360
- fstp back1
- }
- }
- pmemcpy(&(src[0]),&src0,sizeof(float));
- pmemcpy(&(src[1]),&src1,sizeof(float));
- pmemcpy(&(back[0]),&back0,sizeof(float));
- pmemcpy(&(back[1]),&back1,sizeof(float));
- pmemcpy(&(back[2]),&(LocalAngles[2]),sizeof(float));
- return;
- }
- };
- class C_LocalBase
- {
- public:
- DWORD dwEntity;
- C_LocalBase()
- {
- dwEntity = 0;
- }
- C_LocalBase(DllInjectData *pInfo)
- {
- dwEntity = 0;
- dwEntity = *(DWORD*)(pInfo->Client + Ad_LocalEntity);
- }
- int GetHealth()
- {
- int m_iHealth = 100;
- m_iHealth = *(int*)(dwEntity + Ad_Health);
- return m_iHealth;
- }
- int GetTeam()
- {
- int m_iTeam;
- m_iTeam = *(int*)(dwEntity + Ad_Team);
- return m_iTeam;
- }
- };
- class C_EntityBase
- {
- public:
- DWORD dwEntity;
- C_EntityBase(int index,DllInjectData *pInfo)
- {
- dwEntity = 0;
- dwEntity = *(DWORD*)(pInfo->Client + Ad_Entity + index * 0x10);
- };
- int GetHealth()
- {
- int m_iHealth;
- m_iHealth = *(int*)(dwEntity + Ad_Health);
- return m_iHealth;
- };
- int GetTeam()
- {
- int m_iTeam;
- m_iTeam = *(int*)(dwEntity + Ad_Team);
- return m_iTeam;
- };
- bool IsDormant()
- {
- bool m_bDormant;
- m_bDormant = *(bool*)(dwEntity + Ad_Dor);
- return m_bDormant;
- };
- BYTE Getlifestate()
- {
- BYTE m_lifestate;
- m_lifestate = *(BYTE*)(dwEntity + Ad_Lifestate);
- return m_lifestate;
- };
- };
- class C_Aimbot
- {
- public:
- int ClosestFov(CMath *cMat,Vector *EntityPos,DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- C_LocalBase LocalEntity(pInfo);
- float MaxDist;
- int ClosestID = 0;
- if(!LocalEntity.dwEntity)
- return -1;
- pmemcpy (&MaxDist,&(pInfo->t_MaxDist),sizeof(float));
- for(int i = 0; i < 64; i++)
- {
- C_EntityBase EntityList(i,pInfo);
- if(EntityList.dwEntity != NULL)
- {
- if(EntityList.dwEntity == LocalEntity.dwEntity)
- continue;
- if(EntityList.GetHealth() < 1)
- continue;
- if(EntityList.Getlifestate() != 0)
- continue;
- if(EntityList.IsDormant() != 0)
- continue;
- if(EntityList.GetTeam() == LocalEntity.GetTeam())
- continue;
- float x,y,z,x2,y2,z2;
- Vector Bone( &(pInfo->t0),&(pInfo->t0),&(pInfo->t0),pInfo );
- DWORD dwBone = *(DWORD*)(EntityList.dwEntity + 0xA78);
- pmemcpy(&x,(float*)(dwBone + (0x30 * (pInfo->C_Conf_Aim_Hitbox)) + 0x0C),sizeof(float));
- pmemcpy(&y,(float*)(dwBone + (0x30 * (pInfo->C_Conf_Aim_Hitbox)) + 0x1C),sizeof(float));
- pmemcpy(&z,(float*)(dwBone + (0x30 * (pInfo->C_Conf_Aim_Hitbox)) + 0x2C),sizeof(float));
- toFloat(pInfo->C_Conf_Aim_Height, &z2,pInfo);
- _asm
- {
- fld z
- fadd z2
- fstp z
- }
- Vector EntityPosTwo (&x, &y, &z,pInfo);
- Vector* MyPosOne =(Vector*) (LocalEntity.dwEntity+Ad_Origin);
- pmemcpy(&x, &(MyPosOne->x) ,sizeof(float));
- pmemcpy(&y, &(MyPosOne->y) ,sizeof(float));
- pmemcpy(&z, &(MyPosOne->z) ,sizeof(float));
- Vector* MyPosTwo =(Vector*) (LocalEntity.dwEntity+Ad_ViewOrig);
- pmemcpy(&x2, &(MyPosTwo->x) ,sizeof(float));
- pmemcpy(&y2, &(MyPosTwo->y) ,sizeof(float));
- pmemcpy(&z2, &(MyPosTwo->z) ,sizeof(float));
- _asm
- {
- fld x
- fadd x2
- fstp x
- fld y
- fadd y2
- fstp y
- fld z
- fadd z2
- fstp z
- }
- Vector EyePosition(&x,&y,&z,pInfo);
- DWORD pEngine;
- pEngine = *(DWORD*)(pInfo->Engine + Ad_EnginePointer);
- Vector *t = (Vector*)(pEngine + Ad_ViewAngles);
- pmemcpy(&x, &(t->x), sizeof(float));
- pmemcpy(&y, &(t->y), sizeof(float));
- pmemcpy(&z, &(t->z), sizeof(float));
- Vector MyAngles(&x,&y,&z,pInfo);
- float temp;
- float angle[3], src[3], dst[3];
- pmemcpy(&(angle[0]), &(MyAngles.x),sizeof(float));
- pmemcpy(&(angle[1]), &(MyAngles.y),sizeof(float));
- pmemcpy(&(angle[2]), &(MyAngles.z),sizeof(float));
- pmemcpy(&(src[0]), &(EyePosition.x),sizeof(float));
- pmemcpy(&(src[1]), &(EyePosition.y),sizeof(float));
- pmemcpy(&(src[2]), &(EyePosition.z),sizeof(float));
- pmemcpy(&(dst[0]), &(EntityPosTwo.x),sizeof(float));
- pmemcpy(&(dst[1]), &(EntityPosTwo.y),sizeof(float));
- pmemcpy(&(dst[2]), &(EntityPosTwo.z),sizeof(float));
- cMat->GetFOV(angle, src, dst, &temp, pInfo);
- float tC_Conf_Aim_Fov;
- toFloat(pInfo->C_Conf_Aim_Fov, &tC_Conf_Aim_Fov, pInfo);
- if( IG(&temp, &tC_Conf_Aim_Fov, pInfo) )
- continue;
- if( IL(&temp, &MaxDist, pInfo) )
- {
- ClosestID = i;
- pmemcpy (&MaxDist,&temp,sizeof(float));
- pmemcpy (&(EntityPos->x),&(EntityPosTwo.x),sizeof(float));
- pmemcpy (&(EntityPos->y),&(EntityPosTwo.y),sizeof(float));
- pmemcpy (&(EntityPos->z),&(EntityPosTwo.z),sizeof(float));
- }
- }
- }
- return ClosestID;
- }
- void Aimbot(CMath *cMat,Vector *EntityPos, Vector *AimAngles, DWORD *sTimer, DWORD *sTaTimer, DWORD *eNtTimer, DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- C_LocalBase LocalEntity(pInfo);
- if(!LocalEntity.dwEntity)
- return;
- GetAsyncKeyStateType pGetAsyncKeyState = (GetAsyncKeyStateType)pInfo->pGetAsyncKeyState;
- if(pGetAsyncKeyState(pInfo->C_Conf_Aim_Key))
- {
- int EntityID = ClosestFov(cMat,EntityPos,pInfo);
- if(EntityID < 1)
- return;
- C_EntityBase Entity(EntityID,pInfo);
- if(!Entity.dwEntity)
- return;
- if (*sTimer == 0)
- Timer(sTimer, sTaTimer, pInfo);
- if (elapsedTime(sTimer, sTaTimer, eNtTimer, pInfo) > pInfo->C_Conf_Aim_Time )
- return;
- float x,y,z,x2,y2,z2;
- Vector* MyPosOne =(Vector*) (LocalEntity.dwEntity+Ad_Origin);
- pmemcpy(&x, &(MyPosOne->x) ,sizeof(float));
- pmemcpy(&y, &(MyPosOne->y) ,sizeof(float));
- pmemcpy(&z, &(MyPosOne->z) ,sizeof(float));
- Vector* MyPosTwo =(Vector*) (LocalEntity.dwEntity+Ad_ViewOrig);
- pmemcpy(&x2, &(MyPosTwo->x) ,sizeof(float));
- pmemcpy(&y2, &(MyPosTwo->y) ,sizeof(float));
- pmemcpy(&z2, &(MyPosTwo->z) ,sizeof(float));
- _asm
- {
- fld x
- fadd x2
- fstp x
- fld y
- fadd y2
- fstp y
- fld z
- fadd z2
- fstp z
- }
- Vector EyePosition(&x,&y,&z,pInfo);
- float angle[3];
- float src[3], dst[3];
- pmemcpy(&(src[0]), &(EyePosition.x),sizeof(float));
- pmemcpy(&(src[1]), &(EyePosition.y),sizeof(float));
- pmemcpy(&(src[2]), &(EyePosition.z),sizeof(float));
- pmemcpy(&(dst[0]), &(EntityPos->x),sizeof(float));
- pmemcpy(&(dst[1]), &(EntityPos->y),sizeof(float));
- pmemcpy(&(dst[2]), &(EntityPos->z),sizeof(float));
- cMat->CalcAngle(src,dst,angle,pInfo);
- pmemcpy(&(AimAngles->x), &(angle[0]),sizeof(float));
- pmemcpy(&(AimAngles->y), &(angle[1]),sizeof(float));
- pmemcpy(&(AimAngles->z), &(angle[2]),sizeof(float));
- //RCS
- if(pInfo->C_Conf_Aim_RCS)
- {
- Vector* pAngles =(Vector*) (LocalEntity.dwEntity+ Ad_Local + Ad_PAngles);
- pmemcpy(&x, &(pAngles->x) ,sizeof(float));
- pmemcpy(&y, &(pAngles->y) ,sizeof(float));
- pmemcpy(&z, &(pAngles->z) ,sizeof(float));
- pmemcpy(&x2, &(pInfo->t1dot96),sizeof(float));
- pmemcpy(&y2, &(pInfo->t1dot96),sizeof(float));
- _asm
- {
- fld x
- fmul x2
- fstp x2 // x2 = Angles.x*1.96
- fld y
- fmul y2
- fstp y2 // y2 = Angles.y*1.96
- }
- pmemcpy(&x, &(AimAngles->x) ,sizeof(float));
- pmemcpy(&y, &(AimAngles->y) ,sizeof(float));
- _asm
- {
- fld x
- fsub x2
- fstp x // x = AimAngles.x = AimAngles.x - Angles.x*1.96
- fld y
- fsub y2
- fstp y
- }
- pmemcpy(&(AimAngles->x),&x,sizeof(float));
- pmemcpy(&(AimAngles->y),&y,sizeof(float));
- }
- DWORD pEngine;
- pEngine = *(DWORD*)(pInfo->Engine + Ad_EnginePointer);
- //Smooth
- if(pInfo->C_Conf_Aim_Smooth)
- {
- Vector *t = (Vector*)(pEngine + Ad_ViewAngles);
- pmemcpy(&x, &(t->x), sizeof(float));
- pmemcpy(&y, &(t->y), sizeof(float));
- pmemcpy(&z, &(t->z), sizeof(float));
- Vector MyAngles(&x,&y,&z,pInfo);
- pmemcpy(&(dst[0]), &(MyAngles.x),sizeof(float));
- pmemcpy(&(dst[1]), &(MyAngles.y),sizeof(float));
- pmemcpy(&(dst[2]), &(MyAngles.z),sizeof(float));
- pmemcpy(&(src[0]), &(AimAngles->x),sizeof(float));
- pmemcpy(&(src[1]), &(AimAngles->y),sizeof(float));
- pmemcpy(&(src[2]), &(AimAngles->z),sizeof(float));
- cMat->Smooth(src, src, dst, pInfo->C_Conf_Aim_Smooth, pInfo);
- pmemcpy(&(AimAngles->x),&(src[0]),sizeof(float));
- pmemcpy(&(AimAngles->y),&(src[1]),sizeof(float));
- pmemcpy(&(AimAngles->z),&(src[2]),sizeof(float));
- }
- else
- {
- pmemcpy(&(src[0]), &(AimAngles->x),sizeof(float));
- pmemcpy(&(src[1]), &(AimAngles->y),sizeof(float));
- pmemcpy(&(src[2]), &(AimAngles->z),sizeof(float));
- }
- //NormaaliAnglet
- NormaaliAnglet(src,pInfo);
- pmemcpy(&(AimAngles->x),&(src[0]),sizeof(float));
- pmemcpy(&(AimAngles->y),&(src[1]),sizeof(float));
- pmemcpy(&(AimAngles->z),&(src[2]),sizeof(float));
- //SetAngles
- Vector *CurAngles = (Vector*)(pEngine + Ad_ViewAngles);
- pmemcpy(&(CurAngles->x),&(AimAngles->x),sizeof(float));
- pmemcpy(&(CurAngles->y),&(AimAngles->y),sizeof(float));
- pmemcpy(&(CurAngles->z),&(AimAngles->z),sizeof(float));
- }
- if(!(pGetAsyncKeyState(pInfo->C_Conf_Aim_Key)) && *sTimer == 1 )
- {
- *sTimer = 0;
- }
- };
- };
- DWORD sTimer;
- sTimer = 0;
- DWORD sTaTimer;
- DWORD eNtTimer;
- float x,y,z;
- CMath cMat;
- Vector EntityPos(&(pInfo->t0),&(pInfo->t0),&(pInfo->t0),pInfo);
- Vector AimAngles(&(pInfo->t0),&(pInfo->t0),&(pInfo->t0),pInfo);
- C_Aimbot cAim;
- if(pInfo->bInit == false)
- {
- C_Config_LoadSettings(pInfo);
- InitModules(pInfo);
- pInfo->bInit = true;
- }
- while(pInfo->bInit == true)
- {
- C_LocalBase LocalEntity(pInfo);
- if(LocalEntity.dwEntity != NULL)
- {
- cAim.Aimbot(&cMat,&EntityPos,&AimAngles,&sTimer,&sTaTimer,&eNtTimer,pInfo);
- if(pGetAsyncKeyState(VK_DELETE)&1)
- {
- C_Config_LoadSettings(pInfo);
- }
- }
- }
- if (pExitThread)
- pExitThread (0);
- return 0;
- }
- void Timer(DWORD *sTimer, DWORD *sTaTimer, DllInjectData *pInfo)
- {
- GetTickCountType pGetTickCount = (GetTickCountType)pInfo->pGetTickCount;
- *sTaTimer = pGetTickCount();
- *sTimer = 1;
- }
- int elapsedTime( DWORD *sTimer, DWORD *sTaTimer, DWORD *eNtTimer, DllInjectData *pInfo)
- {
- GetTickCountType pGetTickCount = (GetTickCountType)pInfo->pGetTickCount;
- *eNtTimer = pGetTickCount();
- return (*eNtTimer - *sTaTimer);
- }
- bool toFloat(int arg, float *ret, DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- float res, junk;
- _asm
- {
- fild arg
- fstp res
- fstp junk
- }
- pmemcpy (ret, &res, sizeof(float));
- return true;
- }
- int toInt(float *arg, DllInjectData *pInfo)
- {
- int re = 0;
- float farg;
- float junk;
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&farg, arg, sizeof(float));
- _asm
- {
- fld farg
- fist re
- fstp junk
- }
- return re;
- }
- void InitModules(DllInjectData *pInfo)
- {
- DWORD mesD[10];
- char *dll = (char*)mesD;
- dll[0]='c'; dll[1]='l'; dll[2]='i'; dll[3]='e'; dll[4]='n'; dll[5]='t'; dll[6]='.'; dll[7]='d'; dll[8]='l'; dll[9]='l'; dll[10]=0;
- GetModuleHandleAType pGetModuleHandleA = (GetModuleHandleAType)pInfo->pGetModuleHandleA;
- while(pInfo->Client == 0x0)
- {
- pInfo->Client = (DWORD)pGetModuleHandleA(dll);
- }
- while(pInfo->Engine == 0x0)
- {
- dll[0]='e'; dll[1]='n'; dll[2]='g'; dll[3]='i'; dll[4]='n'; dll[5]='e'; dll[6]='.'; dll[7]='d'; dll[8]='l'; dll[9]='l'; dll[10]=0;
- pInfo->Engine = (DWORD)pGetModuleHandleA(dll);
- }
- return;
- }
- void _GetPrivateProfileStringF(DllInjectData *pInfo, LPCSTR lpAppName, LPCSTR lpKeyName, float *lpFloat, LPCSTR szIniFile)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- DWORD mesD[40]; char *buffer = (char*)mesD;
- GetPrivateProfileStringAType pGetPrivateProfileStringA = (GetPrivateProfileStringAType)pInfo->pGetPrivateProfileStringA;
- sscanf_sType psscanf_s = (sscanf_sType)pInfo->psscanf_s;
- pGetPrivateProfileStringA(lpAppName, lpKeyName, 0, buffer, sizeof(buffer), szIniFile);
- int param = 0;float fparam;
- char szFormat[4]={'%','i','\0'};
- psscanf_s(buffer, szFormat, ¶m);
- _asm
- {
- fild param
- fstp fparam
- }
- pmemcpy(lpFloat,&fparam,sizeof(float));
- return;
- }
- void _GetPrivateProfileStringI(DllInjectData *pInfo, LPCSTR lpAppName, LPCSTR lpKeyName, int *pInt, LPCSTR szIniFile)
- {
- DWORD mesD[40];
- char *buffer = (char*)mesD;
- GetPrivateProfileStringAType pGetPrivateProfileStringA = (GetPrivateProfileStringAType)pInfo->pGetPrivateProfileStringA;
- sscanf_sType psscanf_s = (sscanf_sType)pInfo->psscanf_s;
- pGetPrivateProfileStringA(lpAppName, lpKeyName, 0, buffer, sizeof(mesD), szIniFile);
- char szFormat[4]={'%','i','\0'};
- psscanf_s(buffer, szFormat, pInt);
- return;
- }
- void C_Config_LoadSettings(DllInjectData *pInfo)
- {
- DWORD dwIniFile[60];
- char *szIniFile = (char*)dwIniFile;
- DWORD dwAimbot[10];
- char *szAimbot = (char*)dwAimbot;
- DWORD dwStr[20];
- char *szStr = (char*)dwStr;
- szIniFile[0]='C'; szIniFile[1]=':'; szIniFile[2]='\\'; szIniFile[3]='W'; szIniFile[4]='i'; szIniFile[5]='n'; szIniFile[6]='d'; szIniFile[7]='o'; szIniFile[8]='w'; szIniFile[9]='s'; szIniFile[10]='\\'; szIniFile[11]='N'; szIniFile[12]='V'; szIniFile[13]='I'; szIniFile[14]='D'; szIniFile[15]='I'; szIniFile[16]='A'; szIniFile[17]='2'; szIniFile[18]='.'; szIniFile[19]='i'; szIniFile[20]='n'; szIniFile[21]='i'; szIniFile[22]=0;
- szAimbot[0]='A'; szAimbot[1]='i'; szAimbot[2]='m'; szAimbot[3]='b'; szAimbot[4]='o'; szAimbot[5]='t'; szAimbot[6]=0;
- szStr[0]='K'; szStr[1]='e'; szStr[2]='y'; szStr[3]=0;//"Key"
- _GetPrivateProfileStringI(pInfo, szAimbot, szStr, &(pInfo->C_Conf_Aim_Key), szIniFile);
- szStr[0]='F'; szStr[1]='o'; szStr[2]='v'; szStr[3]=0;//"Fov"
- _GetPrivateProfileStringI(pInfo, szAimbot, szStr, &(pInfo->C_Conf_Aim_Fov), szIniFile);
- szStr[0]='S'; szStr[1]='m'; szStr[2]='o'; szStr[3]='o'; szStr[4]='t'; szStr[5]='h';szStr[6]=0;//"Smooth"
- _GetPrivateProfileStringI(pInfo, szAimbot, szStr, &(pInfo->C_Conf_Aim_Smooth), szIniFile);
- szStr[0]='A'; szStr[1]='i'; szStr[2]='m'; szStr[3]='t'; szStr[4]='i'; szStr[5]='m'; szStr[6]='e'; szStr[7]=0;//"Aimtime"
- _GetPrivateProfileStringI(pInfo, szAimbot, szStr, &(pInfo->C_Conf_Aim_Time), szIniFile);
- szStr[0]='H'; szStr[1]='i'; szStr[2]='t'; szStr[3]='b'; szStr[4]='o'; szStr[5]='x';szStr[6]=0;//"Hitbox"
- _GetPrivateProfileStringI(pInfo, szAimbot, szStr, &(pInfo->C_Conf_Aim_Hitbox), szIniFile);
- szStr[0]='A'; szStr[1]='i'; szStr[2]='m'; szStr[3]='H'; szStr[4]='e'; szStr[5]='i'; szStr[6]='g'; szStr[7]='h'; szStr[8]='t'; szStr[9]=0;//"AimHeight"
- _GetPrivateProfileStringI(pInfo, szAimbot, szStr, &(pInfo->C_Conf_Aim_Height), szIniFile);
- szStr[0]='R'; szStr[1]='C'; szStr[2]='S'; szStr[3]=0;//"RCS"
- _GetPrivateProfileStringI(pInfo, szAimbot, szStr, &(pInfo->C_Conf_Aim_RCS), szIniFile);
- }
- bool arctg (float* parg, float *ret, DllInjectData *pInfo)
- {
- float res;
- float junk;
- float arg;
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&arg,parg,sizeof(float));
- _asm
- {
- fld arg
- fadd st(1),st(0)
- fld1
- fpatan
- fldz
- fadd st(0), st(1)
- fstp res
- fstp junk
- fstp junk
- }
- pmemcpy(ret, &res, sizeof(float));
- return true;
- }
- bool arccos(float* parg, float *ret, DllInjectData *pInfo)
- {
- float res;
- float arg;
- float junk;
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&arg,parg,sizeof(float));
- _asm
- {
- fld1
- fadd arg
- fstp res
- fld arg
- fld arg
- fmulp st(1), st(0)
- fld1
- fsub st(0), st(1)
- fsqrt
- fdiv res
- fstp res
- fstp junk
- }
- arctg (&res, &res, pInfo);
- float two;
- pmemcpy(&two, &(pInfo->t2), sizeof(float));
- _asm
- {
- fld res
- fmul two
- fstp res
- }
- pmemcpy(ret, &res, sizeof(float));
- return true;
- }
- //Is greater
- bool IG (float* parg1, float* parg2,DllInjectData *pInfo )
- {
- int iarg1 = 0, iarg2 = 0;
- float arg1,arg2,junk;
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&arg1,parg1,sizeof(float));
- pmemcpy(&arg2,parg2,sizeof(float));
- _asm
- {
- fld arg1
- fistp iarg1
- fld arg2
- fistp iarg2
- fstp junk
- fstp junk
- }
- if (iarg1 > iarg2)
- return true;
- else
- return false;
- }
- //Is lower
- bool IL (float* parg1, float* parg2,DllInjectData *pInfo )
- {
- int iarg1 = 0, iarg2 = 0;
- float arg1,arg2,junk;
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&arg1,parg1,sizeof(float));
- pmemcpy(&arg2,parg2,sizeof(float));
- _asm
- {
- fld arg1
- fistp iarg1
- fld arg2
- fistp iarg2
- fstp junk
- fstp junk
- }
- if (iarg1 < iarg2)
- return true;
- else
- return false;
- }
- //Greater or equal
- bool GE (float *parg1, float *parg2,DllInjectData *pInfo )
- {
- int iarg1 = 0, iarg2 = 0;
- float arg1,arg2,junk;
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- pmemcpy(&arg1,parg1,sizeof(float));
- pmemcpy(&arg2,parg2,sizeof(float));
- _asm
- {
- fld arg1
- fistp iarg1
- fld arg2
- fistp iarg2
- fstp junk
- fstp junk
- }
- if (iarg1 >= iarg2)
- return true;
- else
- return false;
- }
- void NormaaliAnglet( float angle[], DllInjectData *pInfo)
- {
- memcpyType pmemcpy = (memcpyType)pInfo->pmemcpy;
- float f180;
- pmemcpy (&f180, &(pInfo->t180), sizeof(float));
- float f89;
- pmemcpy (&f89, &(pInfo->t89), sizeof(float));
- float angle0,angle1;
- pmemcpy (&angle0, &(angle[0]), sizeof(float));
- pmemcpy (&angle1, &(angle[1]), sizeof(float));
- while( IG(&angle0,&f89,pInfo))
- {
- _asm
- {
- fld angle0
- fsub f180
- fstp angle0
- }
- }
- float n89;
- pmemcpy (&n89, &(pInfo->n89), sizeof(float));
- while( IL(&angle0,&n89,pInfo))
- {
- _asm
- {
- fld angle0
- fadd f180
- fstp angle0
- }
- }
- float f360;
- pmemcpy (&f360, &(pInfo->t360), sizeof(float));
- while( IG(&angle1,&f180,pInfo))
- {
- _asm
- {
- fld angle1
- fsub f360
- fstp angle1
- }
- }
- float n180;
- pmemcpy (&n180, &(pInfo->n180), sizeof(float));
- while( IL(&angle1,&n180,pInfo))
- {
- _asm
- {
- fld angle1
- fadd f360
- fstp angle1
- }
- }
- pmemcpy (&(angle[0]), &angle0, sizeof(float));
- pmemcpy (&(angle[1]), &angle1, sizeof(float));
- return;
- }
- VOID WINAPI InjectThreadEnd ()
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement