Thursday, November 13, 2008

Second go: SimpleDictation in Wine

ok.
  • Fresh VM in VirtualBox
  • Fresh XP
  • Crack with WPAjobby
  • Overwrite with fresh Vista
  • Upgrade to SP1
  • Install VS08
  • Copy over SimpleDictation c++ sample from WindowsSDK
  • Compile release build
Now try to get that running in Wine:
  • rm -r /home/spud/.wine
  • save 'winetricks' http://www.kegel.com/wine/winetricks
  • chmod a+x winetricks
  • run it and install VC08 redist

  • Copy over from Vista ~/.wine/drive_c/windows/system32/Speech/*
    regsvr32 /Common/sapi.dll
  • copy over SimpleDict's Release build folder to ~/sd
  • spud@spud-laptop:~/sd$ wine SimpleDictation.exe
spud@spud-laptop:~/sd$ wine SimpleDictation.exe
fixme:advapi:RegisterTraceGuidsW 0x34b0f75c 0x34b952d8 0x34ae1c2c 1 0x32f0b4 (null) (null) 0x34b952e0
fixme:wtsapi:WTSRegisterSessionNotification Stub 0x500cc 0x00000000
wine: Unhandled page fault on read access to 0x00000000 at address 0x40278c (thread 0023), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0040278c).
err:dbghelp_msc:pe_load_debug_directory Got a page fault while loading symbols
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
EIP:0040278c ESP:0032f94c EBP:0032f9ac EFLAGS:00210216( - 00 -RIAP1)
EAX:00000000 EBX:7ee2f0cc ECX:0032fe74 EDX:00000000
ESI:00000000 EDI:000300e4
Stack dump:
0x0032f94c: 00000000 00000000 00000000 0032fe74
0x0032f95c: 9dc13414 0032f970 7edfacd0 00000000
0x0032f96c: 00740c00 00740c00 7ee2f0cc 7ee2f0cc
0x0032f97c: 00740c00 0032fe5c 0032f9a4 7edff6df
0x0032f98c: 000300e4 ffffffeb 00000000 00740c00
0x0032f99c: 00743710 0032fef8 00402c60 00000001
Backtrace:
=>1 0x0040278c in simpledictation (+0x278c) (0x0032f9ac)
2 0x00402acf in simpledictation (+0x2acf) (0x0032f9c0)
3 0x7ee096ba WINPROC_wrapper+0x1a() in user32 (0x0032f9f0)
4 0x7ee0b4b8 in user32 (+0xab4b8) (0x0032fa30)
5 0x7ee0eec3 in user32 (+0xaeec3) (0x0032fa70)
6 0x7ed97277 DefDlgProcW+0x87() in user32 (0x0032faa0)
7 0x7ee096ba WINPROC_wrapper+0x1a() in user32 (0x0032fad0)
8 0x7ee09d9e WINPROC_wrapper+0x6fe() in user32 (0x0032fb10)
9 0x7ee0f15b in user32 (+0xaf15b) (0x0032fb50)
10 0x7edd06f1 in user32 (+0x706f1) (0x0032fbb0)
11 0x7edd47bd in user32 (+0x747bd) (0x0032fc10)
12 0x7edd4c2a SendMessageW+0x4a() in user32 (0x0032fc50)
13 0x7ed9cd0c in user32 (+0x3cd0c) (0x0032fe20)
14 0x7ed9f010 DialogBoxParamW+0x70() in user32 (0x0032fe40)
15 0x00402b85 in simpledictation (+0x2b85) (0x0032fe78)
16 0x00401e61 in simpledictation (+0x1e61) (0x0032ff08)
17 0x7b877c07 in kernel32 (+0x57c07) (0x0032ffe8)
0x0040278c: movl 0x0(%eax),%ecx
Modules:
Module Address Debug info Name (69 modules)
PE 400000- 408000 Export simpledictation
PE 34ae0000-34bfe000 Deferred sapi
PE 78520000-785c3000 Deferred msvcr90
ELF 7b800000-7b93b000 Export kernel32
\-PE 7b820000-7b93b000 \ kernel32
ELF 7bc00000-7bca9000 Deferred ntdll
\-PE 7bc10000-7bca9000 \ ntdll
ELF 7bf00000-7bf03000 Deferred
ELF 7e338000-7e34c000 Deferred wtsapi32
\-PE 7e340000-7e34c000 \ wtsapi32
ELF 7e45d000-7e471000 Deferred midimap
\-PE 7e460000-7e471000 \ midimap
ELF 7e471000-7e488000 Deferred msacm32
\-PE 7e480000-7e488000 \ msacm32
ELF 7e488000-7e54b000 Deferred libasound.so.2
ELF 7e55a000-7e58f000 Deferred winealsa
\-PE 7e560000-7e58f000 \ winealsa
ELF 7e58f000-7e5b6000 Deferred msacm32
\-PE 7e5a0000-7e5b6000 \ msacm32
ELF 7e5b6000-7e648000 Deferred winmm
\-PE 7e5c0000-7e648000 \ winmm
ELF 7e648000-7e72f000 Deferred oleaut32
\-PE 7e660000-7e72f000 \ oleaut32
ELF 7e757000-7e760000 Deferred libxcursor.so.1
ELF 7e760000-7e765000 Deferred libxfixes.so.3
ELF 7e765000-7e768000 Deferred libxcomposite.so.1
ELF 7e768000-7e76e000 Deferred libxrandr.so.2
ELF 7e76e000-7e776000 Deferred libxrender.so.1
ELF 7e776000-7e77b000 Deferred libxxf86vm.so.1
ELF 7e77b000-7e77e000 Deferred libxinerama.so.1
ELF 7e77e000-7e79e000 Deferred imm32
\-PE 7e780000-7e79e000 \ imm32
ELF 7e79e000-7e7a3000 Deferred libxdmcp.so.6
ELF 7e7a3000-7e7bb000 Deferred libxcb.so.1
ELF 7e7bb000-7e7bd000 Deferred libxcb-xlib.so.0
ELF 7e7bd000-7e7c0000 Deferred libxau.so.6
ELF 7e7c0000-7e8a7000 Deferred libx11.so.6
ELF 7e8a7000-7e8b5000 Deferred libxext.so.6
ELF 7e8b5000-7e8cd000 Deferred libice.so.6
ELF 7e8cd000-7e8d5000 Deferred libsm.so.6
ELF 7e8e4000-7e97d000 Deferred winex11
\-PE 7e8f0000-7e97d000 \ winex11
ELF 7e9cc000-7e9ed000 Deferred libexpat.so.1
ELF 7e9ed000-7ea17000 Deferred libfontconfig.so.1
ELF 7ea17000-7ea2c000 Deferred libz.so.1
ELF 7ea2c000-7ea99000 Deferred libfreetype.so.6
ELF 7ea99000-7eaac000 Deferred libresolv.so.2
ELF 7eabb000-7eada000 Deferred iphlpapi
\-PE 7eac0000-7eada000 \ iphlpapi
ELF 7eada000-7eb3f000 Deferred rpcrt4
\-PE 7eaf0000-7eb3f000 \ rpcrt4
ELF 7eb3f000-7ec4e000 Deferred ole32
\-PE 7eb60000-7ec4e000 \ ole32
ELF 7ec4e000-7eca2000 Deferred advapi32
\-PE 7ec60000-7eca2000 \ advapi32
ELF 7eca2000-7ed40000 Deferred gdi32
\-PE 7ecb0000-7ed40000 \ gdi32
ELF 7ed40000-7ee89000 Export user32
\-PE 7ed60000-7ee89000 \ user32
ELF 7efa9000-7efb4000 Deferred libnss_files.so.2
ELF 7efb4000-7efcc000 Deferred libnsl.so.1
ELF 7efcc000-7eff1000 Deferred libm.so.6
ELF 7eff6000-7f000000 Deferred libnss_nis.so.2
ELF b7ca1000-b7caa000 Deferred libnss_compat.so.2
ELF b7cab000-b7caf000 Deferred libdl.so.2
ELF b7caf000-b7dfe000 Deferred libc.so.6
ELF b7dff000-b7e17000 Deferred libpthread.so.0
ELF b7e26000-b7f5c000 Deferred libwine.so.1
ELF b7f5e000-b7f7a000 Deferred ld-linux.so.2
Threads:
process tid prio (all id:s are in hex)
00000008
00000009 0
0000000c
00000012 0
0000000e 0
0000000d 0
0000000f
00000015 0
00000014 0
00000011 0
00000010 0
00000016
00000017 0
00000022 (D) Z:\home\spud\sd\SimpleDictation.exe
00000025 0
00000024 0
00000023 0 <==
Backtrace:
=>1 0x0040278c in simpledictation (+0x278c) (0x0032f9ac)
2 0x00402acf in simpledictation (+0x2acf) (0x0032f9c0)
3 0x7ee096ba WINPROC_wrapper+0x1a() in user32 (0x0032f9f0)
4 0x7ee0b4b8 in user32 (+0xab4b8) (0x0032fa30)
5 0x7ee0eec3 in user32 (+0xaeec3) (0x0032fa70)
6 0x7ed97277 DefDlgProcW+0x87() in user32 (0x0032faa0)
7 0x7ee096ba WINPROC_wrapper+0x1a() in user32 (0x0032fad0)
8 0x7ee09d9e WINPROC_wrapper+0x6fe() in user32 (0x0032fb10)
9 0x7ee0f15b in user32 (+0xaf15b) (0x0032fb50)
10 0x7edd06f1 in user32 (+0x706f1) (0x0032fbb0)
11 0x7edd47bd in user32 (+0x747bd) (0x0032fc10)
12 0x7edd4c2a SendMessageW+0x4a() in user32 (0x0032fc50)
13 0x7ed9cd0c in user32 (+0x3cd0c) (0x0032fe20)
14 0x7ed9f010 DialogBoxParamW+0x70() in user32 (0x0032fe40)
15 0x00402b85 in simpledictation (+0x2b85) (0x0032fe78)
16 0x00401e61 in simpledictation (+0x1e61) (0x0032ff08)
17 0x7b877c07 in kernel32 (+0x57c07) (0x0032ffe8)

No comments: