Skip to content

Instantly share code, notes, and snippets.

@h4ckerman69
Last active July 5, 2026 23:48
Show Gist options
  • Select an option

  • Save h4ckerman69/c20f30555533de1cff6d74341d3d622c to your computer and use it in GitHub Desktop.

Select an option

Save h4ckerman69/c20f30555533de1cff6d74341d3d622c to your computer and use it in GitHub Desktop.
UPDD escape

Tested with UPDD_07_01_59.dmg, but should work with newer versions as well.

Download latest version: touch-base.com (please use temporary email) 100% working download: youtube.com/watch?v=odqYsHNl6qM Please download with github.com/KristianAskk/Infinite-Storage-Glitch.

Instructions

  1. install and start UDPP (with all the steps needed for setup). Use a temporary email address while allowing internet connections until the software works in test mode.

  2. now block all connections from UDPP when you are ready to crack it (e.g. with Little Snitch)

  3. install homebrew if you haven't done it already (brew.sh)

  4. install coreutils and sqlitebrowser with

brew install coreutils && brew install --cask db-browser-for-sqlite
  1. unload the default LaunchDaemon:
sudo launchctl unload -w /Library/LaunchDaemons/com.touch-base.updd.plist

Copy /Library/Preferences/updd/db/updd.db into your home directory and open the file with the DB Browser for SQLite. Make a backup of the file!!!

  1. go to "Browse Data" and edit the following values in the following tables:

=== amf_user ===

password_expires = 2099-12-31

in all entries

=== updd_backup / updd_setting ===

value = 2099-12-31

where name contains registration and until

  1. save the file and copy it back to /Library/Preferences/updd/db/updd.db. Make sure that UPDD is not running at the moment. The Commander and other tools can run.

  2. copy com.touch-base.updd.cracker.sh and com.touch-base.updd.cracker.plist to /Library/LaunchDaemons

  3. give yourself the rights to the new launcher file with

sudo chown root:wheel /Library/LaunchDaemons/com.touch-base.updd.cracker.plist
  1. give the helper script execute permissions with
sudo chmod +x /Library/LaunchDaemons/com.touch-base.updd.cracker.sh
  1. load the new launcher with
sudo launchctl load -w /Library/LaunchDaemons/com.touch-base.updd.cracker.plist

Done!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.touch-base.updd.cracker</string>
<key>Nice</key>
<integer>-18</integer>
<key>ProcessType</key>
<string>Standard</string>
<key>Program</key>
<string>/Library/LaunchDaemons/com.touch-base.updd.cracker.sh</string>
<key>ProgramArguments</key>
<array>
<string>/Library/Application Support/UPDD/updd.app/Contents/MacOS/updd</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
#!/usr/bin/env sh
launchctl unload /Library/LaunchDaemons/com.touch-base.updd.plist || true
/usr/local/bin/timeout 2m "/Library/Application Support/UPDD/updd.app/Contents/MacOS/updd" -e
@SkyZerCH

SkyZerCH commented Feb 5, 2026

Copy link
Copy Markdown

For the people that script is not working, and the trial version is set to 2099, i made a script to stop and launch every 2min the deamon and it reset the 200 click count with ease and no issue. You just have to execute the script througt terminal.

The script :

#!/bin/bash

echo "Launch in loop (CTRL+C to stop)..."

while true; do
# Time
echo "$(date) : Reboot of the service..."

# 1. Unload the service
launchctl unload -w /Library/LaunchDaemons/com.touch-base.updd.plist

# A short pause of you choice 1 sec work fine
sleep 1

# 2. Load again the service
launchctl load -w /Library/LaunchDaemons/com.touch-base.updd.plist

echo "Service reloaded, waiting 1min"

# Break of 120 seconds until the next reload
sleep 120
done

Enjoy!

@Vladistone

Vladistone commented Jul 5, 2026

Copy link
Copy Markdown

The script for preventing UPDD Commander from intercepting the active window is probably not working for several reasons:

  1. Starting with macOS 15, Apple implemented stricter security rules.
  2. The script contains a syntax error that prevents it from working. Fix this:
    The LSBackgroundOnly key (background only) works fine for simple utilities, but for applications with a complex interface (like Commander), macOS requires a duplicate key. Without it, the system considers the application "hybrid" and forcibly activates its UI thread upon startup. Reopen your modified /Library/Application Support/UPDD/UPDD Commander.app/Contents/Info.plist (by copying it to the desktop, as you did before). Add another key—LSUIElement—to the LSBackgroundOnly block. Your block under the first tag should look exactly like this:
<key>LSBackgroundOnly</key>
<true/>
<key>LSUIElement</key>
<true/>

after which:
3. Old macOS signature cache (Most common problem): When you ran the sudo codesign command, macOS replaced the signature on disk, but the operating system continues to use the old cache in RAM. macOS still sees UPDD Commander as an "old app with a broken signature," so the system ignores the new instructions from Info.plist. To force a signature update and force the system to reread the application properties, run three commands in Terminal:

  • First, force a signature update again (to commit the added LSUIElement):
    sudo codesign --force --deep --sign - "/Library/Application Support/UPDD/UPDD Commander.app"
  • Clear the Gatekeeper cache:
    sudo xattr -cr "/Library/Application Support/UPDD/UPDD Commander.app"
  • Reset the Launch Services cache so that macOS sees the new Info.plist parameters:
    /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f "/Library/Application Support/UPDD/UPDD Commander.app"

Extra:
4. If the app still flickers on the screen even after clearing the cache, it means the UPDD developers have hardcoded the command (forced window forward) into the binary code:
[NSApp activateIgnoringOtherApps: YES]
In this case, we can bypass the restart script from GitHub. Instead of calling UPDD Commander.app itself, we'll force the script to launch only its internal background process using the standard macOS system utility open -g (run in the background without activating).
To do this:

  • Open the restart script. Usually located at /Library/Application Support/UPDD/ or ~/Library/Application Support/UPDD/ (in the folder where you downloaded the script guide; the filename should end in .sh).
  • Find the application launch line, which looks something like this:
    open "/Library/Application Support/UPDD/UPDD Commander.app"
  • Replace it with the -g and -j stealth flags:
    open -g -j "/Library/Application Support/UPDD/UPDD Commander.app"
    (The -g flag prevents the application from becoming active, and -j launches it completely hidden.)
  1. Clearing the System Background Task Manager (BTM) Database: Sometimes, macOS's internal cache of background services (Background Task Manager) gets stuck, causing the notification to persist even after the agent is removed. To reset this cache, enter the following in Terminal:
    sudo sfltool resetbtm
    Be sure to restart your Mac after entering this command. This command resets the registered background services, and when you log in again, you'll see one final notification about UPDD starting, which shouldn't reoccur.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment