It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
64-bit windows uses a stronger default policy (AlwaysOn instead of OptIn), which is why following the steps in the support article is not working for some people.
avatar
squid_80: You know you can patch(hexedit) storm.dll to allocate read+write+executable memory, right? So when it tries to run its dynamically generated code it won't trigger a NX exception...
avatar
bdschnei: Good hint! After patching the respective storm.dlls by changing 2 bytes from 04 to 40 at offsets 0x1d43b and 0x1dce8
Diablo.exe seems to run ;)

(This changes the flProtect argument to two VirtualAlloc() calls, 04 is PAGE_READWRITE, 40 is PAGE_EXECUTE_READWRITE)

storm.dll:
0x1d43b: 04 -> 40
0x1dce8: 04 -> 40

After these changes, Diablo also runs without disabling DEP.
This worked for me as well, thank ye!!

One thing I should note here, is the GOG version has *two* copies of storm.dll
One in the base program directory and another in the dx subdirectory.
*Both* need to be changed for this to work !!
avatar
bdschnei: Good hint! After patching the respective storm.dlls by changing 2 bytes from 04 to 40 at offsets 0x1d43b and 0x1dce8
Diablo.exe seems to run ;)

(This changes the flProtect argument to two VirtualAlloc() calls, 04 is PAGE_READWRITE, 40 is PAGE_EXECUTE_READWRITE)

storm.dll:
0x1d43b: 04 -> 40
0x1dce8: 04 -> 40

After these changes, Diablo also runs without disabling DEP.
avatar
derelict.765: This worked for me as well, thank ye!!

One thing I should note here, is the GOG version has *two* copies of storm.dll
One in the base program directory and another in the dx subdirectory.
*Both* need to be changed for this to work !!
Could you please upload the changed file somewhere? :< I cannot into hexedit :<

EDIT: no need to, I can into hexedit after all
Post edited March 10, 2019 by Pyromancer
avatar
Pyromancer: :< I cannot into hexedit :<
Это можно сделать онлайн :)
avatar
squid_80: 64-bit windows uses a stronger default policy (AlwaysOn instead of OptIn), which is why following the steps in the support article is not working for some people.
Open cmd.exe as administrator
or win+r, type cmd (there should be a note, saying that it will be ran as admin)

type:
bcdedit.exe /set {currentnx} nx OptOut

result should be:
The operation completed successfully.

restart

now you can select exceptions to the DEP policy in the system menu

to revert to always on follow the same procedure, but use:

bcdedit.exe /set {currentnx} nx AlwaysOn
Post edited March 11, 2019 by StrEagle