https://bugs.winehq.org/show_bug.cgi?id=32786
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|obfuscation |
--- Comment #11 from Sebastian Lackner sebastian@fds-team.de --- (In reply to Anastasius Focht from comment #9)
'gdiplus.GdipDisposeImage' -> 'gdiplus.GdipFree' -> app hook -> looks at bytes preceeding the memory chunk (-4 bytes -> heap magic) -> throw.
My guess would be the app relies on internal implementation details of MS 'gdiplus' API to work properly.
The conclusion that this is an implementation detail doesn't seem to be correct. The application just wants to track all allocated memory blocks by hooking GdipAlloc and GdipFree, however Wine uses those functions for all memory allocations, including those which are reallocated later. I would guess that this is not the case for native gdiplus.
The staged patch lets the application start properly, I'll send it shortly.