[Windows Phone 8 Development and Hacking] sensboston:
"OMG, yet another registry editor!" you'll say and of course you are right - yes, it is! :D

However (I hope so!) it will be a final WP tweaker, not because of the latest rumors about MS is going to drop WP platform but 'cause of the app's architecture.

It's a first XML-template based registry tweaker for WP8.1; instead of waiting for the existing tweakers modification, you may easily add your own hack (and contribute it for community of course!).

This app should work on the interop-unlocked Lumias and Samsung handsets ONLY.

View attachment 3387321 View attachment 3387322

The WPTweaker's user interface is pretty simple and doesn't require explanation.

The XML data file format is kinda more complicated (but nothing close to the "rocket science" of course ;))

So, here an example of the Tweaks.xml file:

<?xml version="1.0" encoding="utf-8" ?>
<tweaks>

<contributors>
<contributor>sensboston</contributor>
</contributors>

<tweak category="System" name="Unlimited sideloading" type="toggle" description="Max number of unsigned apps" >
<entry path="HKLMSoftwareMicrosoftDeviceRegInstall" name="MaxUnsignedApp" type="dword" default="0000000A" comparer=">">
<value>7fffffff</value>
</entry>
</tweak>

<tweak category="System" name="Unlimited sideloading #1" type="input" description="Max number of unsigned apps">
<entry path="HKLMSoftwareMicrosoftDeviceRegInstall" name="MaxUnsignedApp" type="dword" default="0000000A"/>
</tweak>

<tweak category="System" name="Unlimited sideloading #2" type="enum" description="Max number of unsigned apps">
<entry path="HKLMSoftwareMicrosoftDeviceRegInstall" name="MaxUnsignedApp" type="dword" default="0000000A">
<value name="Student">2</value>
<value name="Developer">A</value>
<value name="Unlimited">7fffffff</value>
</entry>
</tweak>

<tweak category="User interface" name="Haptic feedback (toggle)" type="toggle" description="Enable or disable haptic feedback" reboot="true">
<entry path="HKEY_LOCAL_MACHINESystemTouchButtons" name="Vibrate" type="dword" default="0">
<value>1</value>
</entry>
</tweak>

<tweak category="User interface" name="Haptic feedback (input)" type="input" description="Enable or disable haptic feedback" reboot="true">
<entry path="HKEY_LOCAL_MACHINESystemTouchButtons" name="Vibrate" type="dword" default="0">
<value>1</value>
</entry>
</tweak>

<tweak category="User interface" name="Haptic feedback (enum)" type="enum" description="Enable or disable haptic feedback" reboot="true">
<entry path="HKEY_LOCAL_MACHINESystemTouchButtons" name="Vibrate" type="dword" default="0">
<value name="Enabled">1</value>
<value name="Disabled">0</value>
</entry>
</tweak>

<tweak category="User interface" name="Touch buttons intensity" type="input" description="Increase or decrease intensity of touch buttons" min="100" max="1000">
<entry path="HKLMSystemTouchButtons" name="Intensity" type="dword" default="36"/>
</tweak>

<tweak category="User interface" name="Touch buttons intensity #2" type="enum" description="Increase or decrease intensity of touch buttons">
<entry path="HKLMSystemTouchButtons" name="Intensity" type="dword" default="36">
<value name="Default">36</value>
<value name="Longer">72</value>
<value name="Long">120</value>
</entry>
</tweak>

