Hello,
I have some winCE apps they would like to run on Android. Since WINE for Android will not be out for several months I thought I would investigate how to get applications running under the winece that is currently available. I successfully installed it on a pandaboard and the demo applications that come with the install work (e.g. clock.exe). I downloaded what I thought was a typical application that did not have any additional dlls (putty.exe) but it immediately returns with:
wine: Invalid address
I am a fairly competent c programmer but I was hoping I could get some pointers on where to get started since there is a lot of codebase to wade through.
If you think it cannot be done by a newbie please don't hesitate to say so :)
Thanks!
= Mark -----------------------
Here is the results from windump putty.exe
File Header Machine: 01C0 (ARM) Number of Sections: 5 TimeDateStamp: 45E5F329 (Wed Feb 28 15:24:57 2007) offset 216 PointerToSymbolTable: 00000000 NumberOfSymbols: 00000000 SizeOfOptionalHeader: 00E0 Characteristics: 010F RELOCS_STRIPPED EXECUTABLE_IMAGE LINE_NUMS_STRIPPED LOCAL_SYMS_STRIPPED 32BIT_MACHINE
Optional Header (32bit) Magic 0x10B 267 linker version 6.24 size of code 0x53c00 343040 size of initialized data 0x1f200 127488 size of uninitialized data 0x0 0 entrypoint RVA 0x5499c 346524 base of code 0x1000 4096 base of data 0x55000 348160 image base 0x10000 65536 section align 0x1000 4096 file align 0x200 512 required OS version 4.00 image version 0.00 subsystem version 4.20 Win32 Version 0x0 0 size of image 0x75000 479232 size of headers 0x400 1024 checksum 0x0 0 Subsystem 0x9 (Windows CE GUI) DLL characteristics: 0x0 stack reserve size 0x10000 65536 stack commit size 0x1000 4096 heap reserve size 0x100000 1048576 heap commit size 0x1000 4096 loader flags 0x0 0 RVAs & sizes 0x10 16
Data Directory EXPORT rva: 0x0 size: 0x0 IMPORT rva: 0x62258 size: 0x28 RESOURCE rva: 0x73000 size: 0x1f4c EXCEPTION rva: 0x71000 size: 0x1e90 SECURITY rva: 0x0 size: 0x0 BASERELOC rva: 0x0 size: 0x0 DEBUG rva: 0x0 size: 0x0 ARCHITECTURE rva: 0x0 size: 0x0 GLOBALPTR rva: 0x0 size: 0x0 TLS rva: 0x0 size: 0x0 LOAD_CONFIG rva: 0x0 size: 0x0 Bound IAT rva: 0x0 size: 0x0 IAT rva: 0x63000 size: 0x368 Delay IAT rva: 0x0 size: 0x0 CLR Header rva: 0x0 size: 0x0 rva: 0x0 size: 0x0 -----------------
Here is the last several lines from setting WINDEDEBUG=+all 0030: open_key( parent=0010, access=000f003f, attributes=00000000, name=L"Software\Wine\DllOverrides" ) 0030: open_key() = OBJECT_NAME_NOT_FOUND { hkey=0000 } 0030: close_handle( handle=0010 ) 0030: close_handle() = 0 0030: get_handle_fd( handle=000c ) 0030: *fd* 000c -> 21 0030: get_handle_fd() = 0 { type=1, cacheable=1, access=00120089, options=00000000 } 0030: create_mapping( access=000f0005, attributes=00000000, protect=00000145, size=00000000, file_handle=000c, objattr={rootdir=0000,sd={},name=L""} ) 0030: create_mapping() = 0 { handle=0010 } 0030: get_mapping_info( handle=0010, access=00000004 ) 0030: get_mapping_info() = 0 { size=00075000, protect=325, header_size=1024, base=00010000, mapping=0014, shared_file=0000 } 0030: get_handle_fd( handle=0010 ) 0030: *fd* 0010 -> 22 0030: get_handle_fd() = 0 { type=1, cacheable=1, access=000f0005, options=00000020 } 0030: close_handle( handle=0014 ) 0030: close_handle() = 0 0030: close_handle( handle=0010 ) 0030: close_handle() = 0 0030: close_handle( handle=000c ) 0030: close_handle() = 0 0030: terminate_process( handle=0000, exit_code=487 ) 0030: terminate_process() = 0 { self=1 } 0030: terminate_process( handle=ffffffff, exit_code=487 ) 0030: terminate_process() = 0 { self=1 } 0030: *killed* exit_code=487 002f: *process killed*
Am 12.11.2013 23:39, schrieb Mark Bellmore:
Hello,
I have some winCE apps they would like to run on Android. Since WINE for Android will not be out for several months I thought I would investigate how to get applications running under the winece that is currently available. I successfully installed it on a pandaboard and the demo applications that come with the install work (e.g. clock.exe). I downloaded what I thought was a typical application that did not have any additional dlls (putty.exe) but it immediately returns with:
wine: Invalid address
Well, winece was done by me and is far from being useable, i guess we shouldn't bother wine-devel with it as it's not upstream. As i wrote in http://wiki.winehq.org/ARM : That's still pre-alpha/proof-of-concept and not part of official Wine, don't expect any success. Did you even used the version from https://github.com/AndreRH/winece ?
I am a fairly competent c programmer but I was hoping I could get some pointers on where to get started since there is a lot of codebase to wade through.
If you think it cannot be done by a newbie please don't hesitate to say so :)
I have nearly no idea what is going on by that information... Did coredll even load? URL to that putty download?
Thanks!
= Mark
Here is the results from windump putty.exe
File Header Machine: 01C0 (ARM) Number of Sections: 5 TimeDateStamp: 45E5F329 (Wed Feb 28 15:24:57 2007) offset 216 PointerToSymbolTable: 00000000 NumberOfSymbols: 00000000 SizeOfOptionalHeader: 00E0 Characteristics: 010F RELOCS_STRIPPED EXECUTABLE_IMAGE LINE_NUMS_STRIPPED LOCAL_SYMS_STRIPPED 32BIT_MACHINE
Optional Header (32bit) Magic 0x10B 267 linker version 6.24 size of code 0x53c00 343040 size of initialized data 0x1f200 127488 size of uninitialized data 0x0 0 entrypoint RVA 0x5499c 346524 base of code 0x1000 4096 base of data 0x55000 348160 image base 0x10000 65536 section align 0x1000 4096 file align 0x200 512 required OS version 4.00 image version 0.00 subsystem version 4.20 Win32 Version 0x0 0 size of image 0x75000 479232 size of headers 0x400 1024 checksum 0x0 0 Subsystem 0x9 (Windows CE GUI) DLL characteristics: 0x0 stack reserve size 0x10000 65536 stack commit size 0x1000 4096 heap reserve size 0x100000 1048576 heap commit size 0x1000 4096 loader flags 0x0 0 RVAs & sizes 0x10 16
Data Directory EXPORT rva: 0x0 size: 0x0 IMPORT rva: 0x62258 size: 0x28 RESOURCE rva: 0x73000 size: 0x1f4c EXCEPTION rva: 0x71000 size: 0x1e90 SECURITY rva: 0x0 size: 0x0 BASERELOC rva: 0x0 size: 0x0 DEBUG rva: 0x0 size: 0x0 ARCHITECTURE rva: 0x0 size: 0x0 GLOBALPTR rva: 0x0 size: 0x0 TLS rva: 0x0 size: 0x0 LOAD_CONFIG rva: 0x0 size: 0x0 Bound IAT rva: 0x0 size: 0x0 IAT rva: 0x63000 size: 0x368 Delay IAT rva: 0x0 size: 0x0 CLR Header rva: 0x0 size: 0x0 rva: 0x0 size: 0x0
Here is the last several lines from setting WINDEDEBUG=+all 0030: open_key( parent=0010, access=000f003f, attributes=00000000, name=L"Software\Wine\DllOverrides" ) 0030: open_key() = OBJECT_NAME_NOT_FOUND { hkey=0000 } 0030: close_handle( handle=0010 ) 0030: close_handle() = 0 0030: get_handle_fd( handle=000c ) 0030: *fd* 000c -> 21 0030: get_handle_fd() = 0 { type=1, cacheable=1, access=00120089, options=00000000 } 0030: create_mapping( access=000f0005, attributes=00000000, protect=00000145, size=00000000, file_handle=000c, objattr={rootdir=0000,sd={},name=L""} ) 0030: create_mapping() = 0 { handle=0010 } 0030: get_mapping_info( handle=0010, access=00000004 ) 0030: get_mapping_info() = 0 { size=00075000, protect=325, header_size=1024, base=00010000, mapping=0014, shared_file=0000 } 0030: get_handle_fd( handle=0010 ) 0030: *fd* 0010 -> 22 0030: get_handle_fd() = 0 { type=1, cacheable=1, access=000f0005, options=00000020 } 0030: close_handle( handle=0014 ) 0030: close_handle() = 0 0030: close_handle( handle=0010 ) 0030: close_handle() = 0 0030: close_handle( handle=000c ) 0030: close_handle() = 0 0030: terminate_process( handle=0000, exit_code=487 ) 0030: terminate_process() = 0 { self=1 } 0030: terminate_process( handle=ffffffff, exit_code=487 ) 0030: terminate_process() = 0 { self=1 } 0030: *killed* exit_code=487 002f: *process killed*