Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Wolfteam Inventory Modify

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
exBrowser
How do I cheat?
Reputation: 0

Joined: 29 Oct 2015
Posts: 3
Location: 123

PostPosted: Thu Oct 29, 2015 9:15 pm    Post subject: Wolfteam Inventory Modify Reply with quote

This is nothing but a description of the weapons did not appear ++ Just come 13 weapons and Cshell.dll is a file wolfteamts / does not work I do at the IMG section

help me please Sad



//Inventory.cpp

Code:
#include <Windows.h>
#include "inventory.h"
#pragma pack(1) //without this, WTInventoryItem will have padding .
 
WORD WeaponCodes[418] =
{ 7100, 7101, 7102, 5005,
5004, 5013, 5002, 3042,
3035, 3002, 3044, 3099,
3098, 3064, 3065, 3049,
3100, 3080, 3115, 3052,
3069, 3068, 3108, 3109,
3122, 3127, 3131, 3040,
3059, 3060, 3104, 3125,
3095, 3047, 3054, 3045,
3118, 3081, 9034, 3088,
3040, 3083, 3072, 3071,
3107, 5001, 3125, 3140,
3141, 3142, 3143, 3101,
3078, 3079, 3063, 3062,
3053, 3043, 3084, 3058,
3093, 3092, 3091, 3090,
3900, 3910, 7507, 7508,
7511, 7514, 7515, 7509,
7510, 7512, 7513, 7516,
3121, 3120, 3103, 3061,
3070, 3085, 3119, 3057,
3114, 3056, 3055, 3094,
3124, 3113, 3086, 3112,
3111, 3110, 3123, 3087,
3075, 3117, 3116, 3077,
3126, 3130, 3102, 3041,
3106, 3105, 3067, 3066,
3051, 3097, 3096, 3089,
3074, 3073, 3046, 5015,
5014, 5010, 5012, 5011,
5008, 5009, 5006, 3136,
3137, 3138, 3139, 3133,
3399, 6013, 6040, 3301,
3303, 6026, 6027, 3028,
6029, 3253, 6018, 6017,
6016, 6021, 6022, 6015,
6019, 6020, 6023, 6012,
6011, 6010, 6014, 7506,
6004, 6005, 6003, 6024,
6030, 6031, 6032, 6033,
6007, 6006, 6009, 6002,
6001, 7002, 7003, 7004,
7200, 7006, 8001, 8002,
8501, 8601, 8602, 8503,
8701, 7517, 1001, 1002,
1003, 1004, 1005, 1006,
1007, 1008, 1009, 1010,
1011, 1012, 1013, 1014,
1015, 1016, 1017, 2001,
9022, 2003, 2006, 2007,
2009, 2011, 2013, 2015,
2017, 2019, 9001, 9002,
9003, 9004, 9005, 9006,
9007, 9008, 9011, 9013,
9015, 9016, 9017, 9023,
9024, 9025, 9026, 9027,
9028, 7073, 3900, 3910,
7074, 7075, 9018, 9037,
9036, 9019, 1021, 1022,
6046, 6047, 6048, 2021,
2022, 7123, 7111, 7112,
7122, 7113, 7121, 2023,
7070, 7071, 7072, 7073,
3132, 3201, 6201, 6203,
8003, 1020, 1030, 2005,
7201, 7110, 3003, 3006,
3008, 3009, 3011, 3013,
3014, 3016, 3017, 3019,
3020, 3022, 3025, 3030,
3032, 3033, 3036, 3128,
5007, 7501, 5024, 6042,
11006, 11003, 11005, 11004,
13003, 13001, 16014, 16016,
16018, 21078, 21074, 21063,
21060, 21046, 21035, 21023,
20062, 20058, 13002, 13004,
12210, 12154, 12162, 12148,
12141, 12020, 21135, 12259,
12205, 31025, 31049, 10006,
10026, 10047, 10060, 10027,
17007, 6008, 19610, 12226,
12233, 12234, 12235, 20086,
12203, 12204, 31121, 31108,
31095, 31107, 32198,
15018, 15114, 15047, 10010,
10094, 10097, 10096, 10083,
10085, 10087, 10019, 10011,
17010, 17014, 10014, 17008,
10018, 17012, 17013, 10020,
10001, 10081, 10088, 10093,
10048, 10086, 10039, 10084,
17006, 10049, 10017, 10005,
17016, 10016, 10004, 17015,
10031, 10092, 10029, 10030,
10050, 10051, 10052, 10053,
10054, 10055, 10056, 10057,
10058, 10059, 14032, 10027,
10091, 10090, 10012, 10038,
10046, 10089, 10082, 17009,
17001, 10008, 10009, 17011,
10044, 10045, 31019, 31160,
31109, 31072, 11002, 12073,
16013, 16020, 16015, 13007,
16012, 12072, 19002, 12004,
12038, 12030, 15071
};
 
WTInventoryItem InventoryItems[500] = { 0 };
DWORD InventoryContinue;
DWORD WepCountSubContinue;
 
__declspec(naked) void HookedInventory()
{
   _asm
   {
         lea esi, InventoryItems
         mov cx, [eax + esi]
         add eax, 2
         jmp dword ptr[InventoryContinue]
   }
}
 
 
__declspec(naked) void WepCount()
{
   _asm
   {
      mov eax, 418
      jmp dword ptr[WepCountSubContinue]
   }
}



//Inventory.h

Code:
#pragma once
void WepCount();
void HookedInventory();
 
// { };
#pragma pack(1)
 
