How do you retrieve current firmware version? - Windows Mobile Development and Hacking General

Hi,
Does anyone know how to (programmatically of cause) retrieve the current firmware version of a HTC-device or know if it's even possible?

on the top of my head i would say that i would get the regkey like one does in normal windows when you want to check for such envioment things

Rudegar said:
on the top of my head i would say that i would get the regkey like one does in normal windows when you want to check for such envioment things
Click to expand...
Click to collapse
I can't find any version information what so ever in the device's registry..

HKEY_LOCAL_MACHINE\SOFTWARE\OEM\3rdversion\MSYSTEM
have the rom version in my case 1.72.601

Ok, found it on the PocketPC devices, but it doesn't exist on the smartphones.

the rom version nr's i think you are looking for are not a true part of windows CE it's a 3th party thing and as a rule programmers are not suppose to program using such things unless one program sorftware which require a spc operator software to work
when you want to look for such a nr and you know it then just do a search in the reg for that nr and then you got the key
that would work for smartphones too though you would have to know the value you are searching for

Related

xda CE 2005 Project

We seem all to be waiting for a version to leak of the CE 5.0 for our devices, and at the same time we seem to think that this will not happen due to the fact our providers are going to want to ship it on new devices and not upgrade the old ones.
Well Mwang put me in the mood to do some searching and this is what I found.
Because Windows CE is in components, you can create a custom version of the OS that includes exactly the elements your particular device requires—no more and no less. Using the Windows CE development tool called Platform Builder, you can create a customized version of the OS, called an "image," that you then download onto your device hardware for debugging. If your hardware is not available yet, you can run your image and debug your applications on the included x86 emulator. That allows the end-user application developer and the low-level system software developer to work in parallel on the same project.
Click to expand...
Click to collapse
http://msdn.microsoft.com/embedded/getstart/bring2market/plan/learn/windowsce/default.aspx
Well it seems that you can download a 120 days trial version which would mean you would have to flash your device in 120 days.
Windows CE Evaluation Version
Windows CE integrates reliable real-time capabilities with advanced Windows technologies to rapidly build a wide range of innovative, small-footprint devices. The evaluation version is a 120-day trial version of Windows CE, valid from the day of installation. The CD and DVD versions include a copy of Microsoft eMbedded Visual C++ 4.0 Service Pack 4. The Evaluation Edition (download) requires you to download eMbedded Visual C++ separately.
Click to expand...
Click to collapse
http://msdn.microsoft.com/embedded/getstart/evaluate/default.aspx
Think this is the homepage
http://msdn.microsoft.com/embedded/windowsce/default.aspx
So what is stopping us ?? Or Cant I read?
Any body in the mood for this??
Downloading now What could go wrong ?
http://www.microsoft.com/downloads/...50-D311-4F67-9FB3-23E8B8944F3E&displaylang=en
Does this work for you gues ?
I tried this a while back.
Its not as easy as it sounds, firstly you have to correctly setup all the drivers for the hardware.
I wouldnt garantee that it has stuff like the phone apps ready to be compiled in either.
lastly, you have to make it into the correct format for the installer prog, I dont know if the package will output a himaupload.exe compatible rom.
Let me know how you guys do though, it would be nice to compile our own OS!
It's installing on my computer :shock: i want it on my PPC
Well I found a 30 min tutorial on the platform builder and it looks like a lot of the stuff is around (Wifi), What we will miss is the camrea app, but hell its a start.
Ps cant find that link anymore, and the posted link works great.
MDAIIIUser said:
Well it seems that you can download a 120 days trial version which would mean you would have to flash your device in 120 days.
Click to expand...
Click to collapse
Im sure it's a 120 days from the day you install it on your Desktop PC :?
definatly not as easy as you think!
i had the older version and i made some images for X86 machines (to make them thin clients)
you need every driver for the device that it will be installed on so theres alot more required than just the platform builder,
check it out anyway, its still fun to use and you can make custom CE's for old PII machines (routers, thin clients etc)
Well Bosjo, would that not give you 119 days to post a BA Rom?
@MDAIIIUser
Well i dont know, but Im guessing that the ROM itself will expire 120 after Desktop installation
@bosjo
Well you better hurry up and do good documentation so that I can rebuild your posted rom in 118 days.
@MDAIIIUser
Ha ha ha, well don't get your hopes up, Im just a plumber that bought a BA to save some time and get projects more organized........... Well that what just to be a laughf, this device has eaten every spare second I have had since the day i bought it, and it's still crappy...............
What? You mean you can use it as a phone, thought it was only good for the pocket solitair, how did you do it? and can I read it on wiki?
You see I am True born again MDAIIIUser and
"I haveth faith in thou"
I've pu the windows CE 5.0 installer in the upload folder
Good job you got this , see your pm
Hmmm... well, if someone can create a ROM that won't expire or brick my device, I'm willing to help with testing...
Let me know if you need me...
hehe. Its impossible to create WM2005 from the stuff offered with the trial WinCE 5.0 Platform builder.
Hint: WM5 has version 5.1. PB offers 5.0
im wondering.. where would you get ALL the drivers from? im sure HTC will not be willing to help us here..
@Manich
I truly respect your post and I am very much aware of not having your knowlege, insight, understanding, hacking competence.
That is why I am amember of this forum, to learn from people like yourself in order to try and get the best for my device. To share what I have learnt with others (I use wiki for that).
So please, please share with us a better idea of how we can get 2005 on a BA. It would save me a lot of time searching on the net, uploading sdk that are of no use as well as moving files on the ftp.
A "it cant be done answer" I could accept if it came from somebody else without your knowlege and I remember reading that somebody wrote something along the lines if it can run it can be cracked (smile).
With alll due respect
MDAIIIUser
Generally it cannot be done as you don't have a board support package for BA or other compatible platform. With lots of hacking and reverse engeneering you can write all drivers and all applications absent from Platform Builder (like cprog, SMS client, SIM toolkit, etc), but it would be only a waste of time. It would take as much time and would be as useless as making a Linux for BA. Better buy a device that originally ships with OS you want.
The only hope for getting WM5 on BA is that some person from MS would offer it or someone would get a device with such a ROM. Even a locked device with a signed ROM would help.

