Half-life "born to be pig" exploit

Network protocols, internals and low-level information about games
maraakate
Posts: 13
Joined: Sat May 09, 2015 7:18 pm

Half-life "born to be pig" exploit

Post by maraakate »

Hello, I know this is an older exploit but I am curious as to what caused it. Was the name being sent over a specific internal string in the game, some sort of buffer overflow with the name being longer, etc?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Half-life "born to be pig" exploit

Post by aluigi »

maraakate
Posts: 13
Joined: Sat May 09, 2015 7:18 pm

Re: Half-life "born to be pig" exploit

Post by maraakate »

Ah yes, I've come across similar issues getting stuck in Info_ValueForKey loops in Daikatana. Thanks! One interesting one in particular (and may exist in Quake 2) is if the key is longer than 64 chars (the MAX_INFO_KEY value) then it is truncated and you can set null names, model names, etc. Depending on later checks in the userinfo changed code it can crash servers.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Half-life "born to be pig" exploit

Post by aluigi »

Eh, the good old times :)
maraakate
Posts: 13
Joined: Sat May 09, 2015 7:18 pm

Re: Half-life "born to be pig" exploit

Post by maraakate »

In the Daikatana 1.3 project I've been working on with a few other people your tools have been great at finding potential flaws like this.