struct WTInventoryItem
{
   DWORD ptr;
   unsigned char unk[2]; //0..5 = unknown.
   short TimeLeft; //6..7 = time left.
   char _unk1[2]; //8.9 = unknown.
   char* unknown; //10-13 = unknown.
   short WeaponID; //+0xE = weaponID.
   char _unk2[3];
}extern InventoryItems[500];
 
/*
struct WTInventoryItem
{
   //char Unk[14];//0..0xD
   char Unk[6];//0..5 = unknown.
   short TimeLeft; //6..7 = time left.
   char Unk2[6]; //8..0xD = unknown.
   WORD WepID;//0xE..0xF
   char Padding[3];//0x16..0x18 = unknown.
/*   char Unk3[2]; //0x10..0x11 = unknown.
   void* unknown; //0x12-0x15 = unknown.
   //
   
}extern InventoryItems[500];
*/
//19 = sizeof InventoryItem
//
extern DWORD InventoryContinue;
extern DWORD WepCountSubContinue;
extern WORD WeaponCodes[418];



//Code


Code:
bool compare(PBYTE sig, PCHAR mask, PBYTE adr)
{
   for (unsigned int i = 0; i < strlen(mask); i++)
   if (mask[i] == 'x' && sig[i] != adr[i]) return false;
 
   return true;
}
 
DWORD FindSignature(PBYTE sig, PCHAR mask, DWORD dwBase, DWORD dwLen, int iIndex)
{
   int cIndex = 0;
   if (!dwBase || !mask || !dwLen || !sig) return false;
   for (PBYTE i = (PBYTE)dwBase; i != (PBYTE)(dwBase + dwLen); i++)
   if (compare(sig, mask, i))
   if (iIndex == cIndex++) return (DWORD)i;
   return false;
}
 
DWORD TrampolineHookWithoutOld(BYTE *src, BYTE *dst, int len)
{
   if (!src || !dst || !len) return 0;
   DWORD dwOld;
   VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwOld);
   src[0] = 0xE9;
   *(DWORD*)((DWORD)src + 1) = (DWORD)(dst - (DWORD)src) - 5;
   if (len > 5) for (int i = 5; i < len; i++) src[i] = 0x90;
   return ((DWORD)src + len);
}
 
int unknown = 0;
void InventoryHack()
{
   //--------------------------------------------------------------------------------------------------------------
   //inventory hack://416
   
   int wepid = 0;
   for (int i = 0; i < 417; i++){// sizeof(WeaponCodes)
      InventoryItems[i].WeaponID = WeaponCodes[wepid++];
      InventoryItems[i].unknown = NULL; //if you don't do this, you can't select weapons O.O
      //InventoryItems[i].TimeLeft = -1;// 1337 = 1337 days, -1 = permenent;
            InventoryItems[i].TimeLeft = 1337;
   }
   
   PBYTE lpInventory = NULL;
   DWORD InventoryTMP = FindSignature((PBYTE)"CS_IN_ITEMLIST_ACK", "xxxxxxxxxxxxxxxxxxx", CshellBase, 7720000, 0);
   if (InventoryTMP)
   {
      BYTE InventoryFuncSig[5] = { 0x68, 0x00, 0x00, 0x00, 0x00 }; //push address.
      *(DWORD*)&InventoryFuncSig[1] = InventoryTMP;
      lpInventory = (PBYTE)FindSignature(&InventoryFuncSig[0], "xxxxx", CshellBase, 5000000, 0);
   }
   PBYTE WepCountSub = (PBYTE)FindSignature((PBYTE)"\xFF\x05\x00\x00\x00\x00\x0F\xB6\xC1\x50\x8D\x8F\x00\x00\x00\x00", "xx????xxxxxx????", (DWORD)lpInventory, 300, 0);
   PBYTE InventorySub = (PBYTE)(FindSignature((PBYTE)"\x8B\x86\x04\x20\x00\x00\x66\x8B\x0C\x30\x83\xC0\x02", "xxxxxxxxxxxxx", (DWORD)lpInventory, 500, 0) + 6);
   if ((DWORD)InventorySub == 6) InventorySub = NULL;
 
   char buf[50] = { 0 };
   sprintf_s(buf, "count: %X, set:%X", (int)WepCountSub, (int)InventorySub);
   //MessageBoxA(0, buf, buf, 0);
   WepCountSubContinue = TrampolineHookWithoutOld(WepCountSub, (PBYTE)&WepCount, 9);
   InventoryContinue = TrampolineHookWithoutOld(InventorySub, (PBYTE)&HookedInventory, 7);
   //--------------------------------------------------------------------------------------------------------------
}

_________________
123
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 199

Joined: 25 Jan 2006
Posts: 8518
Location: 127.0.0.1

PostPosted: Thu Oct 29, 2015 11:30 pm    Post subject: Reply with quote

Just posting code without any info on your issue is not going to get you any help, and just shows that you are copy pasting without understanding what you are doing.
_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
exBrowser
How do I cheat?
Reputation: 0

Joined: 29 Oct 2015
Posts: 3
Location: 123

PostPosted: Fri Oct 30, 2015 2:04 am    Post subject: Reply with quote

You can not help me?
_________________
123
Back to top
View user's profile Send private message
exBrowser
How do I cheat?
Reputation: 0

Joined: 29 Oct 2015
Posts: 3
Location: 123

PostPosted: Fri Oct 30, 2015 11:18 am    Post subject: Reply with quote

It does not mean a description of the weapon. I can not delete the following line from "char * unknown" but deleted grabbing game
_________________
123
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites