Post Reply

[XAP][GUIDE] Interop Unlock for WP8 + all Capabilities

OP GoodDayToDie

7th September 2013, 01:50 PM   |  #1  
OP Recognized Developer
Flag Seattle
Thanks Meter: 2,709
 
5,732 posts
Join Date:Joined: Jan 2011
More
It took us much longer than WP7 did, but the first Interop Unlock hack for WP8 is now available. It's currently limited to SAMSUNG phones, although we're trying to extend it to other phones, of course.
WARNING: Samsung is trying to break this hack! If you take the retail upgrade to GDR3 including the Samsung firmware update, it will not work!

A brief summary, for those unfamiliar with interop-lock: Windows Phone allows a number of high-privilege app capabilities, which can be used to make changes to the OS which are normally not possible for a third-party app. The limitation on whether we can use these capabilities or not is based on what "level" of developer unlock the phone has; standard "ISV" (Independent Software Vendor) dev unlock (max 10 apps or less) is what pretty much everybody gets; OEMs, however, get a special OEM Developer Unlock (300 apps or more) which gives them the ability to use much higher-privilege app capabilities than the standard ISV unlock permits. The name comes from ID_CAP_INTEROPSERVICES, the capability which was most important in WP7. In WP8, however, there are a great many interesting capabilities. Note that Interop-unlock by itself does not enable all of these. However, at least on Samsung phones, it is now possible to enable *all* the capabilities.

Guide for Samsung's ATIV phones:

The instructions are generally well-provided in @-W_O_L_F- 's app (direct link for updated XAP). You will also need the Diagnosis app, which is included (though hidden) on every Samsung WIndows phone.
The instructions are as follows:
  • Developer-unlock your phone. You will need the Windows Phone Developer Registration tool for this; it comes with the SDK.
  • Sideload the helper app using Application Deployment (included with SDK) or WPPT. It does not work to just copy the file to your phone, or similar.
  • Open the Phone dialer (the built-in one) and dial ##634# to install the Diagnosis app (if you hadn't already). You can exit it afterward.
  • Run the Interop Unlock Helper app and read the instructions, clicking Next until you get to Step 2.
  • Click the button to generate the toast notification for your phone's Diagnosis app, then tap on the toast to open the hidden registry editor.
  • Press-and-hold the Back button, and switch back to the helper app without closing the registry editor. Click Next to go to Step 3 in the helper app.
  • Copy the provided registry paths and values out of the helper app, use the Back-and-hold switcher to return to Diagnosis, paste the values into the registry editor, and write them.
    Don't worry if the app says a write failed! Just hit Read afterward to verify the change.
  • Repeat the previous steps a few times, hitting Next after each set of instructions, until the Helper app says "Finish".
Once all the registry values are written, congratulations; you are interop-unlocked!
At this point, you probably want to run the EnableAllSideloading hack below.

If you want to enable sideloading even more high-privileged apps, you'll want the following:
  1. Install the BootstrapSamsung app attached to this post. This requires having interop-unlock already, and will not work if you have Samsung's ships-with-GDR3 firmware update unless you unblock RPC.
  2. Run the app once, and ensure it displays a success message. You may then exit and (optionally) remove the app.
  3. Install the EnableAllSideloading app attached to this post. This requires the bootstrap step. However, it is not specific to Samsung (we just can't bootstrap anything else yet).
  4. Run EnableAllSideloading once, and ensure it displays a success message. You may then exit and (optionally) remove the app.

At this point, you will be able to sideload any capability, even the ones used for built-in apps and services. However, there appear to still be restrictions, even with a capability such as ID_CAP_BUILTIN_TCB. Multiple XDA members, including @Heathcliff74 and myself, are working to overcome these restrictions.

It may be necessary to repeat these steps after a phone update.


Capabilities which will be enabled, without further modification, by using interop-unlock:

Note: This list is *just* the ones from Interop-unlock; it does not unclude the ones from EnableAllSideloading.
  • ID_CAP_CALLMESSAGING_FILTER
  • ID_CAP_CAMERA
  • ID_CAP_CELL_API_COMMON
  • ID_CAP_CELL_API_LOCATION
  • ID_CAP_CELL_API_OEM_PASSTHROUGH
  • ID_CAP_CELL_API_UICC
  • ID_CAP_CELL_API_UICC_LOWLEVEL
  • ID_CAP_CELL_WNF
  • ID_CAP_CSP_FOUNDATION
  • ID_CAP_CSP_MAIL
  • ID_CAP_CSP_OEM
  • ID_CAP_CSP_W4_APPLICATION
  • ID_CAP_CSP_WIFI_HOTSPOT
  • ID_CAP_DEVICE_MANAGEMENT
  • ID_CAP_DEVICE_MANAGEMENT_ADMIN
  • ID_CAP_DEVICE_MANAGEMENT_BOOTSTRAP
  • ID_CAP_DEVICE_MANAGEMENT_SECURITY_POLICIES
  • ID_CAP_DU_MIGRATOR_STATUS_OEM
  • ID_CAP_OEM_DEPLOYMENT
  • ID_CAP_INTERNET_EXPLORER_FAVORITES
  • ID_CAP_INTERNET_EXPLORER_SEARCH_PROVIDER_KEYS_HKCU
  • ID_CAP_INTEROPSERVICES
  • ID_CAP_KIDZONE_CUSTOMIZATION
  • ID_CAP_MAP_WRITE
  • ID_CAP_MEDIALIB_PHOTO_FULL
  • ID_CAP_NETWORKING_ADMIN
  • ID_CAP_OEM_ADC
  • ID_CAP_OEMPUBLICDIRECTORY
  • ID_CAP_PEOPLE_EXTENSION
  • ID_CAP_PEOPLE_EXTENSION_IM
  • ID_CAP_PEOPLE_EXTENSION_MOBILE
  • ID_CAP_PERSONAL_INFORMATION_IMPORT
  • ID_CAP_RUNTIME_CONFIG
  • ID_CAP_SMS_INTERCEPT_AGENT
  • ID_CAP_SMS_INTERCEPT_RECIPIENT
  • ID_CAP_SYNC_EXTENSION
  • ID_CAP_VOICEMAIL
  • ID_CAP_WALLET_SECUREELEMENT
  • ID_CAP_WIFI_BASIC


One of the goals of this thread will be to explore what we can do with interop-unlock, and look for ways to achieve full permissions. I think I've found one, but it requires the ability to write registry multi-string values. Basically, if we could add a "superuser" privilege, or enable the use of ID_CAP_BUILTIN_TCB, which already has it, this would allow the creation of "root" apps.

Aside from myself, credit for this hack goes to @cpuguy for the Native Toast Launcher tool which permits accessing otherwise-unreachable code, and @-W_O_L_F- for helping put the pieces together. I'm not actually certain which one of us achieved the interop-unlock first; we were both working on it. @Heathcliff74 continues to be a help on the quest for full-unlock.

The source code for the apps below is posted at http://forum.xda-developers.com/show...4&postcount=88
Last edited by GoodDayToDie; 28th February 2014 at 10:04 PM. Reason: Updated the link for the helper app (again)
The Following 67 Users Say Thank You to GoodDayToDie For This Useful Post: [ View ]
7th September 2013, 01:50 PM   |  #2  
OP Recognized Developer
Flag Seattle
Thanks Meter: 2,709
 
5,732 posts
Join Date:Joined: Jan 2011
More
Questions and Answers
Can I install WP7 interop apps using this?
They will install, but there's no point. They almost certainly won't actually work. Interop-unlock enables access to parts of the OS which third-party developers were not intended to touch; consequently, there's no backward compatibility. Even the methods used for native code on WP7 (which is different from, but nearly essential to make use of, interop-unlock) won't work on WP8. However, it should be possible to port many of those applications to WP8.

Will this work on Lumia phones / How can I get this on my Lumia / Are you working on this for Lumia phones / What about HTC, or some other OEM?
The current hack relies on a Samsung-specific component. Adding support for other phones will require new hacks. We are looking into it, rest assured; at this time, however, there is no way to gain interop-unlock on any WP8 device other than a Samsung one.
EDIT: It looks like there should soon be a Huawei W1 custom ROM with interop-unlock included. I don't deal with custom ROMs, but you may be able to use homebrew apps on that phone too.
EDIT: Lumia phones *can* be interop-unlocked via JTAG. However, this requires some extra hardware and some phone disassembly. Not an online hack, and not for the faint of heart.

But what if we installed the Diagnosis app on a Lumia phone (using Fiddler proxy or similar) and then followed this guide?
I repeat, Samsung-specific component. Nokia doesn't put the required services/drivers for Samsung's Diagnosis app into their Lumia firmware, so the app would not work!

Can I upgrade my phone to GDR3 if I have this?
Yes. However, be aware: if you install Samsung's updates that come with the retail GDR3 update, it will break your ability to re-unlock, or to use some homebrew apps! (Developer preview updates are fine, as those are purely Microsoft code and don't mess with the Samsung components.)
EDIT: There's a way to unlock the Samsung services for full access again on GDR3. You still need to interop-unlock beforehand, though.

Can I re-lock my phone if I want to?
Yes, easily. The simplest method is to use the Windows Phone Developer Registration tool (the one that comes with the SDK) to de-register the phone (you can then re-register it if you want to get your normal dev-unlock back). This doesn't remove any changes that were made using the interop-unlock, though (for example, it won't undo the EnableAllSideloading hack, not will it set back the Full FS Access hack). Apps that require interop-unlock will still be installed, but may no longer run. To manually remove interop-unlock, you can reset all the registry values that were changed by the interop-unlock hack to their original values, and remove all the apps. There still may be a great many other changes that also need reverting, though, if you want to get back to stock settings. See next question.