<tweak category="System" name="Enable internet sharing" type="toggle" description="Enable internet sharing, disabled by cell provider" reboot="true">
<entry path="HKEY_LOCAL_MACHINESystemControlSet001ServicesICSSVCSettings" name="Enabled" type="dword" default="0">
<value>1</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESystemControlSet001ServicesICSSVCSettings" name="EntitlementRequired" type="dword" default="1">
<value>0</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettings{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" name="@" type="string">
<value>Soft AP</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettings{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" name="Location" type="string">
<value>app://5B04B775-356B-4AA0-AAF8-6491FFEA5629/Default</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettings{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" name="Plugin" type="string">
<value>{09c51652-2cbc-49d5-883e-20606f9a47ff}</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettings{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" name="QuickSettingsIconURI" type="string">
<value>res://UIXMobileAssets{ScreenResolution}!actioncenter.hotspot.tier25.png</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettings{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" name="QuickSettingsTitle" type="string">
<value>@windowssystem32Settings3Res.dll,-535</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettings{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" name="Title" type="string">
<value>@windowssystem32Settings3Res.dll,-242</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettings{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" name="Type" type="dword" default="0">
<value>1</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettings{69DAA7D1-09EA-4eae-A67E-56E4B0B4CA5B}SecureItems" name="{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" type="dword">
<value>b0</value>
</entry>
<entry path="HKEY_LOCAL_MACHINESoftwareMicrosoftSettingsQuickSettingElements" name="{1DEF9B7D-2322-40eb-A007-16A75D5CDA6F}" type="dword">
<value>7</value>
</entry>
</tweak>

<tweak category="User interface" name="Boot screen logo" type="input" description="Change boot screen logo">
<entry path="HKEY_LOCAL_MACHINESYSTEMShellBootScreens" name="WPBootScreenOverride" type="string"/>
</tweak>

</tweaks>

Let me explain for a little this XML data.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

<contributors> element is a tweak contributors list, I'll be glad to add you to this list.

Element <tweak> must have some attributes and may have some...

required attributes

- category="User interface": it's a tweak category, all tweaks will be grouped by categories, and these categories become a pivot pages headers

- name="Touch buttons intensity": short tweak description

- type="enum": tweak type. There are 3 types of tweaks currently serving: toggle, input and enum

optional attributes

- description="Increase or decrease intensity of touch buttons": detailed tweak description

- reboot="true": reboot is required for this tweak?

- min="100", max="1000": minimal and maximal value limits (for numeric input, currently not implemented)

Element <entry> represents registry entry.

required attributes

- path="HKLMSoftwareMicrosoftDeviceRegInstall" : registry key path

- name="MaxUnsignedApp": registry key name

- type="dword": registry data type, can be "dword", "qword", "string", "strings" and "binary"

- default="0000000A" : default registry value. Can be omitted but definitely good to have one...

optional attributes

- comparer=">": determines how to check tweak state. Logical operation for the value comparer (with default value). By default it's "!=" (not equal), also can be ">" or "<"

Element <value> it's a registry entry value.

This element may have an optional attribute "name", to specify how this value should appear in the combo box.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Since version 1.2.0 I've added ability to customize application's look. It can be done by adding a few element to the XML data file (Tweaks.xml). For example, adding these lines of xml code:

<theme name="Blue Waves">
<AppHeaderBackgroundBrush>#0F1F2E</AppHeaderBackgroundBrush>
<AppHeaderForegroundBrush>#C2D1E0</AppHeaderForegroundBrush>"
<AppHeaderFontSize>32</AppHeaderFontSize>"
<PageHeaderBackgroundBrush>#0F1F2E</PageHeaderBackgroundBrush>
<PageHeaderForegroundBrush>#C2D1E0</PageHeaderForegroundBrush>
<PageHeaderFontSize>32</PageHeaderFontSize>
<TweakHeaderBackgroundBrush>#24476B</TweakHeaderBackgroundBrush>
<TweakHeaderForegroundBrush>#C2EBFF</TweakHeaderForegroundBrush>
<TweakHeaderFontSize>22</TweakHeaderFontSize>
<TweakDescriptionForegroundBrush>#C2EBFF</TweakDescriptionForegroundBrush>
<TweakDescriptionFontSize>14</TweakDescriptionFontSize>
<TweakEvenBackgroundBrush>#0F1F2E</TweakEvenBackgroundBrush>
<TweakOddBackgroundBrush>#14293D</TweakOddBackgroundBrush>
</theme>

will change application's look like this:

View attachment 3389981 View attachment 3389982

You may use standard WP theme resources (see below) or custom color values in #argb format (a - transparency - can be omitted). Here is the default color theme:

<theme name="Default">
<AppHeaderBackgroundBrush>PhoneAccentColor</AppHeaderBackgroundBrush>
<AppHeaderForegroundBrush>PhoneForegroundColor</AppHeaderForegroundBrush>"
<AppHeaderFontSize>24</AppHeaderFontSize>"
<PageHeaderBackgroundBrush>PhoneBackgroundColor</PageHeaderBackgroundBrush>
<PageHeaderForegroundBrush>PhoneForegroundColor</PageHeaderForegroundBrush>
<PageHeaderFontSize>36</PageHeaderFontSize>
<TweakHeaderBackgroundBrush>PhoneChromeColor</TweakHeaderBackgroundBrush>
<TweakHeaderForegroundBrush>PhoneForegroundColor</TweakHeaderForegroundBrush>
<TweakHeaderFontSize>24</TweakHeaderFontSize>
<TweakDescriptionForegroundBrush>PhoneForegroundColor</TweakDescriptionForegroundBrush>
<TweakDescriptionFontSize>18</TweakDescriptionFontSize>
<TweakEvenBackgroundBrush>PhoneBackgroundColor</TweakEvenBackgroundBrush>
<TweakOddBackgroundBrush>PhoneBackgroundColor</TweakOddBackgroundBrush>
</theme>

To apply color theme settings, do the following:

add theme elements to your Tweaks.xml (copy it from the github or from phone first) right under the <tweaks> tag;

load changed file to WPTweaker

exit application - it's important!

start it again and enjoy!

After applying new theme, you can update Tweaks.xml file via http, custom colors will remain. To reset theme, just add empty element <theme /> to your xml and load file.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

"WPTweaker" is an open source project; download solution from the GitHub

Source code isn't elegant or well commented but at least you may use it without any license restrictions.

Application currently is under intensive development, so don't expect bugless work ;) If you have any suggestion for the new features, or about data structure or functionality - please go ahead, I'm really open minded and any reasonable feature request will be welcome.

A few words about XML structure: there are two conceptual ways for the XML, elements vs attributes. For this project I prefer attributes: in that case tweaks looks more readable and file is smaller...

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

If you want to contribute tweaks and hacks to the project, I'll be glad to list your name/nick/email in the app's "about box"! But please check your hacks first, and ask me (here, in this thread) if you have any questions.

If you like this project, you may buy me a couple bottles of beer by donating, or by installing and rating "5 stars" my apps from the store :good:

This app should work on the interop-unlocked Lumias and Samsung handsets ONLY.

Credits: I wanna say big "thanks" to [MENTION=6655208]vcfan[/MENTION] and [MENTION=2734362]-W_O_L_F-[/MENTION] for their work (I used their RPC libraries), and to all whitehats from xda-dev!

XDA:DevDB Information

WPTweaker: registry tweaker for WP8.1, Tool/Utility for the Windows Phone 8 General

Contributors

sensboston

Version Information

Status: Release

Created 2015-07-01

Last Updated 2015-07-18

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Version history

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

1.4.3:

capabilities fixed

some bugs fixed

previous versions

1.4.2:

some UI bugs fixed

1.4.1:

nothing functional but massive UI changes:

added "Settings" page

added color theme manager

improved notification sounds preview

1.4.0:

added notifications sound editor (source code adapted from wphTweaker project by Jaxbot & jessenic)

added extended capability ID_CAP_SOUND_CONTROL (for deployment please use deployer from WP 8.0 SDK or third-party application)

some minor fixes and improvements

1.3.3:

XML colorization added to the built-in editor

1.3.2:

added WebBrowser-based xml editor (good stability and performance)

fixed logic for reboot request

fixed few bugs

1.3.1:

fixed exception on return from the color editor page

1.3.0:

added URI association launch scheme (protocol name "wptweaker")

added XML editor (experimental, bad performance)

"donate" button was removed

fixed couple bugs

1.2.2:

added color editor and new tweak type

added two new tweaks: default accents and complementary colors editing

fixed few bugs

1.2.1:

fixed screen timeout tweaks

added "==" comparer

added few new tweaks

1.2.0:

added WPTweaker color theme customization

changed logic to work with default value

added "Full FS access" tweak

1.1.1:

fixed bug with input validation

added two new tweaks

1.1.0:

fixed a few bugs

real tweak list (34 tweaks total) created

improved tweak editors

improved UI

input validation added

categories and tweaks sorting implemented

added auto-check for the list update

1.0.0:

first release (early beta)

Disclaimer: you are downloading and using this app at

your own risk

; I'm

not responsible

for

any damages

caused by usage of the WPTweaker!