AMD Adrenalin ships an unsigned driver file (amdihk64.dll) which is placed into /system32/ folder.
Certain anti-cheats kick the player from game because of "untrusted system file", for example EAC does so for the game Rust since a recent update. It seems to be at the game developers' discretion, as some EAC-powered games have suffered from amdihk DLL in the past.
There are good technical reasons for anti-cheats of a variety of games to desire blocking unsigned/untrusted driver files in the system32 and system driver folders. I can know, as an anticheat developer (from another game) myself.
AMD, or any driver publisher, should NEVER ship unsigned driver files. "AMDIHK64" (AMD DVR component) is, as far I know, the only of such file that lacks a digital signing certificate. It's not just not valid, but completely absent, throughout recent releases of Radeon software.
The SHA256 hash of affected file, as Radeon Software version 19.6.2 installs to my PC, is 5ecf02b6de23f8c6736b3e757a273520ce926a8e1aa9e41d492933fc7cba75d6
The SHA256 hash of previous Radeon software (19.6.1) which was also affected, is 9d9790a63831f32596fcea09c7bd6365e0c58a0f587d2cd6da877775811f225c
Its not just anti-cheats that are affected, there are obvious reasons why DLL files of known, major (driver) software that are placed in system folders need to be signed. A lot of software can do trust checks and eventually fail. For the anti-cheat of popular games using EAC, you have now impacted hundreds of thousands of users, and they may decide to manually remove amdihk DLL file in safemode, leading to them not benefitting from AMD DVR functionality.. just in a bid to play the game. This isn't ideal.
Again, software/driver publishers should have developers that know what proper project practise is. Shipping out 99% valid signed DLLs and a single or a few unsigned files, is bad practise. Under correct practise, no issues like the anticheat one would arise. The solution is obvious.
I hope that this issue is forwarded, so that it can be resolved. You can find more past occurences of issues caused by AMD in this way, by going to: https://www.google.com/search?q=amdihk64.dll+eac
Please note that I was able to reproduce the problem by a clean install of Windows 10 build 1903 and immediately installing the latest Radeon Adrenalin software package; ATI drivers really place that unsigned file into your system32 folder, it's not corrupted or infected, it's not our PC's, it is AMD doing that by mistake.
I will personally solve it by removing the DLL file in windows safe mode, but I realize tons of other people are affected, so it needs to be reported. Note: I attached the latest version of the mentioned problematic file into this topic. It got included in the official driver update of 2 days ago, and lacks a digital signature entirely. I don't know if amdihk32.dll is also affected, since I don't have it.
Solved! Go to Solution.
Guys, i just noticed AMD has finally fixed it, today! Probably as a result of me asking attention for the issue here.
The driver update release notes: https://www.amd.com/en/support/kb/release-notes/rn-rad-win-19-7-1
It states in "fixed issues": Some users may be experiencing AMD DLL file signing issues with Easy Anti-Cheat™. A clean install of Radeon Software Adrenalin 2019 Edition 19.7.1 may be required to fix this issue.
So this is good news, everyone impacted should update their driver to Adrenalin version 19.7.1
Please address this problem. Its causing Division 2 to crash every 5 minutes or less. Thanks. I have 19.6.2 installed.
I already reported it using the problem form like that.
But im also pretty certain a lot of others did so in the past, because, again, as you can see many others have had issues from this: https://www.google.com/search?q=amdihk64.dll+eac
This means the problem has existed for potentially years.
It looks like AMD either doesn't care, no one reads the problem report forms, or forum isn't read by them/nothing is escalated.
Because also, any software engineer that you ask can tell you why driver publishers should never deliver unsigned DLL's. It's so obvious.. most AMD DLL's are signed, just not this one, and it's put in a sensitive location that anti-cheats don't like if its not signed and placed there.
There's no way to deny this is an issue and bad practise on the driver developer's side, but I can also guarantee you this won't be solved for a long time to come. Unless they realize now that Rust players started getting kicked, I mean realize the consequences of this bad practise, and do something for real.
Same issue here with The Division 2. It seems the issue comes and goes. It won't let me load the game at first (error message) but at the second attempt, it works. Very annoying and just started for me. Never had this issue before. And a bit strange that they are using unsigned driver files. Just bad all around. Perhaps a simple mistake that will be fixed next update. At least I am hoping so.
I did just before 19.6.3 came out.
I sbumitted the report.
three crashes in a row for Division 2
now for a workaround, i switched to DX 11 renderer, windowed full screen. its been good for the past 2 days.
but framerates are lower compared to DX 12 renderer. :/
Well unloadedone it is certainly a simple mistake by ATI developers, but apparently it's not possible to get noticed by those who can fix it. It causes issues with more anticheats than just EAC, I can already see this related topic below:
after installing 16.12.1 cant play planetside 2 which is !! from late 2016. It never got fixed. And like i said obviously a lot of people have been submitting issue reports in the meanwhile. other than the links i previously provided to show how common this issue is around the web, I found a search term that indicates this scale even better: https://www.google.com/search?q=amdihk64.dll - a lot of the results (not all) are related to Anti-cheats of variety of games kicking for this official AMD file.
Note to your situation specifically: EAC seems to have started being more strict recently for unsigned files in critical folders like here system32, like with Rust, maybe other AC's like the one from your game also started doing this. This is possible an anti-cheat industry move, because kernel based hacking is on the rise (harder to detect) and those are usually not signed. So, AMD unwittingly made themselves a target to these AC's by not signing some files that are used (and located) in ways like this DLL file amdihk64 is. While this is completely avoidable, by as you and I said, digitally signing driver files like they are supposed to be, avoiding such problems for gamers. They now gotta go into safemode cuz file is in use by whole OS, and delete this file to play (not get kicked) sometimes. So it's also not as simple as AMD saying "Hey, report this to that game publisher or anti-cheat software" because the issue is a result of AMD doing things like it shouldn't (always driver files that operate on a level like system32 need to be signed, as I said also all driver and software publishers, especially programmers, would understand why)
What bothers me also is that developers of games affected (like now Rust with EAC) are not sure and advising users that it's their PC's problem: like at https://support.facepunchstudios.com/hc/en-us/articles/115001271745-Untrusted-System-File while as I said this issue is so much a direct placement by AMD Adrenalin drivers of the untrusted file amdihk64.dll straight into your system32 folder.. like, the file is literally contained within AMD driver package.
* edit while writing: oh, I noticed Facepunch changed article from DLL name to in general.. but a lot of game publishers still would send you off with this stuff
So basically if your so-called "system issue or corruption" PC is used for this:
1) completely re-install with Windows 10
2) download official, latest AMD Adrenalin driver package from the real AMD.com site
3) install it
4) end result: you will have the unsigned driver file in your system32 folder! So it's clearly not your issue.
Note: im not sure if amdihk64.dll gets placed only when PC meets certain requirements or hardware capabilities, since it's for DVR.. so not sure if everyone that tries will find it there
So its not possible to be a problem of the user or their PC. Not at all. Nada.
Still, we are getting Tier-1 advises that cannot possibly solve it.. and it never gets told to AMD devs.
To be honest dxter6666 I think you're talking about a different issue.. we are talking not about crashes, but about amdihk causing problems with external software such as Anti-cheat of games, because of not being digitally signed by AMD like all other driver files in sensitive locations like system32 folder, are. If you got a crash issue (even if it's that DLL) then please open your own topic elsewhere.
If it doesn't get 'told' to AMD it means nobody took the time to report it to them. If the issue is as wide spread as you indicate...there should be numerous issue reports received by AMD engineering. Generally, that's not the case. You should furnish this link to anyone with the same issue. Don't assume that anyone else has reported it. If AMD gets 1-2 reports...that's not enough to get their attention...if they receive numerous reports, that puts it in a different category.
Same issue here, Trying to load Scum, worked fine up untill couple days ago, crashes system says " amdihk64.dll " file is untrusted by EAC. un believable.