Can I get my phone completely back to stock settings without knowing every little thing I changed?
Yes, a hard (factory) reset will undo all changes made by interop-unlock, or any apps (including ones that require interop-unlock), and will remove all apps. If you need to send your phone in for warranty servicing and are worried that they won't take it because you interop-unlocked it, this approach will fix that (they would probably tell you to hard-reset anyhow, if it's conceivably a software problem).

Will the interop-unlock survive a hard reset?
Not using this method! Read the question above. This unlock is purely in software, not firmware; it is reset along with everything else.

Can I upgrade my phone to WP8.1 if I have this?
Tentatively, yes! We're still working on figuring out exactly what WP8.1 means for the homebrew scene. The short version is that most apps and some (but not all) of the hacks they contain seem to still work, though. However, see next question...

Can I interop-unlock my phone on WP8.1?
At this time, I don't believe this is possible (unless you can use a custom ROM). One step of the process appears to have been "fixed" and we will need to find a different way. -W_O_L_F- has indicated that he has one, possibly coming soon...
Last edited by GoodDayToDie; 15th April 2014 at 10:07 PM.
The Following 15 Users Say Thank You to GoodDayToDie For This Useful Post: [ View ]
7th September 2013, 01:51 PM   |  #3  
OP Recognized Developer
Flag Seattle
Thanks Meter: 2,709
 
5,732 posts
Join Date:Joined: Jan 2011
More
Apps which use Interop Unlock
SamWP8 Tools Currently includes a basic registry editor and some tweaking tools, including an accent color editor.
Native Access Webserver that requires full capability unlock; still read-only at this time.
PDF to Office enables browsing and moving files.
WPH Tweaks allows easy access to a number of registry tweaks.
AppData Manager allows you to back up the data of an app so you can re-install it (possibly after a hard reset) and not lose its state.
Storage Cleanup allows you to list and delete space-wasting files on your phone.
Last edited by GoodDayToDie; 28th February 2014 at 10:09 PM.
The Following 7 Users Say Thank You to GoodDayToDie For This Useful Post: [ View ]
7th September 2013, 01:51 PM   |  #4  
OP Recognized Developer
Flag Seattle
Thanks Meter: 2,709
 
5,732 posts
Join Date:Joined: Jan 2011
More
Reserved for... whatever else is needed.
The Following 4 Users Say Thank You to GoodDayToDie For This Useful Post: [ View ]
7th September 2013, 01:55 PM   |  #5  
rod555's Avatar
Senior Member
Thanks Meter: 209
 
1,549 posts
Join Date:Joined: Feb 2007
More
Awesome!
The Following User Says Thank You to rod555 For This Useful Post: [ View ]
7th September 2013, 02:04 PM   |  #6  
-W_O_L_F-'s Avatar
Senior Member
Flag Moscow
Thanks Meter: 576
 
670 posts
Join Date:Joined: Jul 2010
More
I suggest first app to the list: my SamWP8 Tools

Upd. I'm little bit late XD
The Following 3 Users Say Thank You to -W_O_L_F- For This Useful Post: [ View ]
7th September 2013, 04:20 PM   |  #7  
Member
Thanks Meter: 14
 
66 posts
Join Date:Joined: Mar 2008
well i ve got an ascend w1 bootloader unlocked if i can help let me know
The Following 2 Users Say Thank You to dragonmasterx For This Useful Post: [ View ]
7th September 2013, 06:45 PM   |  #8  
Member
Thanks Meter: 4
 
83 posts
Join Date:Joined: Sep 2010
It's awesome to have my phone Interop Unlocked. I hope to see something to clear my "Other Storage" soon. Its full with faulty Windows Store installation files.. But I guess even with this it will be a lost cause.


Sent from my GT-I8750 using Tapatalk
The Following User Says Thank You to FricoRico For This Useful Post: [ View ]
7th September 2013, 07:33 PM   |  #9  
noelito's Avatar
Senior Member
Thanks Meter: 24
 
510 posts
Join Date:Joined: Mar 2009
although the Samsung registry editor will install it will not run on my phone and I believe I was able to interop unlock any idea why it wont run?
7th September 2013, 08:00 PM   |  #10  
Hatef.PR's Avatar
Junior Member
Flag Sangar
Thanks Meter: 5
 
28 posts
Join Date:Joined: Feb 2011
More
@GoodDayToDie your wor is awesome and you are the man
Good luck buddy

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools
Display Modes


Top Threads in Windows Phone 8 Development and Hacking by ThreadRank