Results 1 to 4 of 4
  1. #1
    KillTubeCZ's Avatar
    Join Date
    Aug 2013
    Gender
    male
    Posts
    16
    Reputation
    10
    Thanks
    3

    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;////

  2. #2
    PhY'z's Avatar
    Join Date
    Aug 2013
    Gender
    male
    Posts
    518
    Reputation
    58
    Thanks
    1,310
    My Mood
    Angelic
    Issue already solved contacted him already.
    Last edited by Smoke; 01-14-2016 at 10:19 AM.

  3. #3
    Adrenaline's Avatar
    Join Date
    Jul 2015
    Gender
    male
    Location
    Visual Studio
    Posts
    1,126
    Reputation
    29
    Thanks
    503
    My Mood
    Angelic
    Don't copy + pasta . Try to find out by yourself

  4. #4
    Smoke's Avatar
    Join Date
    Nov 2014
    Gender
    male
    Posts
    11,899
    Reputation
    2661
    Thanks
    4,610
    My Mood
    Amazed
    Seems this has been solved already.


    /Closed and marked "Solved".


    CLICK TO BUY NOW!!


    Quote Originally Posted by Liz View Post
    This is my first vouch, ever. Rapidgator account worked perfectly. Would buy in the future.

Similar Threads

  1. Hacks not working
    By crazy4her in forum WarRock - International Hacks
    Replies: 12
    Last Post: 06-07-2007, 03:25 AM
  2. TerrainGeometry Not Working Anymore?
    By Jammy in forum WarRock - International Hacks
    Replies: 0
    Last Post: 03-16-2007, 05:31 PM
  3. why warrock not working now??
    By tolik13 in forum WarRock - International Hacks
    Replies: 4
    Last Post: 07-09-2006, 03:27 PM
  4. WPE not work
    By trekpik in forum WarRock - International Hacks
    Replies: 3
    Last Post: 07-09-2006, 10:09 AM