quazee Newbie
Joined: 03 Jan 2005 Posts: 1
|
Posted: Mon Jan 03, 2005 6:39 pm
zMUD crashes if Data Execution Prevention is enabled |
Certain processors (AMD Athlon64, latest Semprons, and very latest Intel Pentium 4 Prescotts) support a feature called Data Execution Prevention.
This feature is enabled by Windows XP SP2 (released) and Windows Server 2003 SP1 (currently in beta).
I have an Athlon64, and I have configured the Data Execution Prevention for all programs.
(there are two settings:
- turn on DEP for essential Windows programs and services only
- turn on DEP for all programs)
More info is here:
http://support.microsoft.com/kb/875352
When DEP is enabled, zMUD does crash (shows the following error message:
The application failed to initialize properly (0xc0000005). Click on OK to terminate the application.)
I had to add zMUD.exe to the list of excluded programs for DEP.
After that, zMUD didn't crash, but didn't show anything either.
I found that zMUD installed a strange service 'c:\windows\runservice.exe', displayed in the Services snap-in as LicCtrl Service.
That service could not start.
After I added 'c:\windows\runservice.exe' to the list of excluded programs for DEP, the LicCtrl service started just fine.
After that, zMUD was up and running.
So, I think that this is not a Zugg's bug, but a bug in ViaTech's security code.
Specifically, they probably allocate a chunk of memory, and decrypt some executable code into it.
When they allocated the memory, they forgot to include PAGE_EXECUTE bit in the VirtualAlloc call.
So, the allocated memory is readable, but not executable. |
|