[TUT][USPL] Blackstone USPL, or how to keep your stock SPL and flash cooked ROMs

Search This thread

stepw

Senior Member
Feb 11, 2007
589
16
Blackstone USPL version 2.5

MOD Edit HDuser
This thread has gone wiki and can be found under
http://wiki.xda-developers.com/index.php?pagename=HTC_Blackstone_USPL
END MOD edit


MOD Edit (DaveShaw)
0. Virus Warning
Your AV software may detect this file as a virus, please read here.

1. Disclaimer

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND. I SHOULD NOT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES HOWEVER CAUSED ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE. USE AT YOUR OWN RISK!!!

2. Warning

USPL does not make any permanent changes to your device. It operates from volatile memory (RAM) and once the device is power-cycled, no traces of USPL remain there. As long as there's a valid SPL flashed and starting up, you can run USPL to help you solve many other troubles.

Therefore USPL itself is safe and can NOT damage your device. You CAN... USPL is not foolproof; inrepairable damage can be caused through incorrect use of USPL, so be cautious.

Unless you know what you are doing, NEVER:
- flash an unsigned/cooked ROM/SPL/Radio/Splash/etc... that wasn't tested by someone else;
- issue SPL commands known to be dangerous or if their purpose is unclear or unknown;
- upgrade/downgrade SPL using USPL.

Again, USE AT YOUR OWN RISK.

3. What is USPL?

USPL is Unsigned... Unbricker... Universal... Ultimate... SPL, you name it!
USPL is for running different SPL versions and installing cooked/unsigned ROMs on your device without flashing patched SPL.
USPL is for unbricking your device if OS doesn't load, you don't have HardSPL installed and there's no stock ROM you can find for your device.
USPL is for debugging and testing if you are up to your own SPL patching.

4. Current version and supported devices

USPL is highly experimental. It is alpha software, and it will remain such forever. This is version 2.x of USPL for HTC Blackstone (HTC Touch HD) only. Please don't try it with any other devices! It will not cause damage, but it won't work either.

5. Why version 2.x? Where are the previous versions?

USPL version 1.0 was originally created in April, 2007 for HTC Trinity (HTC P3600), however my laptop with all source codes was stolen in May, 2007 just as I was about to make it public.I didn't have time and will back then to start the project all over. Now that I own an HTC Blackstone, it made better sense to do it again. RIP trin_uspl! Long live blac_uspl! Version 2.0 was developed in early December 2008, but it was too buggy to release at that time.

6. How does it work (under the hood)?

USPL is exploiting multiple bugs/vulnerabilities in HTC SPL codebase (known since 2007) to inject and execute unsigned code. The same concept was reused by pof to implement HTC Trinity splxploit (http://xdaforums.com/showthread.php?t=308691).

7. Why another SPL?

Why not?
Personally, I don't like the idea of flashing patched/hacked bootloader onto my device, so HardSPL doesn't work for me.
Having just SoftSPL is not enough, as sometimes OS doesn't boot to allow SoftSPL/JumpSPL execution.

8. What's in the package?

USPL comes as a single Windows executable - blac_uspl.exe. blac_uspl.exe is a console application developed and primarily tested on Windows XP. As of version 2.2 USPL should work in Windows Vista as long as RUU does; if you are still having problems with USPL under Windows Vista, consider downgrading HTC Sync drivers as described in http://xdaforums.com/showthread.php?t=291723. Sorry Linux lovers, no version for you :( You may be able to run it from Wine, but I didn't try.

By default Blackstone USPL loads SPL 1.14 (or SPL 1.15 starting from version 2.4) patched to allow flashing of unsigned/cooked .nbh files. You can specify a different SPL (for example HardSPL or MFG SPL) to be loaded instead via command line.

9. Who should (not) use it?

If you can't tell the difference between SoftSPL (SSPL) and HardSPL (HSPL), then USPL is probably not for you.

10. How to use it?

New:
cRaCKwHoRe developed a GUI for USPL for those not familiar with command line, see http://xdaforums.com/showthread.php?t=508361. It makes USPL a better experience, check it out!

Download the latest USPL attached to the second post of this thread and extract anywhere on your computer.
Go to ActiveSync properties and disable "Allow USB Connections" option. Turn off your device (long press "Power" key or remove/replace battery), then enter SPL bootloader mode (tri-color) by pressing and holding "Power" and "VolDown" keys simultaneously.
Connect USB cable and make sure "USB" label appeared in the white portion of the screen on your device.

Execute blac_uspl.exe; current status and any error messages USPL encounters will be displayed in the console window.
If everything goes well, your device will restart and SPL version label should read "1.14.USPL" indicating that USPL was loaded successfully.
If SPL version does not include "USPL" or if the screen is black, soft reset and try again. If "USB" label disappeared and did not reappear, reinsert USB cable.

You can then start RUU update to flash RUU_signed.nbh. Once RUU update is completed, device will restart using regular flashed SPL.
If you want to flash from SD card instead, make sure your SD card is not inserted when you enter the bootloader originally.
SPL will try to install it and would fail if blacimg.nbh is not signed by HTC. Insert the card after "USB" label comes up in SPL but before running USPL.

You can run "blac_uspl.exe ?" to get command line parameter help. Only 1 parameter is accepted and that is the name of an SPL file you want to load. You can load an MFG SPL or HSPL. USPL automatically takes care of allowing unsigned/cooked ROM flashing with any SPL you use.

11. Limitations

USPL relies heavily on multiple bugs specific to certain SPL versions, so it will only work on devices running **SUPPORTED** SPL versions.
The following Blackstone SPL versions are currently supported by the latest USPL version:
SPL 1.13
SPL 1.14
SPL 1.15 (TELSTRA)
SPL 1.19
SPL 1.54

If you run it on a device with unsupported SPL, an appropriate error message will be displayed and USPL will not run.
If you have a device with unsupported SPL version and you want to add support for it, please PM me to discuss.

blac_uspl.exe may not work in Windows Vista, unless HTC Sync drivers are downgraded. The ultimate solution to this problem is to use WinUSB instead of HTC Sync, this enhancement is not planned at this time though.

12. Thanks to:

Des - for original SoftSPL
pof - for JumpSPL and HTCflasher
OliPro - for original HardSPL
cmonex and OliPro - for Blackstone HardSPL
mikechannon - for HTC service manuals and repair guides
Dark Simpson - for HTC ROM tool
ViperBJK - for QMAT
jess6217 - for Telstra RUU
AnDim - for HTC Rom Editor tool
cRaCKwHoRe - for USPL GUI wrapper

PS Just noticed this is the first thread I have ever opened at xda-devs :)
 

Attachments

  • uspl.jpg
    uspl.jpg
    18.7 KB · Views: 23,779
Last edited:

stepw

Senior Member
Feb 11, 2007
589
16
Latest versions of USPL will be attached to this post...

Version 2.1
- Initial public version

Version 2.2
- USB port enumeration implemented for Vista support

Version 2.3
- Added support for SPL 1.19 host

Version 2.4
- Added support for SPL 1.15 host
- Updated default SPL base to version 1.15

Version 2.5
- Added support for SPL 1.54 host
 

Attachments

  • uspl_2.1.zip
    145.1 KB · Views: 7,085
  • uspl_2.2.zip
    145.6 KB · Views: 6,047
  • uspl_2.3.zip
    145.6 KB · Views: 3,959
  • uspl_2.4.zip
    146.1 KB · Views: 11,540
  • uspl_2.5.zip
    146 KB · Views: 55,493
Last edited:

stepw

Senior Member
Feb 11, 2007
589
16
*** Reserved for the time when this thread/project is closed ***
 

chainbolt

Senior Member
Dec 4, 2006
442
3
Tokyo
Wow, that sounds good!! Thanx for posting this. I am still waiting to get my Blackstone and can't try it by myself atm. Anybody else has used it?
 

citrix80

Senior Member
Aug 19, 2007
710
4
is there any conflict with OliNex HSPL ? i have installed OliNex HSPL? if i use this one, will this cause any problem? or will this brick my phone?
 

stepw

Senior Member
Feb 11, 2007
589
16
You don't need USPL if you have HSPL flashed. You can still use it though, HSPL is based on stock SPL 1.14, so USPL will run as well.
 

losdrivare

