hjefferson Newbie cheater
Reputation: 0
Joined: 19 May 2012 Posts: 12
|
Posted: Sun May 20, 2012 6:54 pm Post subject: I'm stuck - anyone got some good ideas? |
|
|
I'm trying to patch a Call of Duty 4 server to disable certain perks.
Perks are special attributes that each player can choose, like more ammo, more grenades, more health, etc. Each player can only have 1 perk from each of 3 lists, each of which has a choice of 7 or so perks.
Initially, it seemed to me that for each player on the server, there should be a structure in memory detailing the players health, location, current weapon, current perks, etc.
I soon found the player structs and they hold health, location etc. They also contain perk flags, stored as a big long binary number.
However, these perk flags only reference *some* perks. The perks that deal with giving more grenades, or different types of explosives are not referenced. Furthermore, changing the perk flags doesn't result in the perks that a player actually has changing.
This leads me to think that there is another structure somewhere that holds the actual references to what perks a player has.
I've tried to find how the operation that writes to the perk flags knows what flag to write, but the flow passes through some very busy addresses, changing hundreds of times every few seconds. Incidentally, if I do change the flag that it writes, the perk is changed appropriately. But I can only change the perks that are referenced in the flags, so this is not ideal.
Furthermore, pausing the server for more than a few seconds causes the client to drop, which makes it hard to debug.
I'd love some comments on this - suggestions for a different approach - bad assumptions that I'm making, or any sort of discourse, because my mind is a bit burnt out from all this. |
|