How to flash a custom Country Variant firmware with the Windows Phone Recovery Tools

This is a way to install a different country variant firmware (or any other official firmware for that matter) to your Windows Phone using the Windows Phone Recovery Tools than the phone says it should install.

Note: This is not an officially supported method of recovering to a different country variant so you do this at your own risk. Don't blame me or Microsoft if you brick your phone using this method :)


After doing some experiments with my Nokia Lumia 920 I needed to reflash my phone to it's pristine factory state. So I grabbed the Windows Phone Recovery Tools and restored my phone using them, which was an easy process and worked like a charm, or so I thought.

It finished it's operation and my phone seemed like new. I went through the setup process and configured everything to my liking. I quickly found out however that my phone was not correctly linking the phone numbers of incoming calls to my phone book and this turned out to be because the phone was not using the correct Country Variant release of the OS. Dangit!

Technically, my phone says it should be running variant 059Q9D7 which is the Danish variant of the Windows Phone OS but my phone should actually be running variant 059R645 which is the Icelandic version of the OS. I presume this difference is due to the fact that Nokia in Denmark was the "wholesaler" for the Nokia devices sold in Iceland, so they probably just repurposed phones flashed with the Danish variant with the Icelandic variant, but that's just a guess on my part. Anyways, the version of the OS the phones says it should be running differs from the actual version it should be running so it seemed to me that I couldn't easily get back to the right version of the OS. Bummer :(

I decided to do a little digging though, and managed to successfully flash the correct version back to my phone. These are my findings!


What you'll need:

Begin by installing both Fiddler and the Windows Phone Recovery Tools. Once that is done you need to set Fiddler up to be able to properly inspect and manipulate HTTPS traffic.

Go to Tools->Fiddler Options... in the menu and select the HTTPS tab and check the Decrypt HTTPS traffic checkbox.

Decrypt HTTPS Traffic

Once that is done, connect your phone and fire up the Windows Phone Recovery Tools. Once the tools have identified your phone you should end up on a screen similar to this.
Windows Phone Recovery Tools - Phone Selection

Then go back to Fiddler, and use the targeting icon in the top toolbar to filter requests for the Windows Phone Recovery Tools by dragging the target over the Recovery Tools window. Fiddler should then look something like this (note the red text in the toolbar naming the recovery tools as the filtered target).
Fiddler ready to capture Recovery Tools traffic

Now comes the fun part. In Fiddler, go to Rules->Automatic Breakpoints and select Before Requests. This tells Fiddler to stop before sending requests, allowing us to manipulate the HTTPS requests sent by the Recovery Tools. Go to the Recovery Tools and select your phone. The Recovery Tools should start sending some requests and once you see a request looking like this, select the variant text and change it to whatever variant you want the tools to download and flash (in my case i changed the product code 059Q9D7 to 059R645) and then click Run to Completion.

Keep clicking Run to Completion on the subsequent requests until the Recovery Tools respond with the version that it found. Then after clicking the Reinstall Software button you'll need to manipulate the same request as you did in the beginning once more to start the actual download and flashing of the variant.

And that's it. The Recovery Tools now went ahead and downloaded the correct variant, and flashed it to my phone, getting me back up to speed with the correct OS.

Here is a good site with a list of the Lumia product codes in case you have trouble finding them:

Hope this helps!