Senior Member
Jul 17, 2008
545
9
Awesome, I reckon that with USPL we will have no problems with warranty. If hardware problem occurs, just flash stock ROM and send in for repair - original SPL was never removed! :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Blackstone USPL version 2.5

    MOD Edit HDuser
    This thread has gone wiki and can be found under
    http://wiki.xda-developers.com/index.php?pagename=HTC_Blackstone_USPL
    END MOD edit


    MOD Edit (DaveShaw)
    0. Virus Warning
    Your AV software may detect this file as a virus, please read here.

    1. Disclaimer

    THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND. I SHOULD NOT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES HOWEVER CAUSED ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE. USE AT YOUR OWN RISK!!!

    2. Warning

    USPL does not make any permanent changes to your device. It operates from volatile memory (RAM) and once the device is power-cycled, no traces of USPL remain there. As long as there's a valid SPL flashed and starting up, you can run USPL to help you solve many other troubles.

    Therefore USPL itself is safe and can NOT damage your device. You CAN... USPL is not foolproof; inrepairable damage can be caused through incorrect use of USPL, so be cautious.

    Unless you know what you are doing, NEVER:
    - flash an unsigned/cooked ROM/SPL/Radio/Splash/etc... that wasn't tested by someone else;
    - issue SPL commands known to be dangerous or if their purpose is unclear or unknown;
    - upgrade/downgrade SPL using USPL.

    Again, USE AT YOUR OWN RISK.

    3. What is USPL?

    USPL is Unsigned... Unbricker... Universal... Ultimate... SPL, you name it!
    USPL is for running different SPL versions and installing cooked/unsigned ROMs on your device without flashing patched SPL.
    USPL is for unbricking your device if OS doesn't load, you don't have HardSPL installed and there's no stock ROM you can find for your device.
    USPL is for debugging and testing if you are up to your own SPL patching.

    4. Current version and supported devices

    USPL is highly experimental. It is alpha software, and it will remain such forever. This is version 2.x of USPL for HTC Blackstone (HTC Touch HD) only. Please don't try it with any other devices! It will not cause damage, but it won't work either.

    5. Why version 2.x? Where are the previous versions?

    USPL version 1.0 was originally created in April, 2007 for HTC Trinity (HTC P3600), however my laptop with all source codes was stolen in May, 2007 just as I was about to make it public.I didn't have time and will back then to start the project all over. Now that I own an HTC Blackstone, it made better sense to do it again. RIP trin_uspl! Long live blac_uspl! Version 2.0 was developed in early December 2008, but it was too buggy to release at that time.

    6. How does it work (under the hood)?

    USPL is exploiting multiple bugs/vulnerabilities in HTC SPL codebase (known since 2007) to inject and execute unsigned code. The same concept was reused by pof to implement HTC Trinity splxploit (http://xdaforums.com/showthread.php?t=308691).

    7. Why another SPL?

    Why not?
    Personally, I don't like the idea of flashing patched/hacked bootloader onto my device, so HardSPL doesn't work for me.
    Having just SoftSPL is not enough, as sometimes OS doesn't boot to allow SoftSPL/JumpSPL execution.

    8. What's in the package?

    USPL comes as a single Windows executable - blac_uspl.exe. blac_uspl.exe is a console application developed and primarily tested on Windows XP. As of version 2.2 USPL should work in Windows Vista as long as RUU does; if you are still having problems with USPL under Windows Vista, consider downgrading HTC Sync drivers as described in http://xdaforums.com/showthread.php?t=291723. Sorry Linux lovers, no version for you :( You may be able to run it from Wine, but I didn't try.

    By default Blackstone USPL loads SPL 1.14 (or SPL 1.15 starting from version 2.4) patched to allow flashing of unsigned/cooked .nbh files. You can specify a different SPL (for example HardSPL or MFG SPL) to be loaded instead via command line.

    9. Who should (not) use it?

    If you can't tell the difference between SoftSPL (SSPL) and HardSPL (HSPL), then USPL is probably not for you.

    10. How to use it?

    New:
    cRaCKwHoRe developed a GUI for USPL for those not familiar with command line, see http://xdaforums.com/showthread.php?t=508361. It makes USPL a better experience, check it out!

    Download the latest USPL attached to the second post of this thread and extract anywhere on your computer.
    Go to ActiveSync properties and disable "Allow USB Connections" option. Turn off your device (long press "Power" key or remove/replace battery), then enter SPL bootloader mode (tri-color) by pressing and holding "Power" and "VolDown" keys simultaneously.
    Connect USB cable and make sure "USB" label appeared in the white portion of the screen on your device.

    Execute blac_uspl.exe; current status and any error messages USPL encounters will be displayed in the console window.
    If everything goes well, your device will restart and SPL version label should read "1.14.USPL" indicating that USPL was loaded successfully.
    If SPL version does not include "USPL" or if the screen is black, soft reset and try again. If "USB" label disappeared and did not reappear, reinsert USB cable.

    You can then start RUU update to flash RUU_signed.nbh. Once RUU update is completed, device will restart using regular flashed SPL.
    If you want to flash from SD card instead, make sure your SD card is not inserted when you enter the bootloader originally.
    SPL will try to install it and would fail if blacimg.nbh is not signed by HTC. Insert the card after "USB" label comes up in SPL but before running USPL.

    You can run "blac_uspl.exe ?" to get command line parameter help. Only 1 parameter is accepted and that is the name of an SPL file you want to load. You can load an MFG SPL or HSPL. USPL automatically takes care of allowing unsigned/cooked ROM flashing with any SPL you use.

    11. Limitations

    USPL relies heavily on multiple bugs specific to certain SPL versions, so it will only work on devices running **SUPPORTED** SPL versions.
    The following Blackstone SPL versions are currently supported by the latest USPL version:
    SPL 1.13
    SPL 1.14
    SPL 1.15 (TELSTRA)
    SPL 1.19
    SPL 1.54

    If you run it on a device with unsupported SPL, an appropriate error message will be displayed and USPL will not run.
    If you have a device with unsupported SPL version and you want to add support for it, please PM me to discuss.

    blac_uspl.exe may not work in Windows Vista, unless HTC Sync drivers are downgraded. The ultimate solution to this problem is to use WinUSB instead of HTC Sync, this enhancement is not planned at this time though.

    12. Thanks to:

    Des - for original SoftSPL
    pof - for JumpSPL and HTCflasher
    OliPro - for original HardSPL
    cmonex and OliPro - for Blackstone HardSPL
    mikechannon - for HTC service manuals and repair guides
    Dark Simpson - for HTC ROM tool
    ViperBJK - for QMAT
    jess6217 - for Telstra RUU
    AnDim - for HTC Rom Editor tool
    cRaCKwHoRe - for USPL GUI wrapper

    PS Just noticed this is the first thread I have ever opened at xda-devs :)