http://bugs.winehq.org/show_bug.cgi?id=7065
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #22 from Anastasius Focht focht@gmx.net 2007-09-24 16:34:27 --- Hello,
well i looked into the matter. Some hours of nasty debugging (windows of course) ... First: don't try to fool around by patching IsDebuggerPresent() or CheckRemoteDebuggerPresent(). The protector "probe" writes directly to PEB->teb() area to verify with API returns to detect inconsistencies (hooks or fake value returns).
The showstopper why Securom 6.x, 7.x doesn't currently work under wine is due to mismatching process heap structure layouts. The protector accesses process heap structure members which do not exist in wine or have other meanings. The current layout is the choice made by wine developers losely based on infamous Pietrek books. To fix this issue not only the process heap structure layout need to be adjusted but some parts of the process heap creation/init code need to be rewritten too.
Regards