6 ms·
Talking out of school here, but games currently seem to require such low level hardware access that this is rendered impossible. No matter if your game has cra
by cartoonworld 5y ago
Talking out of school here, but games currently seem to require such low level hardware access that this is rendered impossible.
No matter if your game has crappy memory management and the escalation exploit roots your XBOX, an update will quash that. But people are banking and buying/mining crypto and then launching fortnite or whatever.
Game security is nuts. It's always been a training ground for RE/binary exploitation engineers, so thats a plus.
- the8472 5y ago> but games currently seem to require such low level hardware access that this is rendered impossible That doesn't seem plausible considering that a lot of games run under linux with wine/proton, so clearly they don't need direct hardware access.
- cartoonworld 5y agoI don't think it follows that because they can run on linux/wine compat they don't require excessive privs. Maybe low level hardware access is not the right term, versus excessive privileges that the hardware acceleration libraries require?
- ogurechny 5y agoHardware drivers that deal with hardware acceleration are written by hardware companies. Libraries and applications only call their functions as defined in the documentation. Game programmers in most cases have no clue about the low-level specifics of hardware that accelerate their games.
- sennight 5y ago> but games currently seem to require such low level hardware access... lol, no. The industry has converged on a small number of engines, which is why you see so many cross platform games - back in the day that usually required subcontracting out the task of porting. Also, what is it that you imagine they need to poke so deeply in hardware that they need to bypass the kernel?
- cartoonworld 5y agoGotcha, I suppose I was thinking about the hardware and other drivers. Games sometimes implement special audio, network, video stuff. Point taken, do you think there is any reason they can't run with locked down privileges or is it all anti-cheat?
- sennight 5y agoIt is all "anti-cheat". Many years ago gamedevs like John Carmack were no joke wizards pushing the envelope, which certainly required low level access. Today's gamedevs aren't doing that... not even close. Modern games are known for shamefully janky code - and it isn't motivated my performance, see the GTA json parsing travesty for example: https://news.ycombinator.com/item?id=26296339 https://news.ycombinator.com/item?id=26296339
- giobox 5y agoWhile there’s no question Carmack was an exceptional talent, let’s not forget the original Doom shipped with serious network killing bugs in 93: https://doomwiki.org/wiki/Broadcast_packet_meltdown https://doomwiki.org/wiki/Broadcast_packet_meltdown Making software is hard, I’d not be so quick to judge the GTA devs, especially when GTA games are massively larger development undertakings. Doom was made by a handful of people in less than six months - GTA most certainly wasn’t. There is such a vast difference in complexity I’m not sure there is much value in comparing. The entire doom source code is likely smaller than a single grand theft auto save file.
- sennight 5y ago> serious network killing bugs in 93 hmm, having a hard time determining if I'm simply defending an entrenched position or if the fact that they were the first to write FPS netcode might excuse the fact that it didn't initially run super great on corporate IPX networks that wired everything together with hubs instead of switches :) I vaguely remember hearing about that bug, and I very likely played the game prior to getting my hands on a version with it patched out. Never noticed a problem in the computer lab, but then we were still on token ring - where collision lights weren't really a thing. > The entire doom source code is likely smaller than a single grand theft auto save file. Is that a defense of GTA, you think that "complexity" is needed? I don't think so, I think it is emblematic of something very wrong in not just software - but in the mentality one would need in order to look at the depth of our average stack traces and think "Meh, 25 calls deep isn't bad for text file pretty printer".
- gmueckl 5y agoThis isn't the 80s or 90s anymore. Back then, pretty much every somewhat advanced game asserted full control over the computer hardware as the first order of business. Operating systems neither had the means to prevent this, nor did they have the right kinds of drivers in most cases. With proper protected mode operating systems that include usable driver interfaces, this is thankfully a thing of the past. Modern hardware and modern operating systems usually take care to ensure that any hardware acceleration features are exposed in a way that doesn't create security risks. And, unlike on consoles with known hardware, it doesn't make sense anymore to try to talk to PC hardware directly from a game because things like GPUs are so varied and have so much "secret sauce" these days that trying to create custom drivers is an exercise in futility.