Running PPC specific code on Smartphone device

Most of us are already aware that PPC and smartphone edition are similar enough to be mostly compatible in their apps across the platforms.
That is, with enough coaxing and the help of input simulators like SPHelper, I've managed to run almost any Pocket PC app on a smartphone device.
Well, until now.
I've officialy run into my first brick wall of sorts, and I'm hoping someone here can shed some light onto the situation.
Since the MS implementation of A2DP has quality issues, I'm trying to run MSI Blueplayer app ( found at http://cweb.msi.com.tw/program/support/download/dld/spt_dld_detail.php?UID=619&kind=8) on a smartphone.
Analyzing the cab, I extracted 4 .dll's that go in the \windows dir (msibtstk.dll, msibtapi.dll, CHS.dll and TW.dll), and two .exe program files that go in program files\msi\blueplayer (STLoader.exe, and MPOBCE.exe).
Now, normally its as simple as running the .exe, at least it always has been in the past.
However, every time I hit MPOBCE.exe, all I get is:
"Alert
Can't find MPOBCE or one of its components. Make sure the path and filename are correct and that all the required libraries are available."
Just to control this experiment, I copied the exact same files over to a PPC device and ran it to find that it DOES work.
Now, I've never encountered PPC specific code before- in fact, I didn't even know such a thing was possible. Has anyone see/heard of this sort of thing before?
Can someone help me take this apart and find out what makes it work on a PPC only? Perhaps a PPC-specific path (if there is such a thing)?
At this point, as much as I'd like to get this working, I'm just as much intellectually curious as to what would cause a program to only operate on a PPC installation.
Hello Dishe.
Your problem is simple: Certain DLLs that come built in Pocket PC version of windows mobile do not exist in the Smartphone version. An example is MFC DLLs.
What you need to do is get hold of 'dependency walker' which is a neat little app that MS incorporated in to VS 6 (though I understand it was written by an independent developer and should be available separately).
It will show you exactly which DLL files each exe is linked to. You then have to get a good copy (from a ROM dump) of the needed DLL and put it in windows directory.
Hope this helps.
That's a great idea. Thanks! I never heard of the dependency walker before, but it sounds like a perfect tool for this. I'll have to check it out on my office computer (I don't have VS 6 at home).
I wont be back in my office until wed., so if anyone had a bit of spare time, I'll attach the files here for someone to examine.
If anyone wants to look into it and tell me what dll's are required, I can get ahold of them from a healthy Pocket PC image.
Thanks!
This zip file has the two .exe's contained in the installation. I think only mpobce.exe is complaining about missing components, though.
Oops, apparently I should have checked first...
Dependency Walker is a free app. I downloaded it and tried it out.
It lists a bunch of .dll's, most of which I had on smartphone.
However, the two missing ones are:
mfcce300.dll
olece300.dll
Now, I'm not exactly sure what these do, so I need to look into it some more. Does anyone have any clue what these are for? If I copy them from a Pocket PC, will they operate on a smartphone?
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
levenum said:
Hi Dishe.
I guess I should have been more clear: Dependency Walker was written as freeware by an independent developer, but M$ liked it so much they decided to grab it for VS.
Any way, mfcce300.dll is MFC version for PPC (if you are not familiar with MFC, it's a collection of "ready code" that simplifies writing apps in c++)
It comes built in for PPCs but not for smartphones for some reason. If you have a good dump check that DLL with dep. walker as well, I am pretty sure it is linked to a few others.
olece300.dll - is a COM support dll. I won't even go there because I really hate COM (that's Component Object Model, not com port) and I am really not sure my self what the DLL does.
If you do get a good version of those two you should be able to get the app running.
Click to expand...
Click to collapse
Thanks for the help, I'm realizing there's a lot more to this I should have known before embarking on such a task. I've never had such a problem doing this before, I guess MFC isn't so popular!
Anyway, I need a good ROM dump, I haven't been able to aquire one. In the mean time I tried some files I found searching google... didn't expect it to work, but tried it anyway. Still complained of missing files- you're right, I'll bet MFC is calling more dll's as well that I need.
Perhaps there's hope...
You were right... I just needed more .dlls!
I found a whole series of .dlls required by mfcce300.dll that my smartphone was missing, so I put them all in the program directory and it opened!
Problem is, its not so stable... the files were pulled from a ce.net-4.1 set of files since I don't have access to a wm5 rom image.
One more thong I should have thought about earlier:
Some COM dlls, maybe even olece300.dll have a function called DllRegisterServer that writes them to registry as COM provider (under HKCR\CLSID).
Check to see if I am right using Dep. Walker and if so try to get regsvr32.exe or something similar for the PPC. (On a PC you use regsvr32 somedll.dll to register a COM server)
This may help with stability issue.

Find dll functions from rom dll

Not sure if I have worded this properly as I'm at the edge of my knowledge but I wish to call a function that I am assuming is in a DLL which is contained in ROM. I know the name of the DLL but how can I get a list of functions available from it when I cannot copy it onto my PC?
Many Thanks
Hi Tailor.
First, what function exactly are you looking for? There may be some documentation on it somewhere.
To browse a ROM dll you need to get a ROM dump. The simplest way for your purpose, provided you have a WM5 device is to search for TESTWM5.exe by mamiac on this forum. It will dump all files to your SD. They won't be workable for coding purposes, but still good enough to use dependency walker to get exported functions from DLLs.
Unfortunately that still won't tell you the parameters the function expects. only its name.
Hi Levenum and thanks for your reply.
Its a Sony Sat Nav Windows CE 4.2 device so unforunately theres not much chance of a ROM dump or documentation. Then unit is sold as a finished product and not intended for further developement.
I have installed TomTom instead of the poor app already installed and was trying to get access to the hardware buttons and Light sensor on the unit and then intended to use the TomTom SDK to recreate their functions.
The keys don't not trigger a key press event but their are DLL's called something like powerbutton.dll and navbutton.dll and so it's a fair guess that they could be used to trigger these events.
Obviously without knowing their exported functions I'm not going to get much further.
Any further thoughts ?
Many Thanks
How exactly are you trying to catch the key events?
For what you describe, you don't just need to know function names, you need to know with what parameters to call them so this is definitely not the way to go.
If you are coding with C++ search for info on SetWindowsHook. I am not sure of its implementation on CE, but this might be what you need.
I'm using VB.Net 2005
I'll have a look at SetWindowsHook, Thanks.
Any ideas for the light sensor, there's a test app that Sony have left on the device, it gives a reading from 0 to 100?
How are they likely to be reading this value?

TyTN cellid?

Hi. I am writing a freeware social networking application based on location services ( http://www.fightersoft.ro/mts/index.htm ). Although many devices are supported, it seems that the HTC TyTN isn't. To that end I acquired one and now I am on the quest on getting the cellid in my application.
The approach that should of worked was the COM port. However, no matter what COM port I open, I get a create file error. I am guessing that maybe the internal modem uses a weird port name such as COM550 or other letters instead of COM. I know that another way of getting the cellid is by using ril.dll (or even getting the handle to the gsm modem com port). However, in WM5 this is not documented at all on msdn.com - BUT for WM6 there is documentation.
Firstly, I want to ask anyone if they have extra information about this issue and secondly if by upgrading to WM6, the using the COM port approach works from the box (usually COM9)?
hi, I tryed many programs, which have actually support for cellid information, but no one work on herm, no matter if it was WM5 or WM6. on all phones, I had before it worked correctly... phone alarm also have this functionality, but shown only something like 00-00...
This is so frustrating. Every mobile device with GSM capabilities has a GSM modem insinde. That modem SHOULD be accesible from the OS by the means of COM ports. My guess is that this port is hidden or under a different name than the rest of the HTC devices where it resides on COM9.
CommMgrPro shows Cell Id and Location Area Code correctly on TyNT
I started this thread in the hopes that people will contribute with ideas towards getting this task done. Can you reveal any technical information on how you get the cellid information?
stargatesg1 said:
I started this thread in the hopes that people will contribute with ideas towards getting this task done. Can you reveal any technical information on how you get the cellid information?
Click to expand...
Click to collapse
Sure. Ril.dll gives you access to this information and works properly in WM5-WM6. And technically is easier than manager serial drivers......
Documentation isnt included in WM5 so it isnt "official" but realky It is included. The only problem for "not official" issue is you wont get support from microsoft....
Ask me what you want...
stargatesg1, if you have searched the forum, you'd already have the answer. For instance, this thread:
http://forum.xda-developers.com/showthread.php?t=280476&highlight=cellid
has a reference to RIL API. And I do remember I told you this some months ago in your another thread...
Here it is:
http://forum.xda-developers.com/showpost.php?p=1040464&postcount=27
It was at October 26 last year!
Basically I only need the cellid and the lac. I found that msdn.com offers documentation for ril.dll for WM6. This also works for WM5?
From what I learned from msdn.com is that I should do a ril.initialize first and then I should get the cell info using a fuction that I can't remember right now. Is this approach correct?
Lurker0, I know about this approach (I have mentioned it in my first post) however, I need more information because c++ native is not my primary envoirement for developing. That's why I kept searching for a way of getting the lac-cid from com ports so that I could do it directly from managed code.
stargatesg1 said:
Basically I only need the cellid and the lac. I found that msdn.com offers documentation for ril.dll for WM6. This also works for WM5?
From what I learned from msdn.com is that I should do a ril.initialize first and then I should get the cell info using a fuction that I can't remember right now. Is this approach correct?
Click to expand...
Click to collapse
Exactly. I downloaded Platform builder to have includes and libraries.
1) Initialize Ril
2.a) Request Position explicitally using a RIL_gettowerinfo
2.b) When you initializa Ril you can pass a callback to be notified upon location changes....
Did you read the source code for RIL interface that I pointed you to?
danielherrero, I see. Regarding the callback function is not neccessary in my app - the user or the app set on auto mode searches for changes in location. Thank you very much for your info.
Lurker0, yes I did, but like I said, I am not a very experienced c++ programmer and I need some documentation to get me started. I am also very greatful for your help and I am sure that I will use information from rilclass.cpp.
Thank you both, I will post back with the results as soon as I will have any.
Good luck
Hi StargateSG,
Did you succeeded in getting MTS working on Tytn?
Rgds
I had to leave the country on a business trip. I'll get back in a few days and I will start working on the problem.
danielherrero said:
CommMgrPro shows Cell Id and Location Area Code correctly on TyNT
Click to expand...
Click to collapse
Does nothing on the Blue Angel.

