TinyUmbrella App

TinyUmbrella is a tool that we once used for downgrading iOS firmware to an earlier version, mainly for the purpose of installing a jailbreak.

tinyumbrella

TinyUmbrella WIN x86

TinyUmbrella WIN x64

TinyUmbrella Mac App

What is TinyUmbrella?

TinyUmbrella has many uses other than downloading Cydia. TinyUmbrella can be used for fixing iOS devices stuck in Recovery mode, fixing iTunes Error 3194, and more.

Download TinyUmbrella App:

The good news is, that TinyUmbrella works on Mac OS and on Windows 7 through 10. Do make sure that you are running an up to date version of Java on your computer before you start; TinyUmbrella needs it to work.

Let’s dive in:

Click on the links below to download TinyUmbrella on your Windows or Mac computer:

TinyUmbrella WIN x86

TinyUmbrella WIN x64

TinyUmbrella Mac App

It’s that simple

Later, we’ll be telling you how to use it but first

How TinyUmbrella Works:

tinyumbrella

Whenever you update your iPhone or iPad, a small piece of data is saved onto your device. This is the SHSH blob, and it contains information that relates to the firmware and your specific device. TinyUmbrella is used to save these SHSH blobs into an external file.

Because Apple only gives you a week to downgrade your device after you update it and, once that time is up, those SHSH blobs are wiped from your device. No SHSH blob, No Downgrade. By saving your blobs, you can then use TinyUmbrella to turn them into custom firmware for the relevant iOS version and, using iTunes, allows you to downgrade.

TinyUmbrella App Features:

  • It’s free
  • Brand new interface for easier navigation
  • All iOS devices detectable and details saved in an external file
  • To remove a device, locate it in the app history and right-click on it
  • TinyUmbrella will automatically detect and save SHSH blobs
  • All blobs saved into one file
  • iOS 7 through iOS 12 supported

Fix Recovery Mode:

itunes_connect_recovery_screen-connect-to-itunes-small

While it is easy to get your device into recovery mode, it isn’t always easy to get out if it. TinyUmbrella can help you without you having to restore your device and lose everything. Check out the link below for more information.

Save SHSH Blobs:

shsh-blobs

The SHSH blobs are what you use to downgrade your iPhone or iPad and saving them is simple with TinyUmbrella. Click the link to find out how:

Wait, there’s more

Downgrade iPhone and iPad:

downgrade

There are a few reasons why you might want to do this and with TinyUmbrella, you are not tied to when Apple says you can do it. Find out how to do it anytime by clicking the link:

How to Fix TinyUmbrella Not Working:

Most people have found TinyUmbrella to work smoothly, but some have found a problem with it. Users on Mac OS have found that either TinyUmbrella won’t open or, if it does, it just crashes immediately. Usually, there are error messages – one says “TinyUmbrella.app is Damaged” and another will ask you to sign in and this will require your Apple ID.

Annoying, isn’t it?

Don’t worry because these are simple to fix. The problem lies in the app security certificate; it has most likely expired, and this is down to the DRM, not anything you have done.

TinyUmbrella.app is Damaged:

TinyUmbrella.app-is-damaged

It tends to be the more recent Mac OS X versions that this happens on:

  1. Reboot your Mac and try again; this may remove the error
  2. If not, delete TinyUmbrella
  3. Reinstall it and try again – it should all work correctly now

Fix Sign In To Use the Application:

This affects the older Mac OS X versions:

  1. Close the popup message telling you to sign in
  2. Reboot your Mac
  3. Open the Mac App Store and sign in using your Apple ID – this will authenticate your computer and all your apps.
  4. Relaunch TinyUmbrella, and you should find it works just fine

Now things get a bit more complicated

Kill Mac Processes:

fix-mac-damaged-app-issue

Another way of fixing errors is to kill off the storecountd processes, and this means going into Activity Monitor. Another way requires you to use a Terminal window on your Mac. If you are confident enough to do this, open a terminal and type in the following command:

Sudo killall -v storeaccountd

Mac OS  runs two processes for this – root and user. Both are killed off with this one command.

Still, got questions?

Frequently Asked Questions:

faq-tinyumbrella-

Then we’ll provide the answers

  • What Does SHSH Mean?

SHSH stands for Secure Signature Hash. It is a unique key, just a tiny bit of data that holds info about your firmware and device.

  • Why Do We Need Them?

They are the only way to downgrade your device outside of the time period that Apple allows – usually a week after the firmware is released.

  • What Is TinyUmbrella Used For?

