External skinchanger not working.

Posts 1–4 of 4 · Page 1 of 1
External skinchanger not working.
Hello guys i am trying to make work skinchanger but skin is not changing.. game is forceupdating but weapon is still default.
Code:
#include "skinchanger.h"
#include "memory.h"

CSkinChanger* skinchanger = new CSkinChanger();

CSkinChanger::CSkinChanger()
{
}

CSkinChanger::~CSkinChanger()
{
	current_weapon = NULL;
}

void CSkinChanger::changeName(char* name)
{
	WriteProcessMemory(mem->hProcess, (PBYTE*)(current_weapon + 0x2FF4), name, sizeof(char*)* 5, 0);
}

void CSkinChanger::doSmth()
{
	mem->WriteMem<int>(current_weapon + 0x01E8, 0);//m_iItemIDHigh
	mem->WriteMem<int>(current_weapon + 0x01EC, -1);//m_iItemIDLow
	mem->WriteMem<int>(current_weapon + 0x4D68, 0);//m_OriginalOwnerXuidLow
	mem->WriteMem<int>(current_weapon + 0x4D6C, 0);//m_OriginalOwnerXuidHigh
}

void CSkinChanger::setSkin(int id)
{
	mem->WriteMem<int>(current_weapon + 0x4D70, id);//m_nFallbackPaintKit
}

void CSkinChanger::setStatTrak(int count)
{
	mem->WriteMem<int>(current_weapon + 0x4D7C, count);//m_nFallbackStatTrak
}

void CSkinChanger::setSeed(int seed)
{
	mem->WriteMem<int>(current_weapon + 0x4D74, seed);//m_nFallbackSeed
}

void CSkinChanger::setWear(float wear)
{
	mem->WriteMem<float>(current_weapon + 0x4D78, wear);//m_flFallbackWear
}
Code:
#include "memory.h"

CMemory* mem = new CMemory();

CMemory::CMemory()
{
}

CMemory::~CMemory()
{
	CloseHandle(hProcess);
}

void CMemory::Process(char* ProcessName)
{
	HANDLE hPID = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
	PROCESSENTRY32 ProcEntry;
	ProcEntry.dwSize = sizeof(ProcEntry);

	do
	if (!strcmp(ProcEntry.szExeFile, ProcessName))
	{
		PID = ProcEntry.th32ProcessID;
		CloseHandle(hPID);

		hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
		return;
	}
	while (Process32Next(hPID, &ProcEntry));

	system("pause");
	exit(0);
}

bool CMemory::DataCompare(BYTE* data, BYTE* sign, char* mask)
{
	for(; *mask; mask++, sign++, data++)
	{
		if(*mask == 'x' && *data != *sign)
		{
			return false;
		}
	}
	return true;
}

DWORD CMemory::FindSignature(DWORD base, DWORD size, BYTE* sign, char* mask)
{
	MEMORY_BASIC_INFORMATION mbi = {0};
	DWORD offset = 0;
	while(offset < size)
	{
		VirtualQueryEx(hProcess, (LPCVOID)(base + offset), &mbi, sizeof(MEMORY_BASIC_INFORMATION));
		if(mbi.State != MEM_FREE)
		{
			BYTE* buffer = new BYTE[mbi.RegionSize];
			ReadProcessMemory(hProcess, mbi.BaseAddress, buffer, mbi.RegionSize, NULL);
			for(int i = 0; i < mbi.RegionSize; i++)
			{
				if(DataCompare(buffer + i, sign, mask))
				{
					delete[] buffer;
					return (DWORD)mbi.BaseAddress + i;
				}
			}

			delete[] buffer;
		}
		offset += mbi.RegionSize;
	}
	return 0;
}

DWORD CMemory::Module(char* ModuleName)
{
	HANDLE hModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, PID);
	MODULEENTRY32 mEntry;
	mEntry.dwSize = sizeof(mEntry);

	do
	if (!strcmp(mEntry.szModule, ModuleName))
	{
		CloseHandle(hModule);
		return (DWORD)mEntry.modBaseAddr;
	}
	while (Module32Next(hModule, &mEntry));

	return 0;
}

