Live data from Hacker News

Disguised “AMD PCI Driver” enables executable-specific hacks

twitter.com

11–20 of 39 posts

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#11

Anyone who's read Raymond Chen's blog, or ever encountered MKCOMPAT.EXE ( https://en.wikipedia.org/wiki/Make_Compatible ), will know that Windows is full of application-specific hacks to maintain compatibility. I suspect every complex system component has something similar for the same reasons. I doubt it's for any nefarious purpose.

Why obfuscate it inside of a decoy driver?

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#12
At least for graphics drivers it's common that the driver applies tons of game-specific workarounds and optimizations, I guess this is also the main reason why there are monthly driver updates (fixes for new games), and why graphics drivers have become so massively big.

Assuming that the same game-specific tweaking happens for CPU performance and compatibility doesn't seem like a far stretch.

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#13

At least for graphics drivers it's common that the driver applies tons of game-specific workarounds and optimizations, I guess this is also the main reason why there are monthly driver updates (fixes for new games), and why graphics drivers have become so massively big. Assuming that the same game-specific tweaking happens for CPU performance and compatibility doesn't seem like a far stretch.

Yes, and I agree this kind of thing "is ok"

But this isn't:

> it has a security descriptor allowing Everyone + Low IL R/W Access, and an IOCTL interface with absolutely no Probes/SEH, which yes, dereferences wild pointers.

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#14
post #5

Earlier quoted context omitted.

Maybe. But it's more likely they're replacing shaders with game- or engine-specific workarounds for hardware bugs. Used to do exactly that in my first GPU driver job. The goal wasn't to cheat, but to fix issues in popular games that for one reason or another wouldn't be patched for your GPU on its release.

I wonder why they don't just call the game developers on the phone and say "here is AMD, you must fix your shaders, here is the code". Certainly I would jump if I got contacted by AMD or NVIDIA. Now someone is going to say, if a game breaks people are going to blame AMD, so it is their problem. But AMD would just have to play hardball once, pick a smallish publisher and say "XY refuses to fix their broken code, we ev…

People buy AMD to play games; they don’t buy games in order to use their AMD card.

AMD have one job in this situation and they are doing it.

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#15
post #5

Earlier quoted context omitted.

Maybe. But it's more likely they're replacing shaders with game- or engine-specific workarounds for hardware bugs. Used to do exactly that in my first GPU driver job. The goal wasn't to cheat, but to fix issues in popular games that for one reason or another wouldn't be patched for your GPU on its release.

I wonder why they don't just call the game developers on the phone and say "here is AMD, you must fix your shaders, here is the code". Certainly I would jump if I got contacted by AMD or NVIDIA. Now someone is going to say, if a game breaks people are going to blame AMD, so it is their problem. But AMD would just have to play hardball once, pick a smallish publisher and say "XY refuses to fix their broken code, we ev…

From what I hear a lot of game engines have horrendous bugs that is terrible for performance (like people straight up using DirectX incorrectly, not being aware of the quadrillion performance hacks that AMD/Nvidia are keenly aware of)--so what AMD and Nvidia does is they "fix" the game engine by making it more performant.

Potentially it might be better for them to contact the game dev for a collaboration or just to tell them to fix their shit, but it might a) be more annoying than to just silently patch their code b) might benefit their competitor.

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#16

At least for graphics drivers it's common that the driver applies tons of game-specific workarounds and optimizations, I guess this is also the main reason why there are monthly driver updates (fixes for new games), and why graphics drivers have become so massively big. Assuming that the same game-specific tweaking happens for CPU performance and compatibility doesn't seem like a far stretch.

Yes, and I agree this kind of thing "is ok" But this isn't: > it has a security descriptor allowing Everyone + Low IL R/W Access, and an IOCTL interface with absolutely no Probes/SEH, which yes, dereferences wild pointers.

And being disguised as PCI driver doesn't help.. If it was called "AMD Game Optimizer" software, it'd be OK I think.

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#17
post #3

I bet they are cheating on benchmarks.

Apparently for a while AMD's graphics drivers were improving their performance on some games by replacing shaders that used table lookups to approximate trigonometric functions with actual trig instructions, presumably improving accuracy, because that happened to be faster on their hardware.

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#18
post #5
post #3

I bet they are cheating on benchmarks.

Maybe. But it's more likely they're replacing shaders with game- or engine-specific workarounds for hardware bugs. Used to do exactly that in my first GPU driver job. The goal wasn't to cheat, but to fix issues in popular games that for one reason or another wouldn't be patched for your GPU on its release.

Having been in the space, is there a reason you’d normally hide that in something made to look like a PCI driver?

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#19

Anyone who's read Raymond Chen's blog, or ever encountered MKCOMPAT.EXE ( https://en.wikipedia.org/wiki/Make_Compatible ), will know that Windows is full of application-specific hacks to maintain compatibility. I suspect every complex system component has something similar for the same reasons. I doubt it's for any nefarious purpose.

It doesn't need to be nefarious to be bad for you. It can merely supply security vulnerabilities.

Re: Disguised “AMD PCI Driver” enables executable-specific hacks

#20
post #5

Earlier quoted context omitted.

Maybe. But it's more likely they're replacing shaders with game- or engine-specific workarounds for hardware bugs. Used to do exactly that in my first GPU driver job. The goal wasn't to cheat, but to fix issues in popular games that for one reason or another wouldn't be patched for your GPU on its release.

I wonder why they don't just call the game developers on the phone and say "here is AMD, you must fix your shaders, here is the code". Certainly I would jump if I got contacted by AMD or NVIDIA. Now someone is going to say, if a game breaks people are going to blame AMD, so it is their problem. But AMD would just have to play hardball once, pick a smallish publisher and say "XY refuses to fix their broken code, we ev…

> I wonder why they don't just call the game developers on the phone and say "here is AMD, you must fix your shaders, here is the code".

From my experience as a member of an away team, your own goals is not the home team's goals. Thus the home team has close to zero motivation to rethink their schedule and program just because someone else, who just happened to release their product, happened to find an issue that is only observed and reproduced in a very specific platform that no one uses (yet).

Who has all the motivation to see that bug fixed? The ones releasing the product. Thus, the fixes go in the driver, because that's the only thing in their control.

Post reply on HN