Hi,

About the issue with WM6.1 I am following another track to fix it.
I have installed Platform Builder 5.0(tools used to generate ROM image from
WCE sources) with the latest updates available 
and Armv4i device emulator BSP available here :
http://blogs.msdn.com/mikehall/archive/2006/03/01/541634.aspx
I have generated a new OS to get the famous kernel nk.exe and its
associated map file.
Then I have dissasemble the kernel(nk.exe) with dumpbin as shown below :

> cd C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
> vcvars32.bat
> dumpbin.exe /DISASM /OUT:nk-WCE5-disasm.txt nk.exe

Second step is to find a nk.exe from a WM6.1 device and this is not the
easiest part.
I had to browse some websites specialized in "ROM cooking" like
XDA-developpers to find it and 
I thought I had find one but you will see that I am not that confident
anymore and it may be a 6.0.
So I decompiled it to get a nk-WM6.1-disasm.txt file but on the contrary of
WCE5.0 where I had sources
and where dumpbin automatically dissamsemble it with functions names I had
to do it manually.
In addition to this, since I am working with the HTC manufacturer they sent
me the .map file of a WM6.1 device.
Thanks to this map file I have noticed there was a function called
FindRelocInfo

 ...
 0001:00028a60       LoadE32                    00039a60 f   nk:loader.obj
 0001:00028cf4       PageInPage                 00039cf4 f   nk:loader.obj
 0001:00028db8       PageInFromROM              00039db8 f   nk:loader.obj
 0001:00028ff0       FindRelocInfo              00039ff0 f   nk:loader.obj
 0001:000290ac       PageInFromRAM              0003a0ac f   nk:loader.obj
 0001:0002935c       PageInModule               0003a35c f   nk:loader.obj
 0001:0002960c       PageInProcess              0003a60c f   nk:loader.obj
 ...
that's why now I am not sure the nk.exe I have downloaded is from a WM6.1.
Or they may be another explanation, the WM6.1 map file I have been given
from HTC is from a ROM
in Debug mode(KITL) while the one I have dissamble is in Release version.


Finally I started to compare it and can actually see some differences in
DoImports, LoadModules, ...
but since I am comparing a Windows CE 5.0 with a WM 6.0/6 it's not enough
relevant.

I am writing all these just to say that now if I could have a nk.exe from a
WM6.0 rom and another one from 
a WM6.1 it would be easy to decompile them and to locate differences. Then
since we have sources for WCE5.0
we could find what has changed.

I already tried to decompile some ROM and unfortunately , I have never
managed to decompile the XIP that holds the kernel.exe.
So if people reading this ML have some time to loose and wants to help,
they could try decompile WM6.0 and WM6.1
ROM and send it here.
I think that if playing with PE section gives no result this the way to go.

PS : you can find all these files here :
http://www.smartmobili.com/Downloads/XIP.7z

Vincent R.

















-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to