DWORD CMemory::ModuleSize(char* ModuleName)
{
	HANDLE hModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, PID);
	MODULEENTRY32 mEntry;
	mEntry.dwSize = sizeof(mEntry);

	do
	if (!strcmp(mEntry.szModule, ModuleName))
	{
		CloseHandle(hModule);
		return (DWORD)mEntry.modBaseSize;
	}
	while (Module32Next(hModule, &mEntry));

	return 0;
}
Code:
void skins()
{
	skinchanger->current_weapon = local_player->getCurrentWeapon();
	float wear = 0.00001f;

	if(GetAsyncKeyState(VK_RMENU) && local_player->getCurrentWeapon() != tempWeap)
	{
		mem->WriteMem<int>(skinchanger->current_weapon + 0x1530, 0);//m_OriginalOwnerXuidLow
		mem->WriteMem<int>(skinchanger->current_weapon + 0x1534, 0);//m_OriginalOwnerXuidHigh
		skinchanger->setWear(0.000001f);

		mem->WriteMem<int>(skinchanger->current_weapon + 0x15A0, 326);
		mem->WriteMem<int>(skinchanger->current_weapon + 0x15A4, 327);

		mem->WriteMem<int>(skinchanger->current_weapon + 0x1370, -1);//itemlowid
		mem->WriteMem<int>(skinchanger->current_weapon + 0x135C, 3);//m_iEntityQuality -> 0x01D4
		skinchanger->setSkin(38);
		mem->WriteMem<int>(skinchanger->current_weapon + 0x1358, 507);//itemdefindex

		tempWeap = local_player->getCurrentWeapon();

		engine->forceUpdate(local_player->getEnginePointer());

		//*(PINT)((DWORD)pWeapon + 0x15A0) = Config::KnifeInfo.iViewIndex;
		//*(PINT)((DWORD)pWeapon + 0x15A4) = Config::KnifeInfo.iWorldIndex;

		//*(PINT)((DWORD)pWeapon + Offsets::m_AttributeManager + Offsets::m_Item + Offsets::m_iItemIDHigh) = -1;
		//*(PINT)((DWORD)pWeapon + Offsets::m_AttributeManager + Offsets::m_Item + 0x1D4) = 3;
		//pWeapon->Setkit(38);
		//*(PINT)((DWORD)pWeapon + 0x1148 + 0x40 + 0x1D0) = Config::KnifeInfo.iWeaponID;
	}

	if(GetAsyncKeyState(cvars->skin1_key) && local_player->getCurrentWeapon() != tempWeap)
	{
		//skin->changeName(loc->getCurrentWeapon(), "#LEAKED");
		skinchanger->doSmth();
		skinchanger->setSkin(cvars->skin1);
		tempWeap = local_player->getCurrentWeapon();
		engine->forceUpdate(local_player->getEnginePointer());
	}
	if(GetAsyncKeyState(cvars->skin2_key) && local_player->getCurrentWeapon() != tempWeap)
	{
		skinchanger->doSmth();
		skinchanger->setSkin(cvars->skin2);
		skinchanger->setStatTrak(1488);
		skinchanger->setWear(wear);
		tempWeap = local_player->getCurrentWeapon();
		engine->forceUpdate(local_player->getEnginePointer());
	}
	if(GetAsyncKeyState(cvars->skin3_key) && local_player->getCurrentWeapon() != tempWeap)
	{
		skinchanger->doSmth();
		skinchanger->setSkin(cvars->skin3);
		skinchanger->setStatTrak(1488);
		skinchanger->setWear(wear);
		tempWeap = local_player->getCurrentWeapon();
		engine->forceUpdate(local_player->getEnginePointer());
	}
	if(GetAsyncKeyState(cvars->skin4_key) && local_player->getCurrentWeapon() != tempWeap)
	{
		skinchanger->doSmth();
		skinchanger->setSkin(cvars->skin4);
		skinchanger->setStatTrak(1488);
		skinchanger->setWear(wear);
		tempWeap = local_player->getCurrentWeapon();
		engine->forceUpdate(local_player->getEnginePointer());
	}
	if(GetAsyncKeyState(cvars->skin5_key) && local_player->getCurrentWeapon() != tempWeap)
	{
		skinchanger->doSmth();
		skinchanger->setSkin(cvars->skin5);
		skinchanger->setStatTrak(1488);
		skinchanger->setWear(wear);
		tempWeap = local_player->getCurrentWeapon();
		engine->forceUpdate(local_player->getEnginePointer());
	}
	if(GetAsyncKeyState(cvars->skin6_key) && local_player->getCurrentWeapon() != tempWeap)
	{
		skinchanger->doSmth();
		skinchanger->setSkin(cvars->skin6);
		skinchanger->setStatTrak(1488);
		skinchanger->setWear(wear);
		tempWeap = local_player->getCurrentWeapon();
		engine->forceUpdate(local_player->getEnginePointer());
	}
	if(GetAsyncKeyState(VK_NUMPAD9) && local_player->getCurrentWeapon() != tempWeap) //good for snipers
	{
		skinchanger->doSmth();
		mem->WriteMem<int>(local_player->getCurrentWeapon() + m_nModelIndex, 500);
		mem->WriteMem<int>(local_player->getCurrentWeapon() + m_iViewModelIndex, 320);
		mem->WriteMem<int>(local_player->getCurrentWeapon() + m_iWorldModelIndex, 321);
		mem->WriteMem<int>(local_player->getCurrentWeapon() + m_iItemDefinitionIndex, 500);
		tempWeap = local_player->getCurrentWeapon();
		engine->forceUpdate(local_player->getEnginePointer());
	}

	Sleep(1);
}
void main()
{
	mem->Process(XOR("csgo.exe"));
	ClientDLL = mem->Module(XOR("client.dll"));
	EngineDLL = mem->Module(XOR("engine.dll"));
	ClientDLL_Size = mem->ModuleSize(XOR("client.dll"));
	EngineDLL_Size = mem->ModuleSize(XOR("engine.dll"));

	HWND newhwnd = FindWindowA(NULL, "Counter-Strike: Global Offensive");
	if(newhwnd != NULL)
		GetWindowRect(newhwnd, &rc);

	cvars->load();

	srand(time(NULL));


	do
	{
		local_player->getPlayer();
		skins();

	} while(true);

	system(XOR("pause"));
}
Code:
DWORD LocPlayer = 0xA6D444;
DWORD EntList = 0x4A5B8F4;
DWORD attackAddr = 0x2EC7930;
DWORD jumpAddr = 0x4AF0464;
DWORD m_dwGlowObject = 0x00000000;
DWORD m_dwClientState = 0x6062B4;
DWORD m_dwViewAngles = 0x4D0C;
DWORD m_iCrossHairID = 0xC554;
DWORD bSendPackets = 0xF1797;
DWORD m_dwViewMatrix = 0x4A4D504;

