Log in

View Full Version : Getting The Unique Device ID


Jon Westfall
01-13-2006, 11:00 AM
<div class='os_post_top_link'><a href='http://blogs.msdn.com/windowsmobile/archive/2006/01/09/510997.aspx' target='_blank'>http://blogs.msdn.com/windowsmobile.../09/510997.aspx</a><br /><br /></div><i>"There is a new API available for retrieving a device id in Windows Mobile 5.0 for both Pocket PC and Smartphone. The first question: why do we need a new way of getting the device ID, what’s wrong with the old? To answer this you need to know what a device ID is. There is a very good and detailed explanation here, but in essence it’s a 16 byte code derived from hardware specific information that is unique to each device. This ID is not the same as an IMEI or a phone number found on a phone based device, both of which can be changed, but instead this code lives and dies with the device."</i><br /><br />If you're building apps and want an easy way to 'remember' which device they are on (or tie them to that device) than this is probably what you're going to build on in WM 5. An interesting write-up courtesy of the Windows Mobile Team Blog.

pocketpcadmirer
01-13-2006, 12:05 PM
Ok this 'ID' will enable the developers to hard code their app for the particular devise.
May be this step has been taken to prevent mis-use of apps which the companies make for a particular devise and they get ported to other devises by simply editing them with HEX editor or something

Sunny

PDANEWBIE
01-13-2006, 02:16 PM
I am sorry but as an end user I would get so mad if I ever bought a piece of software that was "tied" to a particular machine. I hope this isn't going to be used in many/any consumer grade applications.

cteel2004
01-13-2006, 03:12 PM
I think the main thing this is useful for is license enforcement on the part of the developer. Most end-user licenses are written to allow one installation of a particular product (in other words you can install it one device).

Using a CPU's serial number as a way of generating the serial number you receive at purchase is probably one of the best ways of doing this since that serial number is embedded into the CPU. It's practice used very frequently with desktop based applications. But it's usualy done in the form of product activation over the internet.

Another use for this would also be to use the CPU serial number as a means of security on network based applications. For example, you have a desktop based server application and a Pocket PC based client application. You would have the server application setup in such a way that it would require the pocket pc's cpu serial number before the client could connect. While not a hack proof system, it would certainly add to security.

DaleReeck
01-13-2006, 05:00 PM
There is nothing I hate more than hardware-enforced serial numbers. What about us users who go through a lot of devices? PocketPC's are almost a hobby now and though I only have one device at any one time, I may go through 3 or 4 a year because I get bored with them quickly :) While many users may have one device for a few years, more and more of us are yearly multi-device people.

It is a major pain to have to go around begging developers for new codes when we switch devices. And even if they get around to you, it can be several days. On top of that, add all the digital rights management stuff you have to get updated, and upgrading to a new PDA is now a major task nowadays.

And what if a developer (especially a one man outfit) goes out of business or just quits doing it? I still use some older titles. If they were tied to hardware, well, SOL. That's unacceptable. But, as usual, to combat piracy, the developers put all of it on the consumer and take maximum profits for themselves and the software clearing houses - who incidentally are as close to legal exortionists as there are - while the users get stuck with the bill, risk (that software will become unusable in the future) and the grief. Granted, I imagine that most software deveopers don't make a ton of money doing PDA software, but that doesn't excuse trying to wring every drop out of us consumers.

Some developers are doing web sites that allow you to manage your own registration keys. A piece of software is tied to a web user account, not a PDA and you can create your own keys under that web account. While still not my favorite thing (if the developer goes out of business, so does the web site), it at least makes it easy for the user to manage siwtching PDA's. But most developers who use hardware based reg numbers don't do this (again, pocketing the profits).

Piracy is a problem, I understand that. But there is a "cost of doing business" that is recognized universally by any business. But many developers are forgoing the cost of doing business with these cheap, restrictive methods. I now try to avoid any software that uses these hardware reg methods, but more and more are doing it now.

gibson042
01-13-2006, 05:27 PM
Everyone, I know application licenses are very frustrating, but please take a step back, calm down, and read the entry. Pocket PCs and Smartphones have always had 16 byte device IDs (with the former allowing all applications to get it and the latter allowing only trusted applications to do so). With Windows Mobile 5.0, both platforms allow all applications to get a 20 byte device-unique code derived from both the device ID and some program-supplied hashing data... which means that all applications now have access to a device pseudo-ID and your actual device ID is more secure. The change does not open up any new avenues of user annoyance; it protects privacy on Pocket PCs and enhances the functionality of untrusted code on Smartphones.

I repeat: what is new here is the method for providing a device-unique code without giving away the device ID, not the device ID itself.

Jon Westfall
01-13-2006, 06:26 PM
I don't have a problem with device-tied licensing as long as developers understand that I may frequently need new numbers as I sell old devices and buy new ones. Most are fairly flexible about this, as they go through devices quickly as well. Other than that, I do see a good use for this software - it could tie preferences to a particular device, so software running off an SD card knows which device its in and switches preferences accordingly.

gibson042
01-13-2006, 08:04 PM
I do see a good use for this software - it could tie preferences to a particular device, so software running off an SD card knows which device its in and switches preferences accordingly.
Now that is a great idea.