[Windows Phone 7 Development and Hacking] Heathcliff74:
Download here: www.wp7roottools.com

NEW: WP7 Root Tools 1.2 is released! It includes an Accent Color editor and Internet Sharing unlock now.

WP7 Root Tools

With this tool you get root-access to your WP7 device. The current version contains the Policy Unlock Installer, a registry-editor, a file-explorer with many file-operations, certificate-stores, a policy-editor, a tweaks-section and an Accent color editor. This is your all-in-one system-tool for Windows Phone 7.

If you like this app, you can donate to buy me a beer (or two).

With WP7 Root Tools I attempt to open up the system in a gentle way, so that users stay in control of their device, while homebrew apps can get more control to get the maximum power out of your Windows Phone device!

Supported Devices

Samsung first and second generation devices with Interop Unlock

LG devices

HTC first generation devices with Mango v1 drivers (SPL 4.x or lower)

Samsung first generation devices with custom ROM and Full Unlock

HTC first and second generation devices with custom ROM and Full Unlock

NOKIA devices with custom ROM and Full Unlock

Your phone needs to have at least INTEROP-UNLOCK. If you get error 0x81030120 when you deploy WP7 Root Tools to your device, then please read this guide! WP7 Root Tools will also work on devices with Full Unlock. If you want to know more about the different types of unlocks or if you want to know why WP7 Root Tools may or may not run on your WP7 device, you should read this guide.

License Agreement

WP7 Root Tools and WP7 Root Tools SDK are Copyright by Heathcliff74 / www.wp7roottools.com in 2012 - 2013

This license governs use of the "WP7 Root Tools" software. If you use the software, you accept this license. If you do not accept the license, do not use the software.

You are free to redistribute the software, as long as the copyright, conditions and disclaimer of this license are present whenever you distribute any portion of the software.

The software is licensed "as-is". You bear the risk of using it. The developer gives no express warranties, guarantees or conditions. To the extent permitted under your local laws, the developer excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.

Redistributions of the copyrighted software may not be sold, nor may they be used in a commercial product or activity without first obtaining explicit permission of the developer.

Don't be stupid, make a backup!!

This tool is still in alpha stage. That means not yet properly tested. This tool also provides you with high privileges with which you can alter low level settings and data on this device. All this may result in unexpected and undesired behavior, which may ultimately damage your device. Use this tool with care and use it at your own risk. The developer of this tool cannot be hold responsible for any kind of damages, caused directly or indirectly by using this tool.

You can find backup-programs here on XDA. For example WP7 Easy Backup Tool by MarcHoover or WP7 Backup App by hx4700 Killer.

Installation

On devices with custom ROM and Full Unlock, the installation of WP7 Root Tools will be pretty straight-forward. You install the XAP and it works. On devices with stock ROM's WP7 Root Tools need to install Root Access. The first time it runs, a 2-phase-installation will start. The app will inform you to start the first install-phase. Then the device will reboot after a few seconds. After the reboot you need to start WP7 Root Tools again immediately! Then the second phase of the installation will start and your device will be rebooted again. After the second reboot you are ready to use WP7 Root Tools.

Update to a new version

If you have an earlier version of WP7 Root Tools installed and you have WP7 Root Tools Policy Unlock, I strongly advise to UPDATE the app, instead of doing a full install-cycle. Many XAP installers will do a full install-cycle. That can lead to problems, because during the installation WP7 Root Tools will temporary loose its Root Access. In that case WP7 Root Tools needs to do the 2-phase-installation again. This is usually not a problem, but future OEM- or OS-updates could make it possible that the reinstall will not be possible. So, to be on the safe side, first make a backup of the device (use a backup tool from the XDA forums) and then use a XAP installer that has the possibility to update an app. One such utility is XAPDeployX 0.9.

Registry Editor

The registry editor in WP7 Root Tools allows full Root Access to the registry. Be very careful with your tweaks, because this may profoundly influence the behavior of your device.

To delete a registrykey or -value you can tap-and-hold the item and choose delete in the context-menu.

The new version also has Advanced Search functionality.

File Explorer

The file-explorer supports all file- and folder-operations, like copying, moving, renaming and deleting files and folders. To select multiple files at once, you can tap an item on the left, which will pop up selection-boxes.

When you select files and folders with the selection-boxes, the file-operations can be chosen from the Applicationbar. It is also possible to tap-and-hold an item and choose the file-operation from the context-menu.