This useful tool is used for several purposes – saving SHSH blobs, turning them into custom IPSW files, fixing recovery mode, and much more besides. Its main purpose though is to help you downgrade your iPhone or iPad.

  • I Get a “You Are Too Late” Message – why?

Two reasons – one, you may be trying to save SHSH blobs for a firmware that is no longer being signed by Apple and, two, you may not have enabled the Request SHSH from Cydia option. Check and enable it now.

  • Why Can’t I See My SHSH  Blobs in Cydia?

Cydia creates a home page cache and refreshes it, but it doesn’t do it very regularly. If you don’t see your saved SHSH blobs in Cydia, go to TinyUmbrella and check – if it says they are in Cydia, you’ve nothing to worry about. Just wait for Cydia to refresh again

  • I Am Running iOS x.x.x on My iPhone – Can I Restore all My Other iOS Devices to That Version?

You must save SHSH blobs while they are still being signed by Apple; if you don’t then you cannot restore to that firmware. Get into the habit of using TinyUmbrella every single time you update your device to use the blobs on all devices.

  • Why Does TinyUmbrella Need Java?

TinyUmbrella is written in Java and can only work with Java; it is one of the most straightforward programming languages for applications that are more complicated, and it will run on multiple platforms. You must run the latest version of Java to avoid Java errors as the one shown below.

java.lang.error tinyumbrella app

  • SHSH, Blob, or Signature?

Any one of them. All three of these are interchangeable – a blob holds the data in the SHSH, the SHSH is the data sequence that represents a hash of all the files in your firmware file, and collectively, when Apple signs the firmware, they are known as a signature.

Keep reading; there’s more.

  • Why Do TinyUmbrella Require Admin Privileges?

For two reasons, both of which require admin privileges. The first is so that the app can modify the Mac or Hosts file and second, it needs Port 80 on your Mac or PC for listening.

  • What Is the Hosts File?

Nothing more than a simple file that maps hostnames to the relevant IP addresses.

  • TinyUmbrella Can’t Listen on Port 80, Or It Says it Needs a PID File Killing off. What Do I Do?

This is a common occurrence and it isn’t all that easy to fix. Here are the steps:

  • Windows:

windows

  1. Click on Start > Run
  2. Type MSC in the box and press Enter
  3. Look for an app in the list that is running on port 80 and stop it
  4. Download TinyUmbrella for Windows
  • Mac:

mac osx

  1. Open System Preferences > Sharing
  2. Disable Web Sharing
  3. Stop all programs that use Port 80
  4. Open a terminal window and type sudo lso -I :80 | grep LISTEN
  5. If an app starts up, type in sudo kill -9 $(sudo lsof -I :80| grep LISTEN | awk ‘{print $2})
  6. Download TinyUmbrella for Mac
  • How Do I Save My SHSH Blobs in Cydia:

Provided you enabled the option for Request SHSH from Cydia in Tiny Umbrella, all SHSH requests will be sent via Cydia, and all saved blobs are in Cydia too. However, due to security issues, you cannot force Cydia to save older SHSH blobs.

  • I Get a 255 Error Showing in console.app on my Mac – What Do I Do?

This error causes TinyUmbrella to crash, and it is all because of a lack of permissions. Fix it like this:

  1. Open a Terminal and type sudo chown – R $USER ~ sudo chmod – R u+rw~
  2. Now reinstall TinyUmbrella, and it will work

TinyUmbrella app is one of the most useful tools ever, and you should be using it every time you update your iOS device firmware. Check out all the other links to see what other cool stuff TinyUmbrella can do, and follow the developers on Facebook for all the latest app updates.

