![](templates/Classic/images/spacer.gif) |
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Tue Jul 29, 2008 9:08 am
[2.34] CMUDPro.EXE /REGSERVER crash |
Installing CMUDPro for the first time on this machine.
Windows Server 2008 x64 SP1, which is same kernal as Vista x64 SP1.
I'm running as a proper administrator etc, UAC turned off.
Installation goes fine until it comes to the 'CMUDPro.EXE /REGSERVER' line, where a box pops up telling me CMUDPro has stopped responding and must close.
Installation continues happily and completes but CMUDPro will not start now.
Event Viewer says
Quote: |
Faulting application cMUDPro.exe, version 2.34.0.0, time stamp 0x488e7b69, faulting module unknown, version 0.0.0.0, time stamp 0x00000000, exception code 0xc0000096, fault offset 0x000b3650, process id 0xb2c, application start time 0x01c8f15937ba079a. |
Quote: |
Fault bucket 863407364, type 1
Event Name: APPCRASH
Response: None
Cab Id: 0
Problem signature:
P1: cMUDPro.exe
P2: 2.34.0.0
P3: 488e7b69
P4: StackHash_8c5a
P5: 0.0.0.0
P6: 00000000
P7: c0000096
P8: 000b3650
P9:
P10:
Attached files:
C:\Users\D\AppData\Local\Temp\WER46A.tmp.version.txt
These files may be available here:
C:\Users\D\AppData\Local\Microsoft\Windows\WER\ReportArchive\Report0e331e8a |
The contents of the crash report is
Quote: |
Version=1
EventType=APPCRASH
EventTime=128617954871988273
ReportType=2
Consent=1
UploadTime=128617954902269538
Response.BucketId=863407364
Response.BucketTable=1
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=cMUDPro.exe
Sig[1].Name=Application Version
Sig[1].Value=2.34.0.0
Sig[2].Name=Application Timestamp
Sig[2].Value=488e7b69
Sig[3].Name=Fault Module Name
Sig[3].Value=StackHash_8c5a
Sig[4].Name=Fault Module Version
Sig[4].Value=0.0.0.0
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=00000000
Sig[6].Name=Exception Code
Sig[6].Value=c0000096
Sig[7].Name=Exception Offset
Sig[7].Value=000b3650
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.0.6001.2.1.0.272.7
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=2057
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=8c5a
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=e6226c4a231d81ec50f03ba41f4ad0dd
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=0da5
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=324e4b409ff024cce8e35495ad40dea1
UI[2]=D:\Program Files (x86)\CMUDPro\cMUDPro.exe
UI[3]=CMUDPro has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
State[0].Key=Transport.DoneStage1
State[0].Value=1
State[1].Key=DataRequest
State[1].Value=Bucket=863407364/nBucketTable=1/nResponse=1/n
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=CMUDPro
AppPath=D:\Program Files (x86)\CMUDPro\cMUDPro.exe |
|
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jul 29, 2008 4:43 pm |
Great, it looks like Microsoft is screwing around with COM again. Are they just trying to kill COM so that people will switch to .NET???
In any case, I have no idea what to do about this. It works fine in Vista, so obviously Windows Server 2008 is doing something different than Vista when it comes to registering COM objects. Or maybe it's another problem with 64-bit Windows, but I don't think this happens in normal Vista x64.
Since this seems to be different between Vista and Win2008, I'm hoping that this is just a bug in Win2008 that Microsoft will fix in a patch.
Now, it's possible that this isn't a COM problem but is actually a problem with the Armadillo copy protection system on Win2008. You might want to download TeSSH at http://www.zuggsoft.com/files/tessh234_setup.exe and see if it works. Unlike CMUDPro, TeSSH doesn't try to install any COM objects in it's installer. So it should install properly. But if you get this same error when you try to run TeSSH after installing it, then that means it's a problem with the Armadillo copy protection and not with the actual REGSERVER command.
Anyway, let me know what you learn from trying TeSSH. Armadillo is charging too much money for their latest upgrades (their upgrade price is 80% of their full price, which I think is ridiculous). But if a new version of Armadillo is going to be needed for Win2008, then I'll have to look into this.
Oh, also, is Win2008 currently released to the Public officially, or is it still in Beta testing? |
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jul 29, 2008 4:45 pm |
Oh, one more thing to try. Try actually right-clicking on the cmudpro234_setup.exe file and select "Run As Admin" and see if that helps at all. Also try this when running CMUD. Vista has a "kludge" where it automatically tries to elevate any file containing the word "setup" in the filename so that installers will always "run as admin". It's possible that Win2008 removes this kludge and requires installers to elevate themselves manually.
|
|
|
![](templates/Classic/images/spacer.gif) |
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Tue Jul 29, 2008 5:43 pm |
Solved...
It was DEP - I had the exact same problem with TeSSH so assumed it was Armadillo, then remembered something about DEP causing problems with it somewhere else, so I added CMUDPro and TeSSH to the list of excluded programs and it runs fine.
Server 2008 is public. It's Vista as it should have been - I'm running it on my desktop day to day. |
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jul 29, 2008 7:25 pm |
Bah...DEP! Thanks for solving this. Yes, DEP *must* be disabled for any software that has any sort of copy protection like Armadillo.
|
|
|
![](templates/Classic/images/spacer.gif) |
Rorso Wizard
Joined: 14 Oct 2000 Posts: 1368
|
Posted: Tue Jul 29, 2008 9:21 pm |
Zugg wrote: |
Bah...DEP! Thanks for solving this. Yes, DEP *must* be disabled for any software that has any sort of copy protection like Armadillo. |
Kinda odd if you have to turn off security functions to properly get a copy protection system to work. Especially for an application like cMUD that could need DEP protection. My opinion is that Armadillo is doing something wrong. |
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jul 29, 2008 11:36 pm |
The DEP system is designed to prevent (or warn) about executables that modify their own CODE page. *ALL* Copy protection systems need to modify their code page. In the case of Armadillo, the EXE file is encrypted. When loaded into memory, it checks the license and then decrypts the image within memory and then calls the normal Windows routines to run the code. This is always going to trigger DEP. Armadillo isn't doing anything wrong...it's just accessing the code page to decrypt the file.
Now, I think Armadillo improved this in their latest update so that it properly negotiates with Windows to temporarily turn off DEP during the decryption process. However, I'm not paying $500 just to get that "feature".
I don't know why you say "Especially for an application like cMUD that could need DEP protection"...why does CMUD need DEP protection? In my opinion, only Windows system files need DEP protection. As long as you have a up-to-date virus checker, you don't need DEP protection on normal application EXE files (in my opinion). |
|
|
![](templates/Classic/images/spacer.gif) |
Rorso Wizard
Joined: 14 Oct 2000 Posts: 1368
|
Posted: Wed Jul 30, 2008 7:05 am |
Zugg wrote: |
I don't know why you say "Especially for an application like cMUD that could need DEP protection"...why does CMUD need DEP protection? In my opinion, only Windows system files need DEP protection. As long as you have a up-to-date virus checker, you don't need DEP protection on normal application EXE files (in my opinion). |
It is same reason you want DEP to be active for Internet Explorer, or even JPG loaders. If someone finds a buffer overflow in cMUD it might be possible for them to send and execute code on users machines remotely. Local buffers are stored on the stack if I remember correctly. So if you fill a buffer beyond its length you eventually reach the return address of the procedure. If you overwrite the return address so that it instead points to code in the buffer you wrote data to then that data would be executed as code. As the buffer is stored on the stack DEP should detect this and close the application.
The MUD community is probably small enough that it wouldn't be worthwhile exercise to attempt but it definitely is nasty what kind of exploits can be done.
Quite annoying if Armadillo require money for what essentially is a bug fix. |
|
|
![](templates/Classic/images/spacer.gif) |
Zugg MASTER
![](images/avatars/164475849040f41c23b22fe.gif)
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Jul 30, 2008 4:32 pm |
Yeah, everyone is annoyed at the Armadillo people and their upgrade costs. Ever since they were bought by Digital River they have raised their prices and haven't added anything useful to warrant the upgrade cost.
As far as DEP, Delphi applications tend to be less prone to this than C/C++ applications. For example, zMUD/CMUD doesn't use fixed-size buffers for strings like many C applications do. Strings in Delphi are all dynamic, so there isn't any way to cause an "overflow". Remember that a lot of the ideas for .NET came from Delphi and a lot of the reasons .NET applications are less likely to have buffer overruns also apply to Delphi.
Sure, it's still possible to write bad code in Delphi. But the defaults make it more difficult.
What would be nice is if Microsoft implemented DEP a bit differently to accommodate copy protection systems. For example, only having DEP enabled once the application is running. This would allow the copy protection system to decrypt the code, but then protect the application while it was running against things like buffer-overflow attacks. |
|
|
![](templates/Classic/images/spacer.gif) |
bortaS Magician
![](images/avatars/153726202845060ee56c84e.gif)
Joined: 10 Oct 2000 Posts: 320 Location: Springville, UT
|
Posted: Wed Jul 30, 2008 7:06 pm |
Digital River has been assimilating a LOT of payment processors as well. Everything they touch turns to crap. I tend to avoid anything related to them now.
Resistance is futile. ![Twisted Evil](images/smiles/icon_twisted.gif) |
|
_________________ bortaS
~~ Crusty Klingon Programmer ~~ |
|
|
![](templates/Classic/images/spacer.gif) |
|
|