You can tap on an item to launch or open it. It might be necessary to give the app that needs to open the file root-privileges first. The new version of WP7 Root Tools allows you to give Root Access to System Apps like Office Mobile. So if you've given Root Access to Word, you can tap txt-files in any location to open them with Word. The new version will also allow you to give Root Access to Homebrew Native executables. The file-explorer shows whether an executable is "Installed" or "Not installed". If you tap (or tap-and-hold) on an executable that is not yet installed, you can choose to unlock the executable, give Root Access and launch it.

The new version also has Advanced Search functionality.

Certificate Installer

You might wonder why I created a certificate installer, because it is already possible to add certificates. When you email a certificate to yourself and tap that attachment, WP7 will install it. But if you install like this, the certificate will always be installed in the "Root" certificate store. With my certificate installer you can also install in "CA", "My" and "Code Integrity" stores. This may be very useful for hacking attempts. You can install a certificate by browsing to the ".cer" file and tap it. The possibilities for getting a certificate file on your phone will follow below. If you start installing certificates on your phone you should consider making backups in advance. I once experienced Zune going totally bezerk after installing certs. Zune took 100% and lost connection with the phone all the time. Everything was back to normal when I deleted the certs. In this version there is no view on the certificate stores available yet. In a future version you will be able to view the contents of all the certificate store and also uninstall certificates from there.

Certificate Store

You can browse the 4 certificate stores. Tap-and-hold will show a context-menu. You can delete certificates or save them as a .cer file. Be aware that if you delete a certificate you can do severe damage to the system. So, be careful with that!

Policy Editor

The Policy Editor will show a list of all the installed apps. You can use the Policy Editor to give other homebrew app a "trusted" status. With this you will give the app Root Access privileges. So be very careful to which app you give Root Access!! You are responsible for giving access to an app! If you are not sure, read the forums to decide if an app is trust-worthy. The new version will also show System Apps. This is done because for devices that make use of Policy Unlock, it is useful to give Root Access to System apps sometimes. For example to open txt-files outside the My Documents folder.

It is also possible to launch apps from this list, by tapping on the app. But some apps will fail to start from here, because their default task is not configured correctly. This is not an issue in WP7 Root Tools, but those apps were simply not designed to be launched like this. They are listed anyway, because it could be useful to give Root Access to these apps.

Policy Unlock v2 also allows xap-packages with special configs to automatically give unlock Native Homebrew executables when the app is given Root Access. Read more in the "For developers" and "Desktop Sync" sections.

I've been working on unlocking Native Executables for a really long time now. Ever since I started this thread on XDA. I know it has been possible to run native executable using Full Unlock. But Full Unlock is only possible on WP7 devices with unlocked bootloaders. With the introduction of WP7 Root Tools Policy Unlock v2 also devices which have only Interop Unlock can now run these programs! But that was not the only goal. This unlock has become a prestige-project for me. Because I wanted to fully understand and control the WP7 Policy Engine. I now finally succeeded in doing this :)

So, is Policy Unlock v2 the same as Full Unlock?? No. But almost! Unfortunately, Policy Unlock still doesn't allow you to run Homebrew drivers, like the DFT Bluetooth stack. Later on I will try to apply the Policy Unlock hacks on the drivers too.

Tweaks

WP7 Root Tools adds a few Search-providers for Internet Explorer. You can choose it here. There are some more tweaks to customize your devices. From WP7 Root Tools 1.2 on, there are tweaks for unlocking Internet Sharing and for running Automatic Data Configuration. If your operator has blocked Internet Sharing, WP7 Root Tools can attempt to configure Internet Sharing and bypass the barrier that is installed on the phone. This probably won't work on LG devices, because their drivers don't support Internet Sharing. This unlock is only meant to unlock the operator barrier. Running Automatic Data Configuration can be useful when you switched 3G network and your phone has wrong settings for the data connection or the settings have become otherwise defective. If you have more ideas to add to this page, leave me a note.

Accent Color Editor

Add your own accent colors and select colors in real-time. Fully compatible with WP7.8.

Multi-language

The current version supports 18 languages: English, Dutch, Russian, German, Portuguese, Chinese, Hungarian, Czech, Spanish, Slovak, Polish, Italian, Greek, French. And these languages are available in separate downloads: Turkish, Arabic, Albanian and Serbian. The translations are done by volunteers and some elements by translation-engines. So the translations may not be perfect. Following versions will improve and add more translations.

For developers

I also created an SDK for developers, who can use to profit from Root Access. It provides a way to gain access to the filesystem and the registry (and more) from their managed Silverlight application. No need to worry about COM interop and C++ anymore! The package contains a read-me with short instructions. More details and examples will follow soon here on this site!

