Hacking in Multiplayer Games

Users who are viewing this thread

Status
Not open for further replies.

Lukasz

Recruit
Allow me to introduce myself - long time Warband player, frequenting the superb GK Siege server under the (variously adorned) name of PinOut.

I'm rather certain less than flattering description of my personality will follow, so let me just simply outline the situation leading to this post.

I've been playing on teh internetz on and off since the game came out. I got a little bit better, while in the meantime some folk polished their skills to high degree. No big deal, life taught me there's always somebody (or quite a few of them) better than I at anything.

Then things started to go weird. A while ago suddenly everybody and their grandma began to block like true pros. When I started to call that out (I'm a rather vocal person), I got laughed at because "hacks don't exist." Everybody suddenly got so good, clearly.

Then came, as I like to call them, the twinkly weapons. You know, two-handers that swing faster than the short sword, hammers that will out-speed bastards, etc. Somewhere in between was the sudden surge in people feinting like crazy (and somehow managing to make the animations of so much faster than normal), which of course was "skills." One hit kills became the norm, the explanation being either "Y U no wear armor, then?" (I always play without, just for the fun of it, so I had pretty solid experience with being hit by every bloody weapon before) or "It's all head hits lol." This got so bad I took a month of a break, just hoping things will simmer down and people will get bored with it. Came back, nothing changed, played around, left for another month. Came back again, because, let's face it, the game is that good.

Well, yesterday night people managed to annoy me enough to break my usual shell of lethargy. Today I decided to sit down and actually put some time into making a proof of concept cheat for multiplayer.

It took me TWO hours to get a crude memory hack from scratch. Given that I haven't really done any hexing for a long, long time (not to mention having to learn about Windows system variables, memory handling, and the like), it's not exactly rocket science.

The whole of it is simply upping weapon proficiencies to get a serious speed boost (and presumably damage as well, given the formula). I decided to jot down this post before getting into figuring out attributes offsets in multiplayer, and trying an idea I had for renewable health.

All that aside, this is merely an introduction. The kicker is that when I went online today morning to test it, I ended up realizing that several of the regulars (and there weren't really that many people on) are definitely running the same hack. Let's just say that when you're running one yourself, and somebody else can use their comparable weapon with the same speed as you, there's little room for the usual explanation of "it's footwork" or other dismissals I kept having thrown my way.

You are welcome to calculate the exact speed bonus for a 98 speed weapon with its associated proficiency at 699 (value set to avoid possibly crashing the server based on M&B wiki entry - may be doable to get it even higher). I haven't really bothered to find the actual formula - the difference in speed was definitely noticeable, and well matched my previous observations on some players. The sad part of it is that I purposefully jacked it up to be visible to others - being conservative in setting the "bonus" would result in a definite advantage against non-hacking opponent, but at the same time would be extremely difficult to detect.

Again, please note that this entire "hack" was based on just increasing weapon proficiency rating. I didn't do anything to attributes (which definitely impact combat) or skills (power strike, anybody?) Combined with the autoblocker it would offer immense advantage over anybody NOT using similar cheats.

So, in short, based on my experience hacking multiplayer is not only easy, in a very small test group it also appears rather common among the "regular" competitive NA players. I also find the pretense of no knowledge of such hacks in existence amusing, particularly coming from people so heavily associated with the competitive duel and clan vs clan matches that it is virtually impossible for them not to have heard it mentioned somewhere. The cynical side of me cannot but think about blowing smoke. I considered keeping quiet and testing this against wider range of opponents, but frankly my interest ended at proving without any doubt that cheating is extremely easy to accomplish.

But of course nobody hacks, it's just pure skill that allows weapons to move faster than mechanically possible given the game system.

GG, gentlemen.  :cool:

Edit: Did drop the ball on this one. Still have to check why I was seeing other swinging with comparable speed - initial assumption would be that the memory hack also affected the way their animations were displayed in my client, but going to check it to avoid repeat of the above  :lol:
 
Hmm. Having played with many competitive US players, I have a hard time thinking cheating is common. I have 1300 hours in game, half of which is leaving the game on overnight.  :shock:  That leaves about 650 hours played, or about 400 hours of actually playing the game in multiplayer. This is not significant compared to the guys who still play from beta.

If what you say is true, that is really frustrating to people who do actually put the time in.

I doubt it's true, because there are only a couple players who I don't know with a significant amount of skill, and they are likely to be under an alias.

The guys I play with who are good, are good every day. Everyone gets better, as well. The people who run around saying "LOL U SUCK I KILLED U" (people who would probably use a hack) are really bad, or Grantus, who is a ******. The only person I play with who has a bad attitude about the game is me (I rage all the time). I really don't see players who would want to hack putting as much time into the game as the people who are actually good. They are that good because they practice every day, and have been playing for 2 years.

I guess, it's disheartening if true, and I would tread carefully before assuming people cheat.
 
I've dueled the best of europe, the best of america, never seen anyone I thought was stat hacking or autoblocking or using input macros to feint. Congratulations on misunderstanding why you were being killed and admitting to hacking, every responsible server owner should now ban you.
 
[M] said:
I've dueled the best of europe, the best of america, never seen anyone I thought was stat hacking or autoblocking or using input macros to feint. Congratulations on misunderstanding why you were being killed and admitting to hacking, every responsible server owner should now ban you.

And here we go.

So, according to you:

1. Noticing certain individuals swinging faster than other players (including skilled ones often topping the score board).
2. Creating a proof of concept hack to evaluate
and
3. Seeing certain individuals being capable to match the hacked character's speed (to a degree, of course, I cannot measure this precisely - also, as noted, I was using values inefficient for the purpose of cheating)

amounts to "misunderstanding."

As to being banned, for what? I said I tested this, not played with it for any significant amount of time just to be recognized as "Best of".
 
Misunderstanding that people who know how to feint and turn into swings and position themselves properly must be hacking. If you'd like I could film a short video showing my hands while I perform extraordinary feats of knowing how to press the buttons, and despite being one of the most successful duelists when it comes to tournament wins, I don't NEARLY have the best execution. If you like you could even use your apparent programming knowledge to create a program to check my files and ram while I record it for you to avoid foul play. We can do this if you're interested in learning rather than hacking the game to bring your game up to other people's ability.
 
Pretty sure all stats are governed server side and there would be absolutely no way of affecting that on the client end.

Got around 2200 of public and match play... never see anyone that is implausibly good and frankly the majority of GK Siege players are absolutely atrocious. That's not to say anything bad about GK or the people who play there (in any sort of personal sense) but it's blatantly obvious that the server isn't full of hackers.
 
I'm not going to lie to you Lukasz. As much as you mean well and you hold your views. The problem of "hacking" as you would put it, is not very big. If anything its next to non existent.

Having played since release my self, I have only ever come across 1 player who used an autoblock. But it was so obvious that he was using an autoblock, and he pretty much got banned from most popular servers...

The game has almost evolved into something else. Its much more fast paced than it used to be, new styles are about and people tend to get a grip of the game quite quickly.

I'm not saying your completely wrong, but you seriously do lack any sort of evidence that these "hacks" are commonly used to the point that it is a problem in the community.

On another note: I wouldn't even bother arguing with M, not to save a flame war, but I think a lot of players here can agree that M is a very VERY capable duellist indeed, and thats an understatement.
 
While I'm not as quick as M to dismiss hacking as a problem, there's one thing I disbelieve about your experiment Lukasz. More specifically:

It took me TWO hours to get a crude memory hack from scratch. Given that I haven't really done any hexing for a long, long time (not to mention having to learn about Windows system variables, memory handling, and the like), it's not exactly rocket science.

The whole of it is simply upping weapon proficiencies to get a serious speed boost (and presumably damage as well, given the formula). I decided to jot down this post before getting into figuring out attributes offsets in multiplayer, and trying an idea I had for renewable health.

You are editing your local memory. The server is unaffected by the changes. Normally, servers are coded to never trust client data. In other words, what you are editing locally should have no effect on what the server is doing, unless Taleworlds have made a really stupid implementation (which I doubt). It may affect what you are seeing client side, such as animation speeds, but fundamentally the judgements made by the server should be the same.

Someone with better insight into the engine should comment.

Edit: Ninja'd by CaptainLust.

Hacks that can be implemented client side include the famous autoblock hack, because it's very hard for the server to judge if a valid player reaction was "synthesized" or not. Blocking every single attack perfectly is legal in terms of gameplay. It should also be noted some individuals are truly good at doing this in 1v1 situations without the aid of hacks.

Basically, hack-suspects in Warband are more on less synonymous with potential autoblockers (other ways of hacking exist but aren't nearly as useful). I don't see them very often TBH, when I've had suspicions it's players who are able to block a single opponent attacking with perfect accuracy but getting massively confused in a 2v1 situation.
 
hacking does exist but is rare.  I dont know if its more common in NA or Europe and dont really care TBH.  All in all, I can think of maybe 2 or 3 times when somebody has obviously been using a cheat and everytime its been an autoblocker.  Never had any reason to think people are stat hacking and still dont.

The people who are hacking arent the ones who are pwning you over and over again.  Those people are just good.  They can pretty much kill a Tyranosaurus Rex unarmored with a greatsword, so buffing your stats up like gozilla won't matter. 

Often, the people hacking are the try hards who have blocking which is *enormously* disporportionate to their other skill levels.  Its the guy who blocks the craziest of spaz feinting every time, but cannot even control his own swing direction/distance who is going to be hacking.  I would say its usually obvious, but it usually doesnt happen to begin with.

That being said, most of the time people hacking will still lose anyway to somebody better.  They may do well against noobs or even intermediates, but you cant hack countless hours of training.
 
captain lust said:
Pretty sure all stats are governed server side and there would be absolutely no way of affecting that on the client end.
This. Movement speed, weapon stats, animations, attributes, skills, proficiencies and all that stuff is entirely server side, and as such impossible to hack. Only what happens client side can be hacked (i.e. autoblockers, aimbots, wallhacks, ...).
Nice try anyway.
 
autoblockers, aimbots, wallhacks

Of these, only autoblocking is a major problem IMO. Aimbots would be a major problem if archers had perfect aim, as it is now it's not worth suspecting anyone as one cannot tell the difference between luck, skill, and aimbot. Wallhack is just not very useful without CS-like weapons either, besides there's already 3rd person cam.  :roll:
 
RoBo_CoP said:
One of the better trolls i've seen in a while. Keep up the good work sir!!

On it. Need to set up a local M&B server and then figure out communication format. That's after verifying animation calculations being performed server-side.

Learning is fun. Good way to blow off steam, too.

cmpxchg8b said:
captain lust said:
Pretty sure all stats are governed server side and there would be absolutely no way of affecting that on the client end.
This. Movement speed, weapon stats, animations, attributes, skills, proficiencies and all that stuff is entirely server side, and as such impossible to hack. Only what happens client side can be hacked (i.e. autoblockers, aimbots, wallhacks, ...).
Nice try anyway.

Not impossible. Just more difficult.  Since there is input from the client... :wink:
 
Lukasz said:
cmpxchg8b said:
captain lust said:
Pretty sure all stats are governed server side and there would be absolutely no way of affecting that on the client end.
This. Movement speed, weapon stats, animations, attributes, skills, proficiencies and all that stuff is entirely server side, and as such impossible to hack. Only what happens client side can be hacked (i.e. autoblockers, aimbots, wallhacks, ...).
Nice try anyway.

Not impossible. Just more difficult.  Since there is input from the client... :wink:
Prove it (what you said in the first post).
(I'm not really asking you to prove it, because I already know it's impossible. I just want to see what excuse you'll make up)
 
hi I makeing,, hacker of to put up my weponns longness,,,,, it is total work bkus i can hit of enmy spawn2spawn wit shot sword LOOLLXXD

i thenk oters use this hacker bekuz i recnise them
 
cmpxchg8b said:
Lukasz said:
cmpxchg8b said:
captain lust said:
Pretty sure all stats are governed server side and there would be absolutely no way of affecting that on the client end.
This. Movement speed, weapon stats, animations, attributes, skills, proficiencies and all that stuff is entirely server side, and as such impossible to hack. Only what happens client side can be hacked (i.e. autoblockers, aimbots, wallhacks, ...).
Nice try anyway.

Not impossible. Just more difficult.  Since there is input from the client... :wink:
Prove it (what you said in the first post).
(I'm not really asking you to prove it, because I already know it's impossible. I just want to see what excuse you'll make up)

Need to check if the client-server communication is time-stamped, and how synch works. Both block and release are client-side inputs.

It might be possible (although somewhat complex) to send out modified "release" packet after the client receives notification about opponent swinging (the way I understand auto-block is handled), i.e. put the timestamp at whatever back-adjusted value the server will allow without desynchronization issues.

The complex part comes in coding in conditions for it to be used (or making it usable only under player-enforced self limitations). I think it would only be feasible with fast weapons, since they need to benefit from the relatively short release signal modification.

This will obviously not work if there are no timestamps and the server simply reacts to client-side input whenever it arrives, but that's off the top of my head, since I haven't really spend too much thinking about possible approaches. Reading about TCP structure and the like, I haven't done anything remotely similar.

I'll be sure to let you know if I actually end up with something workable, but you are correct in assuming that I'll most likely fail. Not to mention the aspect of motivation. Then again, this is actually pretty damn fun to dabble with.

Also, some of the replies are amusing enough, too :lol:

Edit: As an aside, do note that I spent barely half a day on this. The game's been out long enough for somebody better motivated than me to be successful. Amusingly enough, this debacle at least proved to me that I am capable of noticing difference in speed of weapons, even if end up running my mouth off without thinking the circumstances through (and cause the very issue to appear in the first place).

Also, people actually admitting that some hacks exist is an improvement over the previous "lalala no hackee" responses I kept running into.

This is a competitive game involving age range prone to putting apparent performance above any other considerations.
 
I'm not sure I understand exactly what is it that you want to try, but I can assure that it's a waste of time and it's not gonna work. For example if you send a "fake" release packet during the chamber animation, the server will just ignore it because it knows you're not supposed to do that. I know Warband's netcode pretty well, and I can tell you it's very secure, with the downside being that the server has to do a lot of work, because it effectively handles all game logic and leaves very little to clients.

Oh, and the autoblocker that's circulating around is nowhere near that complexity. In fact it's just a script kiddie hack that turns on the Native automatic block. Not exactly impressive, and the same can be done by just modifying the game text files.
 
cmpxchg8b said:
I'm not sure I understand exactly what is it that you want to try, but I can assure that it's a waste of time and it's not gonna work.

Bah, don't tell me that, it's fun in itself.

To elaborate - it is not meant to override any timing server-side, I did not explain properly.

Once you chamber, the release is dependent on the client input. Since your client receives a notification prior to your opponent hitting (which, as you noted, is what the autoblocker is apparently based on), I'm going off on a limb and assume that the server relays the release signal from the opponent's client to yours.

Given sufficient variance in weapons' speed (as I mentioned, it'd really be just useful for the fast things OR require some conditional coding), it might be possible to send a modified time-stamp that would get into the "window of opportunity." I do realize this is far more complex than modifying memory offsets :smile:

Another thing that came to me in the john (best place for deep thinking) is that movement vector adjustments are also client-side inputs, and they do affect your swings' speed (leaning into) and damage (force calculations). This could be combined with automatic quick-release to follow a particular block, turning the character into the swing. Probably would need some practice to use in terms of positioning, though, since you would want to avoid getting that "too fast hit" penalty.

Admittedly, this is all pure speculation without knowledge of the communication scheme used. And I need to learn other things before I can understand that, too.  :cool:
 
Think client timestamps wouldn't be used for anything but ensuring sequencing from action to action is as the client intended. Presumably, packets' actual arrival times are used, by executing packet actions ASAP (exception is that all incoming packets are delayed by at least 50 ms from what I've heard, and aforementioned sequencing could delay actions further).

I'm sure you can modify movement vectors, but the question is if you could make it help the player rather than hinder him; that would be the real challenge. But, I don't think you will be able to set up a "how to try hack Warband MP"-thread on TW forum, nor can I wish you success.  :lol:

Edit: Basically, try doing something more constructive with your time than game hacks.
 
Oh, and the autoblocker that's circulating around is nowhere near that complexity. In fact it's just a script kiddie hack that turns on the Native automatic block.

Its actually fun detecting this little guy. There is a perfectly valid way to figure out this behavior heuristically on the server side. The python required is a little tedious but I found the technique itself rather clever.
 
Status
Not open for further replies.
Back
Top Bottom