http://bugs.winehq.org/show_bug.cgi?id=13401
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |obfuscation CC| |focht@gmx.net Summary|fr-057 demo scene |fr-057 demo scene |application crashes at |application crashes at |start up |start up (custom imports | |resolver can't cope with | |some msvcrt functions being | |forwarded to ntdll)
--- Comment #16 from Anastasius Focht focht@gmx.net 2012-11-29 15:28:21 CST --- Hello,
that 4K demo has its own custom imports resolver and it doesn't like some msvcrt functions being forwarded to ntdll.
--- snip --- Wine-dbg> 0x7e6cc337 IDirectSoundBufferImpl_Lock+0x5f7 [/home/focht/projects/wine/wine-git/dlls/dsound/buffer.c:518] in dsound: ret $0x20 518 } Wine-dbg> 0x004214d2: pushl $0x596c00 Wine-dbg> 0x004214d7: pushl $0x68bbe04 Wine-dbg> 0x004214dc: pushl 0x004225c8 Wine-dbg> 0x004214e2: call 0x0042161c Wine-dbg> fixme:winedbg:be_i386_is_jump unknown ff 0x0042161c: jmp *0x6e600d8 -> 0x7e3faaeb Wine-dbg> 0x7e3faaeb: outsb (%esi),%dx --- snip ---
--- snip --- 004214AB 6A 00 PUSH 0 004214AD 6A 00 PUSH 0 004214AF 6A 00 PUSH 0 004214B1 68 44254200 PUSH OFFSET 00422544 004214B6 68 C8254200 PUSH OFFSET 004225C8 004214BB 68 006C5900 PUSH OFFSET 00596C00 004214C0 6A 00 PUSH 0 004214C2 A1 E4254200 MOV EAX,DWORD PTR DS:[4225E4] 004214C7 8B00 MOV EAX,DWORD PTR DS:[EAX] 004214C9 FF35 E4254200 PUSH DWORD PTR DS:[4225E4] 004214CF FF50 2C CALL DWORD PTR DS:[EAX+2C] ; IDirectSoundBufferImpl_Lock 004214D2 68 006C5900 PUSH OFFSET 00596C00 004214D7 68 04BE8B06 PUSH OFFSET 068BBE04 004214DC FF35 C8254200 PUSH DWORD PTR DS:[4225C8] 004214E2 E8 35010000 CALL 0042161C 004214E7 83C4 0C ADD ESP,0C 004214EA 6A 00 PUSH 0 004214EC 6A 00 PUSH 0 004214EE FF35 44254200 PUSH DWORD PTR DS:[422544] 004214F4 FF35 C8254200 PUSH DWORD PTR DS:[4225C8] 004214FA A1 E4254200 MOV EAX,DWORD PTR DS:[4225E4] 004214FF 8B00 MOV EAX,DWORD PTR DS:[EAX] 00421501 FF35 E4254200 PUSH DWORD PTR DS:[4225E4] 00421507 FF50 4C CALL DWORD PTR DS:[EAX+4C] 0042150A 5D POP EBP 0042150B C3 RETN --- snip ---
--- snip --- 0042161C - FF25 D800E606 JMP DWORD PTR DS:[6E600D8] 00421622 - FF25 3800E606 JMP DWORD PTR DS:[6E60038] 00421628 - FF25 D000E606 JMP DWORD PTR DS:[6E600D0] 0042162E - FF25 D400E606 JMP DWORD PTR DS:[6E600D4] 00421634 - FF25 CC00E606 JMP DWORD PTR DS:[6E600CC] 0042163A - FF25 E000E606 JMP DWORD PTR DS:[6E600E0] 00421640 - FF25 C400E606 JMP DWORD PTR DS:[6E600C4] 00421646 - FF25 C800E606 JMP DWORD PTR DS:[6E600C8] 0042164C - FF25 9000E606 JMP DWORD PTR DS:[6E60090] 00421652 - FF25 5000E606 JMP DWORD PTR DS:[6E60050] 00421658 - FF25 4C00E606 JMP DWORD PTR DS:[6E6004C] 0042165E - FF25 7C00E606 JMP DWORD PTR DS:[6E6007C] 00421664 - FF25 B400E606 JMP DWORD PTR DS:[6E600B4] 0042166A - FF25 BC00E606 JMP DWORD PTR DS:[6E600BC] --- snip ---
App IAT:
--- snip --- 06E60000 7B87978B ; KERNEL32.AcquireSRWLockExclusive ... 06E60014 7B865A70 ; KERNEL32.ExitProcess 06E60018 7B8580ED ; KERNEL32.LoadLibraryA 06E6001C 7ECF1CCD ; user32.CreateWindowExA ... 06E600C8 7E6C7E2A ; dsound.DirectSoundCreate 06E600CC 7E3ED8F4 ; ASCII "ntdll._ftol" ; forwarded, problem 06E600D0 7E3925B1 ; msvcrt.cos 06E600D4 7E3930F8 ; msvcrt.fabs 06E600D8 7E3EDAEB ; ASCII "ntdll.memcpy" ; forwarded, problem 06E600DC 7E392867 ; msvcrt.pow 06E600E0 7E3928D6 ; msvcrt.sin 06E600E4 00000000 --- snip ---
http://source.winehq.org/git/wine.git/blob/5e50ec3df288b3bc9221c2deb802fa1dd...
--- snip --- ... 456 @ cdecl -ret64 _ftol() ntdll._ftol ... 1341 @ cdecl memcpy(ptr ptr long) ntdll.memcpy ... --- snip ---
Native msvcrt doesn't forward these to ntdll.
Regards