[Q] Usefull for unlocking ? NokiaRegistryUtils.dll

HI all
i was analysing some XAP files from my Nokia 937 rom (1028.3562.1402.0001 ).
i found f8cfb72ef3b442e58508fbee6d4e5567.xap (??? nokia maps ???) with some interesting files in it.
NokiaRegistryUtils.dll
i played with the NativeToastLauncher but can not find the app://xxx path to start this dll
the WMAppManifest.xml also contains :
<Capability Name="ID_CAP_INTEROPSERVICES" />
i uploaded this complete pack to : http://www5.zippyshare.com/v/9853721/file.html
can someone please analyse these files ??? can we use these file(s) for unlocking ?
Thanks in advance
M
p.s. I only want to help you all with (interop)unlocking the nokia lumias !
1) Question threads don't belong in this sub-forum, really...
2) NativeToastLauncher launches pages (usually XAML) in an app, not DLLs (although the XAML will usually be *in* a DLL, in which case the DLL's name is in the launch path).
3) We've known about those libraries for months.
4) We can't use them for unlocks unless we find a way to specify an arbitrary registry key and registry value; something like a mapping app is highly unlikely to have any such mechanism... (it just saves and reads data for its own use).
GoodDayToDie said:
1) Question threads don't belong in this sub-forum, really...
2) NativeToastLauncher launches pages (usually XAML) in an app, not DLLs (although the XAML will usually be *in* a DLL, in which case the DLL's name is in the launch path).
3) We've known about those libraries for months.
4) We can't use them for unlocks unless we find a way to specify an arbitrary registry key and registry value; something like a mapping app is highly unlikely to have any such mechanism... (it just saves and reads data for its own use).
Click to expand...
Click to collapse
OK OK ! thanks for the info
as i said ...i just want to help you all to find the "hole" to unlock these Nokia lumias !
megasounds said:
OK OK ! thanks for the info
as i said ...i just want to help you all to find the "hole" to unlock these Nokia lumias !
Click to expand...
Click to collapse
be sure there's no way in Nokia Xaps .
I searched in them many times , NO Way
ngame said:
be sure there's no way in Nokia Xaps .
I searched in them many times , NO Way
Click to expand...
Click to collapse
I'm 100% sure Nokia developers are monitoring xda forums since Nokia decided to manufacture Windows Phones. And 99.9% sure they already knows about all successful hacks for WP (actually most of these hacks based on the manufacturers bugs).
sensboston said:
I'm 100% sure Nokia developers are monitoring xda forums since Nokia decided to manufacture Windows Phones. And 99.9% sure they already knows about all successful hacks for WP (actually most of these hacks based on the manufacturers bugs).
Click to expand...
Click to collapse
Yes exactly .
Nokia hack is very hard and also want a long way to be success (If we can )
sensboston said:
I'm 100% sure Nokia developers are monitoring xda forums since Nokia decided to manufacture Windows Phones. And 99.9% sure they already knows about all successful hacks for WP (actually most of these hacks based on the manufacturers bugs).
Click to expand...
Click to collapse
It doesn't matter if you can downgrade FW.
1) Downgrade
2) Unlock
3) Update
But. Nobody unlocked even old FW.

Categories

Resources