//selfupdate
DWORD m_fFlags = 0x100;//
DWORD m_bSpotted = 0x935;//
DWORD m_hActiveWeapon = 0x4AF8;//
DWORD m_iTeamNum = 0xF0;//
DWORD m_iHealth = 0xFC;//
DWORD m_vecOrigin = 0x134;//
DWORD m_vecVelocity = 0x110;//
DWORD m_vecPunch = 0x2FF8;//
DWORD m_iClip1 = 0x31D4;////
DWORD m_dwBoneMatrix = 0x267C;//
DWORD m_lifeState = 0x25B;//
DWORD m_vecViewOffset = 0x104;//
DWORD m_iShotsFired = 0xA280;////
DWORD m_bDormant = 0xE9;//
DWORD m_flFlashMaxAlpha = 0xA2C4;////
DWORD m_iGlowIndex = 0xA2E0;////
DWORD m_flNextPrimaryAttack = 0x4DD8;////
DWORD m_bIsScoped = 0x548C;////
DWORD m_iFOV = 0x4DD8;////

//weapon
DWORD m_nModelIndex = 0x254;//
DWORD m_iItemDefinitionIndex = 0x01D0;////
DWORD m_iViewModelIndex = 0x4DE0;////
DWORD m_iWorldModelIndex = 0x4DE4;////
DWORD m_iWorldDroppedModelIndex = 0x4DE8;////
Issue already solved contacted him already.
Don't copy + pasta . Try to find out by yourself
Seems this has been solved already.


/Closed and marked "Solved".
Posts 1–4 of 4 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?