35 thoughts on “TinyUmbrella App”

  1. does tinyumbrella works on locked devices like icloud locked phones?
    what does this message mean …”. Unknown or Beta”_version…….TYPE “Unknown”?

    Reply
  2. I added the wrong phone I was trying to add iPhone 6, and saw iPhone 6,2 but that is actually iPhone 5s, I’ve tried uninstalling the software and reinstalling but the iPhone still comes up as the iPhone 5s. Is there a way to delete the data and redo it?

    Reply
  3. I have a iPhone XR and it is iCloud locked, it is my understanding that I can place my phone into DFU mode and perform a recovery, or reset my phone back to its original factory settings, is this true?

    Reply
  4. I get java.lang.NoClassDefFoundError: com/sun/jna/Pointer error when attempt to run tinyUmprella. I have java installed. what to do?
    It’s Mac Mojave

    Reply
  5. Hi
    After I have installed on window 10 . Sorry I can’t open this app. It say (Java.lang.Nul….) Please help!!!!!

    Reply
  6. error
    java.lang.NullPointerException
    at com.semaphore.util.TinyLibrary.build(TinyLibrary.java:51)
    at com.semaphore.tu.service.LibraryResolverService.fetchLibraries(LibraryResolverService.java:34)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)

    Reply
  7. hi, i have tried several times but it just wont show tha OTAs, it says preparing..fetching..in the bottom and does nothing..am i missing something here?

    Reply
  8. Hello, i have an iphone 7, the phone cant boot, is in recovery mode. Every time i try to restore or upgrade from iTunes, i gives an unknown error (-1). Is there anything i can do about it?

    Reply
  9. hello, please help me when I run tinumbrella here is the error that I’m giving despite i have the new version of java thanks in advance:
    ava.lang.NullPointerException
    at com.semaphore.util.TinyLibrary.build(TinyLibrary.java:51)
    at com.semaphore.tu.service.LibraryResolverService.fetchLibraries(LibraryResolverService.java:34)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)

    Reply
  10. ava.lang.NullPointerException
    at com.semaphore.util.TinyLibrary.build(TinyLibrary.java:51)
    at com.semaphore.tu.service.LibraryResolverService.fetchLibraries(LibraryResolverService.java:34)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)
    same..i dont fix this problem .. java is new version .. but still not work

    Reply
  11. on Catalina I get this. Something missing from your packaging?

    java.lang.NoClassDefFoundError: com/intellij/uiDesigner/core/Spacer
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
    at com.install4j.runtime.launcher.MacLauncher.main(MacLauncher.java:67)
    Caused by: java.lang.ClassNotFoundException: com.intellij.uiDesigner.core.Spacer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    … 9 more

    Reply
  12. emmanuel
    September 11, 2019
    hello, please help me when I run tinumbrella here is the error that I’m giving despite i have the new version of java thanks in advance:
    ava.lang.NullPointerException
    at com.semaphore.util.TinyLibrary.build(TinyLibrary.java:51)
    at com.semaphore.tu.service.LibraryResolverService.fetchLibraries(LibraryResolverService.java:34)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)

    Reply
  13. On windows 10 I get error:
    java.lang.NullPointerException
    at com.semaphore.util.TinyLibrary.build(TinyLibrary.java:51)
    at com.semaphore.tu.service.LibraryResolverService.fetchLibraries(LibraryResolverService.java:34)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)
    even I reinstall fo newst yava version 32bit or 64bit and run tinyumbrella with administrator’s priviledges

    Reply
  14. Any idea for the issue below?

    java.lang.NoClassDefFoundError: com/sun/jna/Pointer
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)
    Caused by: java.lang.ClassNotFoundException: com.sun.jna.Pointer
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    … 9 more

    Reply
  15. Please Help!

    I am running window 10 (64bit). tiny umbrella wont open as it comes with this message.

    Startup Error

    An Error has occured during startup:

    java.lang.NoClassDefFoundError: com/sun/jna/Pointer
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)
    Caused by: java.lang.ClassNotFoundException: com.sun.jna.Pointer
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    … 9 more

    Reply
  16. please help tiny umbrella comes as this in startup

    Startup error.

    java.lang.NoClassDefFoundError: com/intellij/uiDesigner/core/Spacer
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)
    Caused by: java.lang.ClassNotFoundException: com.intellij.uiDesigner.core.Spacer
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    … 9 more

    Reply
  17. Is there any answer to these Java errors on Windows 10?
    Additionally the re-install has been deleted by my AV as it has been flagged as malicious.

    Reply
  18. hi,

    Does anyone have the solution for this problem when starting tinyumbrella

    I am running window 10 (64bit). tiny umbrella wont open as it comes with this message.

    Startup Error

    An Error has occured during startup:

    java.lang.NoClassDefFoundError: com/sun/jna/Pointer
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.semaphore.tu.TinyLoader.main(TinyLoader.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:62)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:101)
    Caused by: java.lang.ClassNotFoundException: com.sun.jna.Pointer
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)

    in advance thank you for your help

    Reply
  19. Hi I am running a MacBook 16″, 16gb ram, 1tb HD system Big Sur V11.2.3. I installed TinyUmbrella and followed all your suggestions and fixes but still it comes up with errors and will not start.
    Hoping you may have some other suggestions.

    Reply

Leave a Comment