http://bugs.winehq.org/show_bug.cgi?id=7065
--- Comment #63 from Anastasius Focht focht@gmx.net 2008-01-22 08:47:02 --- Created an attachment (id=10407) --> (http://bugs.winehq.org/attachment.cgi?id=10407) patch to trick newer securom 7.x into appcompat mode (less strict api checks)
Hello,
yes that "Sam & Max Episode 202 - Moai Better Blues" game uses late SecuRom v7.2 The 6000 error code is a generic one, resulting from native API insufficiencies. I can't isolate/fix it easily yet (needs fleshed out infrastructure).
For the time being I can only offer a hack.
With the help of Windows Application Compatibility Layer facility you can trick late SecuRom versions. SecuRom has specific checks which look for core dlls of Microsoft’s Application Compatibility Layer. All that is needed is one of the core dlls to be present in process memory, e.g. "aclayers.dll" or "shimeng.dll". The AC Layer hot-patches/hooks Windows API at runtime, modifying windows data structures/API behaviour.
If SecuRom encounters certain API "anomalies" and finds AC Layer dlls present it acts less strictly to some checks.
Attached is a small hack/patch which preloads "aclayers.dll" at process start (if present). You can use any (fake) dll - renamed to "aclayers.dll" - for that purpose. Better use a basic one, with not many other dll dependencies at all.
1.) apply the hack, rebuild wine 2.) make a copy of a simple dll, rename it to "aclayers.dll" and place it into dll search path to be picked up.
This is just a hack - meant to work around the current API limitations and letting games/apps start further - only to let them run into non copy protection related bugs ;-)
Regards