On May 27, Blizzard updated their ver-IX86-*.mpq files (which are also known as CheckRevision) and it seems to have no changes in how it works, which leads me to guess that it's simply recompiled in a newer compiler. On June 7, Blizzard updated Diablo 2 to 1.14d, and beginning with this patch, Diablo 2 uses these updated ver-IX86-*.mpq files whereas previously it had used the IX86Ver*.mpq files. On a side note, Diablo 2 refuses to use the older ver-IX86-*.mpq files
I keep an implementation of CheckRevision on Github and have noticed that Diablo 2 1.14d also refuses to load my implementation. Also, I've confirmed that my implementation is at least working with StarCraft. I've logged the WinAPI calls that Diablo 2 makes and it doesn't even bother calling LoadLibraryA() on my implementation and instead goes ahead and deletes the DLL file. I'm stumped as to why this would happen, so I hope somebody could help me out here and try to figure out what's wrong.
Post has been edited 4 time(s), last time on Jun 14 2016, 7:19 pm by iCCup.xboi209.
None.
The DLLs contained within the MPQs are now digitally signed whereas previously, only the MPQs were digitally signed. D2 1.14d likely contains new code to verify the digital signature before loading the DLL and calling CheckRevision().
None.