U guys need to update some. Base on u guys crossfire version.
Requirements:
- Microsoft Summer SDK 2004
- Visual Studio 2017 -> 2019
- A little knowledges about OllyDbg ( for finding address )
Features:
1. showNameTag();
2. _SpamSpray();
3. _NoBugDamage();
4. SuperJump();
5. AllBypass();
6. GetCurrentPos();
7. ReturnCheckPointPos();
Like this thread If i can help you <3
Requirements:
- Microsoft Summer SDK 2004
- Visual Studio 2017 -> 2019
- A little knowledges about OllyDbg ( for finding address )
Features:
1. showNameTag();
2. _SpamSpray();
3. _NoBugDamage();
4. SuperJump();
5. AllBypass();
6. GetCurrentPos();
7. ReturnCheckPointPos();
C++:
#pragma once
//Define
#define WeaponMgr 0x1C9B3CC //String: ReloadAnimRatio
//10470160 8B0D B8FE8F11 MOV ECX,DWORD PTR DS:[118FFEB8] <== 0x18FFEB8
#define NoReload 0x1320
#define NoBugDamage 0xEBBF34 //String: _DZ
//106DB8F1 68 34BFEB10 PUSH CShell.10EBBF34; ASCII "rez\Butes\%s_DZ.ltc"
#define Bypass_31_0_1 0x732D51 //0F 84 DB 03 ?? ?? B8 01 ?? ?? ?? 68
//107177B1 0F84 DB030000 JE CShell.10717B92 <== 0x7177B1
#define Bypass_31_0_2 0x73293F //80 47 19 01 83 C0 01 83 C5 30 83 C3 10 83
//1071739F 8047 19 01 ADD BYTE PTR DS:[EDI+19],1 <== 0x71739F
//#define Bypass_28_3 0x72BF6D //83 F8 FF 0F 84 ?? ?? ?? ?? 56 50 E8
//1072BF6D . 0F84 F7010000 JE CShell.1072C16A <== 0x72BF6D
#define PlayerMgr 0x18F662C //String: MovementSpeed
//1044D72E . A1 CC4C7611 MOV EAX,DWORD PTR DS:[11764CCC] <== 0x1764CCC
#define ModelNode 0x1ABD21C //String: ModelNode
//10459D03 8B15 D4FD8F11 MOV EDX,DWORD PTR DS:[118FFDD4] <== 0x18FFDD4
#define ShowNameTag 0x62F1D8 // 7C 24 28 00 75 1E
//10613C78 . 837C24 28 00 CMP DWORD PTR SS:[ESP+28],0 <== 0x613C78
#define Radio 0x1483668 //80 ?? ?? ?? ?? ?? ?? 0F ?? ?? ?? ?? ?? 8B ?? ?? ?? ?? ?? ?? ?? ?? B8
////101295B6 803D 34F42D11 02 CMP BYTE PTR DS:[112DF434],2 <== 0x12DF434
#define Bunny 0x145EB20 //0F B6 05 ?? ?? ?? 11 52 50 8D 4C 24 20 51 8D
//100A1884 0FB605 88B62B11 MOVZX EAX,BYTE PTR DS:[112BB688] <== 0x12BB688
#define IsUseSpray 0x2E890 //.> 88 85 ?? ?? ?? ?? 5F 5E 5D 81 C4 ?? ?? ?? ?? C2 04 ?? CC CC CC
//100996CB |. 8885 D0E50200 MOV BYTE PTR SS:[EBP+2E5D0],AL <== 0x2E5D0
#define NoFlash 0xEA7CB4 //String: IMPOUI
//105CC0EA . 68 F4C9E710 PUSH CShell.10E7C9F4; ASCII "ImpoUI/NoiseScreen/FlashBangEfffect.dtx" <== 0xE7C9F4
// CC 83 79 ?? 00 8D 41 ?? 75 0E 50 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 08 33 C0 C3 //cai 90% :d
// Khả năng cho doạn ấy = 1 thì cũng anti flash đc :v
#define PlayerClientPosition 0xD74 // PATTERN: 8B 0D ?? ?? ?? ?? 8D 44 24 ?? 50 8B 86 ?? ?? ?? ?? // Ctrl + L đến khi không được nữa thì đó là offset
#define ADDR_aLTClientShell 0x13D6210 // PATTERN: 8B 0D ?? ?? ?? ?? 50 8D 44 24 ?? 50 81 C1 ?? ?? ?? ??
//10174446 . 8B0D 1C362311 MOV ECX,DWORD PTR DS:[1123361C] ; |CShell.1127D1A0 <== 0x123361C
#define aCLTPlayerClient 0x15E0B60 //B9 ?? ?? ?? ?? E8 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 59 C3 CC CC CC CC CC CC CC CC CC CC 6A 04 68 ?? ?? ?? ??
//10D45B40 B9 A0D12711 MOV ECX,CShell.1127D1A0 <== CLTPlayerClient 0x127D1A0
#define MsgVar1 0x75
#define MsgVar2 0x2E
#define MsgVar3 0x18D080
#define MsgVar4 0x14
/*
104802CE 6A 00 PUSH 0 <== "vertex lock failed"
104802D0 6A 75 PUSH 75
104802D2 6A 2E PUSH 2E
104802D4 E8 A7CDD0FF CALL CShell.1018D080
104802D9 83C4 14 ADD ESP,14
*/
#define ADDR_GLOWESP 0x08CC40 //String: PlayerOutLineRender 1
//1008CC40 53 PUSH EBX <== 0x08CC40
#define OFFS_PLAYERVIEWMGR 0x2D0 // PATTERN: 8B 87 ?? ?? ?? ?? 55 56 8B 70 08 85 F6 75 07
//105881DF 8B87 D0020000 MOV EAX, DWORD PTR DS : [EDI + 2D0] <== 0x2D0
#define OFFS_OLDSPY 0x8F4 // PATTERN: D8 86 ?? ?? ?? ?? D9 5C 24 0C D9 44 24 0C D9 96 ?? ?? ?? ?? D9 86 ?? ?? ?? ?? D8 C2 D9 5C 24 0C D9 44 24 0C D9 96 ?? ?? ?? ?? D9 86 ?? ?? ?? ?? DE C3 D9 CA D9 9E
//1059F824 D886 0C090000 FADD DWORD PTR DS:[ESI+90C] <== 90C
#define oFullBalo 0x2B5E0 //.> [8B 86 ?? ?? 00 00 8B 0D ?? ?? ?? ?? 89 81 ?? ?? ?? 00 5E C3]
//1087BD3C 8981 E0B50200 MOV DWORD PTR DS:[ECX+2B5E0],EAX <== 0x2B5E0
#define oSpamRadio 0x16441AC //.> [ 80 ?? ?? ?? ?? ?? ?? 0F ?? ?? ?? ?? ?? 8B ?? ?? ?? ?? ?? ?? ?? ?? B8 ]
//10136BAE 803D AC416411 02 CMP BYTE PTR DS:[116441AC],2 <== 0x16441AC
#define aStatusGamign 0x164703C //.> 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 0D ?? ?? ?? ?? 85 C9 8B F0
//101829D3 A1 3C706411 MOV EAX,DWORD PTR DS:[1164703C] <== 0x164703C
#define m_CLTPlayClient 0x78 //.> 8B 4D ?? 8B 01 8B 90 ?? ?? ?? ?? FF D2 hoặc 74 ?? 8B 4D ?? 8B 01 8B 90
//10087A45 8B4D 78 MOV ECX, DWORD PTR SS : [EBP + 78] <== 0x78
#define m_GameType 0x744 //.> D9 95 ?? ?? ?? ?? D9 44 24 6C D9 44 24 64 D9 C0
//10C87EF2 D995 44070000 FST DWORD PTR SS:[EBP+744] <== 0x744
#define m_PlayerPosNew 0xD74 //.> 8B 0D ?? ?? ?? ?? 8D 44 24 20 50 8B 86 ?? ?? ?? ?? = x2
//109D25FB 8B86 740D0000 MOV EAX,DWORD PTR DS:[ESI+D74] <== 0xD74
#define m_PlayerPosOld 0x524 //.> 8B 0D ?? ?? ?? ?? 8D 44 24 20 50 8B 86 ?? ?? ?? ?? = x1
//1057821B 8B86 24050000 MOV EAX,DWORD PTR DS:[ESI+524] <== 0x524
#define m_WeaponStateOld 0x744
//.> 8B 44 24 04 89 81 ?? 07 00 00 C2 04 00 CC CC CC 8B 81 ?? 07 00 00 C3 = x1
#define m_WeaponStateNew 0x654
//.> 8B 44 24 04 89 81 ?? 06 00 00 C2 04 00 CC CC CC 8B 81 ?? 06 00 00 C3 = x2
extern DWORD CShell;
C++:
struct cWeaponLite
{
char pad_0[14];
char WeaponName[948];
char ModelFileName[606];
char SkinFileName[730];
char RenderStyleFileName[165];
char GViewAnimName[151];
char pad_1[2];
char ReloadSoundName[284];
char pad_2[4832];
char PViewSkinFileName[428];
char PViewModelFileName[148];
char pad_3[444];
char PViewRenderStyleFileName[165];
char ShotSoundName[33];
char MagazineClipOutSoundName[33];
char MagazineClipInSoundName[33];
char BlowBackSoundName[33];
char DelBlowBackSoundName[231];
char BigIconName[49];
char SmallIconName[84];
char EffectGunFire[165];
char EffectPVGunFire[331];
char WeaponInfoString[65];
};
struct Vector3 {
float x, y, z;
};
struct Vector4 : public Vector3 {
float w;
};
struct BasicPlayerInfo {
DWORD UnkPtr00;
float MovementSpeed;
float MovementWalkRate;
float MovementSideMoveRate;
float MovementFBRunAnimRate;
float MovementLBRunAnimRate;
float MovementFBWalkAnimRate;
float MovementLRBWalkAnimRate;
float MovementAccelation;
float MovementFriction;
float JumpTime;
float JumpVelocity;
float JumpLandedWaitTime;
float JumpLandedNoJumpTimeRate;
float JumpRepeatPenaltyMoveRate;
float JumpRepeatPenaltyHeightRate;
float JumpLandedMovePenaltyTimeRate;
float JumpLandedMovePenaltyMoveRate;
Vector3 PVPosDefault;
Vector3 PVRotationDefault;
float PVOnlyMoveFlipTime;
Vector3 PVOnlyMoveGap;
float DamagePenaltyTime;
float DamagePenaltyMoveRate;
float C4PlantTime;
float C4DefuseTime;
float MaxCanDefuseDistance;
float CharacterHiddenAlpha;
float CharacterHiddenWalkAlpha;
float CharacterHiddenRunAlpha;
Vector4 MovementHiddenRate;
};
struct Dimension_t
{
Dimension_t() : x(0), y(0), z(0) {}
Dimension_t(FLOAT _x, FLOAT _y, FLOAT _z) : x(_x), y(_y), z(_z) {}
FLOAT x, y, z;
void operator = (FLOAT radius)
{
this->x = radius;
this->y = radius;
this->z = radius;
}
} *Backup = new Dimension_t[1328];
struct Position
{
float x = 0, y = 0, z = 0;
};
C++:
#pragma once
#ifndef __FIND_PATTERN_H__
#define __FIND_PATTERN_H__
#include <Windows.h>
namespace Crossfire
{
class FindPattern
{
public:
FindPattern(DWORD dwAddress, DWORD len, BYTE* bMask, char* szMask) : Base(0), Offset(0)
{
for (DWORD i = 0; i < len; i++)
{
if (bCompare((BYTE*)(dwAddress + i), bMask, szMask))
{
Base = (DWORD)(dwAddress + i);
Offset = i;
break;
}
}
}
DWORD Base, Offset;
private:
bool bCompare(const BYTE * pData, const BYTE * bMask, const char* szMask)
{
for (; *szMask; ++szMask, ++pData, ++bMask)
if (*szMask == '0' && *pData != *bMask)
return false;
return (*szMask) == NULL;
}
};
}
#endif
C++:
#pragma once
DWORD GetInstance()
{
if (GetModuleHandleA("CShell.dll") != NULL)
return (DWORD)GetModuleHandleA("CShell.dll");
}
DWORD eCF()
{
if (GetModuleHandleA("crossfire.dat") != NULL)
return (DWORD)GetModuleHandleA("crossfire.dat");
}
bool IsGameReadyForHook()
{
if (GetModuleHandleA("CShell.dll") != NULL && GetModuleHandleA("ClientFx.fxd") != NULL)
return true;
return false;
}
void ValidateString(char* string, char original)
{
memcpy(reinterpret_cast<void*>(string), reinterpret_cast<void*>(&original), 1);
}
void OverwriteString(char* target, char* source, uint32_t length)
{
memcpy(reinterpret_cast<void*>(target), reinterpret_cast<void*>(source), length);
memcpy(reinterpret_cast<void*>(target + length), reinterpret_cast<void*>("\x00"), 1);
}
void InvalidateString(char* string)
{
ValidateString(string, 0);
}
C++:
#pragma once
#include "Address.h"
#include "Functions.h"
#include "FindPattern.h"
#include <fstream>
#include "Class.h"
bool isgetaddress = false;
DWORD *pModelNode, _aCLTPlayerClient, WeaponBase,ADDR_Bunny, _m_GameType, _m_PlayerPosNew, _m_PlayerPosOld, _aCLTPlayerClientOffset;
BYTE* ADR_AntiFlash;
BOOL * InGame;
Position Pos;
void FindAddress()
{
if (!isgetaddress)
{
{
/*Ptr ModelNode*/ {
DWORD Temp = Crossfire::FindPattern(CShell, 0xFFFFFFF, (PBYTE)("\x8B\x15\x00\x00\x00\x00\x83\xC4\x20\x33\xED"), "00????00000").Base;
if (Temp)
{
pModelNode = reinterpret_cast<DWORD*>(*(DWORD*)(Temp + 0x2));
}
else return;
}
}
/*cLTPlayerClient*/ {
DWORD Temp = Crossfire::FindPattern(CShell, 0xFFFFFFF, (PBYTE)("\xB9\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x59\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x6A\x04\x68"), "0????0????0????0????000000000000000").Base;
if (Temp)
{
_aCLTPlayerClient = *(DWORD*)(Temp + 0x1);
InGame = (BOOL*)(_aCLTPlayerClient + 0x74);
_aCLTPlayerClient -= CShell;
}
else return;
}
/*Weapon Base*/ {
DWORD Temp = Crossfire::FindPattern(CShell, 0xFFFFFFF, (PBYTE)("\x68\x00\x00\x00\x00\xD9\x9A\x00\x00\x00\x00\x53\xE8\x00\x00\x00\x00"), "0????00????00????").Base;
if (Temp)
{
WeaponBase = *(DWORD*)(Temp + 0x23);
WeaponBase -= CShell;
}
else return;
}
/*_m_GameType*/ {
DWORD Temp = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)"\xD9\x95\x00\x00\x00\x00\xD9\x44\x24\x6C\xD9\x44\x24\x64\xD9\xC0", "00????0000000000").Base;
if (Temp) _m_GameType = *(DWORD*)(Temp + 0x2);
else return;
}
/*_m_PlayerPosNew*/ {
DWORD Temp = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x8B\x0D\x00\x00\x00\x00\x8D\x44\x24\x20\x50\x8B\x86\x74\x0D\x00\x00", "00????000000000??").Base;
if (Temp) _m_PlayerPosNew = *(DWORD*)(Temp + 0xD);
else return;
}
/*_m_PlayerPosOld*/ {
DWORD Temp = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x8B\x0D\x00\x00\x00\x00\x8D\x44\x24\x20\x50\x8B\x86\x24\x05\x00\x00", "00????000000000??").Base;
if (Temp) _m_PlayerPosOld = *(DWORD*)(Temp + 0xD);
else return;
}
/*_aCLTPlayerClientOffset*/ {
DWORD Temp = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x68\x00\x00\x00\x00\x6A\x02\xFF\xD2\xEB\x5B\x8B\x4D\x00", "0????00000000?").Base;
if (Temp) _aCLTPlayerClientOffset = *(BYTE*)(Temp + 0xD);
else return;
}
isgetaddress = true;
}
}
void _NoBugDamage()
{
static DWORD ADDR_NoBugDamage = NULL;
if (!ADDR_NoBugDamage)
{
ADDR_NoBugDamage = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)("\x68\xD4\x4D\xF3\x10\x52\x89\x8E\x9C\x01\x00\x00\xFF\xD3"), "0????00000??00").Base;
if (ADDR_NoBugDamage)
{
ADDR_NoBugDamage = *(DWORD*)(ADDR_NoBugDamage + 0x1);
ADDR_NoBugDamage -= CShell;
}
}
else *(uint64_t*)(CShell + ADDR_NoBugDamage + 0xA) = 0x544C2E3533304642;
}
void showNameTag()
{
static DWORD ADDR_ShowNameTag = 0x0;
if (!ADDR_ShowNameTag)
{
ADDR_ShowNameTag = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x83\x7C\x24\x28\x00\x75\x1E", "0000000").Offset;
}
else *(DWORD*)(CShell + ADDR_ShowNameTag + 1) = 19407996;
}
void _SpamSpray()
{
DWORD CShell = (DWORD)GetModuleHandleA("CShell.dll");
static DWORD m_IsUseSpray = 0x0;
if (!m_IsUseSpray)
{
m_IsUseSpray = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x88\x85\x00\x00\x00\x00\x5F\x5E\x5D\x81\xC4\x00\x00\x00\x00\xC2\x04", "00????00000????00").Base;
m_IsUseSpray = *(DWORD*)(m_IsUseSpray + 0x2);
}
else *(DWORD*)(CShell + _aCLTPlayerClient + m_IsUseSpray) = 258;
}
void Skill()
{
DWORD pCLTPlayerClient = *(DWORD*)(CShell + _aCLTPlayerClient + _aCLTPlayerClientOffset);
if (pCLTPlayerClient == NULL) return;
DWORD GameType = *(DWORD*)(pCLTPlayerClient + _m_GameType);
DWORD PlayerPos = *(DWORD*)(pCLTPlayerClient + (GameType == 1065353216 ? _m_PlayerPosNew : _m_PlayerPosOld));
if (PlayerPos != NULL)
{
if (GetAsyncKeyState(VK_NUMPAD0) & 1)
{
*(float*)(PlayerPos + 0xE4) += 25.0f; // Position.y ==> 0xE4
}
}
}
void AllBypass()
{
static DWORD _Bypass_30_0_LTB = 0x0;
static DWORD _Bypass_30_0_DTX = 0x0;
if (!_Bypass_30_0_DTX)
{
_Bypass_30_0_DTX = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x80\x47\x19\x01\x83\xC0\x01\x83\xC5\x30\x83\xC3\x10\x83", "000?0000000000").Base;
}
if (!_Bypass_30_0_LTB)
{
_Bypass_30_0_LTB = Crossfire::FindPattern(CShell, 0xFFFFFF, (PBYTE)"\x0F\x84\xDB\x03\x00\x00\xB8\x01\x00\x00\x00\x68", "0000??00???0").Base;
}
memcpy((void*)_Bypass_30_0_DTX, "\x80\x47\x19\x00", 4);
memcpy((void*)_Bypass_30_0_LTB, "\xE9\xDC\x03\x00\x00\x90", 6);
}
void GetCurrentPos()
{
DWORD pCLTPlayerClient = *(DWORD*)(CShell + _aCLTPlayerClient + _aCLTPlayerClientOffset);
if (pCLTPlayerClient == NULL) return;
DWORD GameType = *(DWORD*)(pCLTPlayerClient + _m_GameType);
DWORD PlayerPos = *(DWORD*)(pCLTPlayerClient + (GameType == 1065353216 ? _m_PlayerPosNew : _m_PlayerPosOld));
if (PlayerPos != NULL)
{
if (GetAsyncKeyState(VK_MENU) & 1)
{
Pos.x = *(float*)(PlayerPos + 0xE0); // Position.x ==> 0xE0
Pos.y = *(float*)(PlayerPos + 0xE4); // Position.y ==> 0xE4
Pos.z = *(float*)(PlayerPos + 0xE8); // Position.z ==> 0xE8
}
}
}
void ReturnCheckPointPos()
{
DWORD pCLTPlayerClient = *(DWORD*)(CShell + _aCLTPlayerClient + _aCLTPlayerClientOffset);
if (pCLTPlayerClient == NULL) return;
DWORD GameType = *(DWORD*)(pCLTPlayerClient + _m_GameType);
DWORD PlayerPos = *(DWORD*)(pCLTPlayerClient + (GameType == 1065353216 ? _m_PlayerPosNew : _m_PlayerPosOld));
if (PlayerPos != NULL)
{
if (GetAsyncKeyState(VK_NUMPAD1) & 1)
{
*(float*)(PlayerPos + 0xE0) = Pos.x; // Position.x ==> 0xE0
*(float*)(PlayerPos + 0xE4) = Pos.y; // Position.y ==> 0xE4
*(float*)(PlayerPos + 0xE8) = Pos.z; // Position.z ==> 0xE8
}
}
}
/*
Dimension_t& GetDimensionByIndex(UINT16 Index)
{
return *(Dimension_t*)(*pModelNode + 0x9C * Index + 0x38);
}
void IncreaseDimension(bool& once)
{
if (*pModelNode)
{
if (!once)
{
for (UINT16 i = 0; i < 1328; i++)
{
Backup[i] = GetDimensionByIndex(i);
}
once = true;
}
else
{
if (*InGame)
{
GetDimensionByIndex(6) = 27.5f;
GetDimensionByIndex(7) = 27.5f;
GetDimensionByIndex(8) = 27.5f;
}
else
{
for (UINT16 i = 0; i < 1328; i++)
{
GetDimensionByIndex(i) = Backup[i];
}
}
}
}
}
*/
/*
void WeaponLogger()
{
std::ofstream oFile("WeaponLogger.log");
DWORD aWeaponMgr = *(DWORD*)(CShell + WeaponBase);
if (aWeaponMgr)
{
for (int i = 0; i < 0x1000; i++)
{
DWORD dwWeapon = *(DWORD*)(aWeaponMgr + (4 * i));
if (dwWeapon)
{
oFile << "ID : " << i << "\nName: " << ((cWeaponLite*)dwWeapon)->WeaponName << "\n\n";
}
}
oFile.close();
ExitProcess(1);
}
}
void ChangeSkinByID(int oldID, int newID)
{
DWORD aWeaponMgr = *(DWORD*)(CShell + WeaponBase);
if (aWeaponMgr)
{
DWORD dwOldWeapon = *(DWORD*)(aWeaponMgr + (4 * oldID));
DWORD dwNewWeapon = *(DWORD*)(aWeaponMgr + (4 * newID));
if (dwOldWeapon && dwNewWeapon)
{
//Skin
memcpy(((cWeaponLite*)dwOldWeapon)->ModelFileName, ((cWeaponLite*)dwNewWeapon)->ModelFileName, 128);
memcpy(((cWeaponLite*)dwOldWeapon)->SkinFileName, ((cWeaponLite*)dwNewWeapon)->SkinFileName, 128);
memcpy(((cWeaponLite*)dwOldWeapon)->PViewSkinFileName, ((cWeaponLite*)dwNewWeapon)->PViewSkinFileName, 128);
memcpy(((cWeaponLite*)dwOldWeapon)->PViewModelFileName, ((cWeaponLite*)dwNewWeapon)->PViewModelFileName, 128);
//Sound
memcpy(((cWeaponLite*)dwOldWeapon)->BlowBackSoundName, ((cWeaponLite*)dwNewWeapon)->BlowBackSoundName, 33);
memcpy(((cWeaponLite*)dwOldWeapon)->DelBlowBackSoundName, ((cWeaponLite*)dwNewWeapon)->DelBlowBackSoundName, 33);
memcpy(((cWeaponLite*)dwOldWeapon)->MagazineClipInSoundName, ((cWeaponLite*)dwNewWeapon)->MagazineClipInSoundName, 33);
memcpy(((cWeaponLite*)dwOldWeapon)->MagazineClipOutSoundName, ((cWeaponLite*)dwNewWeapon)->MagazineClipOutSoundName, 33);
memcpy(((cWeaponLite*)dwOldWeapon)->ReloadSoundName, ((cWeaponLite*)dwNewWeapon)->ReloadSoundName, 33);
memcpy(((cWeaponLite*)dwOldWeapon)->ShotSoundName, ((cWeaponLite*)dwNewWeapon)->ShotSoundName, 33);
//GUI
memcpy(((cWeaponLite*)dwOldWeapon)->WeaponName, ((cWeaponLite*)dwNewWeapon)->WeaponName, 65);
memcpy(((cWeaponLite*)dwOldWeapon)->BigIconName, ((cWeaponLite*)dwNewWeapon)->BigIconName, 49);
memcpy(((cWeaponLite*)dwOldWeapon)->SmallIconName, ((cWeaponLite*)dwNewWeapon)->SmallIconName, 84);
}
}
}
*/
/*
bool NVH = false;
void HookFunction()
{
NVH = true;
}
void FastAndFarDefuse()//de tui chinh che do cua so cho do lag
{
static bool isHooked = false;
if (!isHooked)
{
BYTE old[7] = { 0 };//cai nay 28_3 ma` um ma chua hoan` thien
DWORD oldProtect;
VirtualProtect((void*)(CShell + 0x489FD0), 12, PAGE_EXECUTE_READWRITE, &oldProtect);// bi lag
memcpy(old, (void*)(CShell + 0x489FD0), 7);
*(BYTE*)(CShell + 0x489FD0) = 0xE9;
*(DWORD*)(CShell + 0x489FD1) = (DWORD)HookFunction - (DWORD)(CShell + 0x489FD0) - 5;
memcpy((void*)(CShell + 0x489FD5), old, 7);
VirtualProtect((void*)(CShell + 0x489FD0), 12, oldProtect, &oldProtect);
isHooked = true;//ngu ong ei me tui keu vkl v: ok ok :V mai lam tiep vay mai ong p giang tui r lam tu nay den h meo hieu gi v; : v bye bye ok ngu ngon
}day day sao ay' ??
DWORD* pBasicPlayerInfo = (DWORD*)(CShell + WeaponBase); //?? Weapon :v htrc co Replace ok ok nen no replay het nhung thg n
if (*pBasicPlayerInfo && NVH)
{
BasicPlayehrInfo* pRef = (BasicPlayerInfo*)(*pBasicPlayerInfo);
pRef->C4DefuseTime = 0.0f;
pRef->MaxCanDefuseDistance = 99999.0f; h ong lam cai spam sray vs show name tag di roi` gui tui code test thu chu code tui ko bt sai o dau meo vo game dc. h tui di co vc tat teamview ty ty share het code ra dayluc nao rnah lam cho ca bypass nua. ty ong gui tui trc cai show name tag vs spam spray dc ko ok
pRef->MovementWalkRate = 20.0f;
MessageBoxA(0, "ON", 0, MB_OK);
}
}
*/
C++:
#pragma warning(disable : 4996)
#include <d3d9.h>
#include <d3dx9.h>
#include <stdint.h>
#include "Hacks.h"
#include <iostream>
DWORD CShell;
void HackStart()
{
showNameTag();
_SpamSpray();
_NoBugDamage();
Skill();
AllBypass();
GetCurrentPos();
ReturnCheckPointPos();
Sleep(10);
}
void Engine()
{
while (!IsGameReadyForHook()) {
Sleep(200);
}
while (true)
{
CShell = (DWORD)GetModuleHandleA("CShell.dll");
HackStart();
}
}
extern "C" __declspec(dllexport) BOOL WINAPI DllMain(HMODULE hDLL, DWORD dwReason, LPVOID lpvRe)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hDLL);
MessageBoxA(NULL, "Welcome to G4Glitcher !!!", "Developed by CoderDuc !!!", MB_OK);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Engine, 0, 0, 0);
break;
case DLL_PROCESS_DETACH:
break;
}
return true;
}
Like this thread If i can help you <3