The new WP7 Root Tools has Policy Unlock v2 to unlock Homebrew Native Executables. You can do that using the WP7 Root Tools Explorer. But if a developers want to use such binaries in an app, it would be very user-unfriendly if the user needed to unlock these binaries manually. For this purpose I added functionality in the WP7 Root Tools Policy Editor. When an app is give Root Access, it will scan the app for a file called RootAccess.xml. If present, the xml is parsed and the binaries that are listed will automatically be given Root Access too. This is the format for RootAccess.xml:

<?xml version="1.0" encoding="UTF-8"?>
<RootAccess>
<Executable File="Native\NativeApp.exe" />
<Executable File="Native\NativeWinApp.exe" >
<Destination Path="\Windows\NativeWinApp.exe" />
</Executable>
<Library File="Native\NativeLib.dll" />
<Library File="Native\NativeWinLib.dll" >
<Destination Path="\Windows\NativeWinLib.dll" />
</Library>
</RootAccesss>

Take these notes into account:

The Destination paths are optional

Libraries are signed in Source and Destination

Executables are signed in Source and Destination

Executable gets policies in Source and Destination

File-path-attribute-value is relative to app path

Destination path is absolute

The first app that makes use of this feature is Ultrashot's WMDC Launcher, which can be used for Desktop Sync, as described in the next section. Ultrashot will soon make Opera Mini compatible with Policy Unlock too.

Desktop Sync

Ultrashot has released WMDC Launcher some time ago. Back then it was only possible to use that on devices with Full Unlock. With the introduction of Policy Unlock v2, it is also possible to run the app on devices that are compatible with WP7 Root Tools. Ultrashot has added RootAccess.xml to the xap-package, so the app will automatically be configured when it is given Root Access. Warning: it may take a while to apply on all unlocks, so be patient and let WP7 Root Tools do its job.

After WMDC Launcher is installed, given Root Access and lauched, you can use it to sync file-system and registry with your PC. On the PC you need to have Zune installed and running, and you need to have Windows Mobile Device Center installed and running. After that you Windows Phone will show up as Mobile Device in Windows Explorer.

For unrestricted remote Registry editing you can use Registry Workshop, or similar. In the registry editor you have to connect to the Mobile Device.

Thanks!

Special thanks to these people:

HD2Owner: for a lot of patience, learning me how to make my own test-ROM's.

Ultrashot and Cotulla: for a lot of nice hacking-chat-sessions and exchange of ideas.

CeesHeim: for providing a test-device.

AndrewSh, Ondraster and many others: for moral support.

Thanks to these people for helping with the translations: AndrewSh, HD2Owner, Paulo Santos, Reker Chen, Balcsida, Tukacs Gábor, Pavel "Paulos" Valach, Esteban Reche, David E. Salazar Paris, Brano Grenuš, Budniu, Fabio Di Peri, Chemeng, Alexandre Thouvenin, Orhan Bozkurt, Hassan Selim.

Version history

0.1 - 2011/04/04 - Initial release: only registry-editor

0.2 - 2011/04/13 - Performance improvements and minor fixes

0.3 - 2011/04/14 - Bugfix in registry-editor

0.4 - 2011/06/14 - File browser added

0.5 - 2011/06/24 - File Explorer with basic file operations and certificate installer

0.6 - 2011/09/17 - Compatible with Interop-Unlocked Samsung Mango devices

0.7 - 2011/09/17 - Bugfix in registry-editor

0.8 - 2012/01/02 - Session and Multi-Tasking awareness + Mango UI improvements (better responsiveness)

0.9 - 2012/03/28 - Complete rewrite of the app (many device supported, full root access, policy-editor, etc)

0.10 - 2012/09/02 - Many user interface enhancements, Multi-file operations added, Improved performance in file-explorer, Shell handling added in file-explorer, better error handling and reporting and lots of small bug-fixes.

0.11 - 2012/09/03 - Bug-fixes and better device support.

0.12 - 2012/11/12 - Policy Unlock v2, 16 languages, launch apps from applist, applist also includes all system-apps now, advanced file-system-search, advanced registry-search, certificate Stores, tweaks-section, many bug-fixes and performance improvements.

0.13 - 2012/12/04 - Many bug-fixes and performance-improvements.

1.0 - 2013/01/05 - Bug-fixes and User Interface-improvements.

1.1 - 2013/03/26 - Added Accent Color editor and bug-fixes

1.2 - 2013/05/07 - Added color values to Accent Color editor, improved data-connection speed tweak, added Internet Connection Sharing unlock, added Automatic Data Configuration function, added shell-handler in Explorer for provxml-files, removed wrong buttons on Device tab, disabled cache for filesystem and searches, removed ads for better Root Tools experience ;)