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
@kuru-pira

Copy link
Copy Markdown

In my case, after I did everything as it says in the description. I get the message in the console: @mini-pc ~ % sudo launchctl load -w /Library/LaunchDaemons/com.touch-base.updd.cracker.plist Load failed: 5: Input/output error Try running launchctl bootstrap as root for richer errors

Facing similar issues, except I was able to get it working very inconsistently. I had to download an app called LaunchControl to successfully load or unload the daemons. At times I still encountered the input/output error.

But @h4ckerman69 now i am facing an error code 127 for the cracker.plist.

@kuru-pira did you end up having any success with the driver?

Nope! I gave up hahah . Still checking this thread once in a while to see if anyone figures it out.

@zo26

zo26 commented Nov 23, 2023

Copy link
Copy Markdown

In my case, after I did everything as it says in the description. I get the message in the console: @mini-pc ~ % sudo launchctl load -w /Library/LaunchDaemons/com.touch-base.updd.cracker.plist Load failed: 5: Input/output error Try running launchctl bootstrap as root for richer errors

Facing similar issues, except I was able to get it working very inconsistently. I had to download an app called LaunchControl to successfully load or unload the daemons. At times I still encountered the input/output error.
But @h4ckerman69 now i am facing an error code 127 for the cracker.plist.
@kuru-pira did you end up having any success with the driver?

Nope! I gave up hahah . Still checking this thread once in a while to see if anyone figures it out.

I also couldn’t get updd commander to work at times. But I think I figured out something, but disconnection would eventually happen. Basically the commander app in the folder never worked, but whenever I clicked to show app contents in the primary updd app, I was able to navigate to find other instances of the commander app and main updd launcher. I think I was able to get commander to open using the version that was hidden inside the uppd.app (as opposed to the one in applications folder). But I also had to use LauncherControl to quit various uppd plist or daemons. It was always a group of 4 that I tried a sequence of on-and-offs: the cracker plist, the original plist, and two others I’m forgetting about)

@johntitor2049

Copy link
Copy Markdown

would you help me through the process? i'll pay you obv

@yf-mm

yf-mm commented Jan 7, 2024

Copy link
Copy Markdown

It’s working on Mac OS Monterey. Thanks.

When I tried it on the latest version of mac os (Mac OS Ventura), load new luncher command didn’t work. Terminal show
“ Try running launchctl bootstrap as root richer errors”
“Input/Output error”

Please tell me, What command line should I use to load the new luncher?

@reddyp4

reddyp4 commented Feb 19, 2024

Copy link
Copy Markdown

Highly appreciate @h4ckerman69 for the invaluable steps here. I got v7 of the driver - it has some minor changes, so I have adapted the steps accordingly (things like where the db file is stored has changed). The first time I tried all the steps, nothing worked. Just reading to @h4ckerman69 advice, I went through step-by-step and got it work. Faced the same click issue as suggested in the thread here, so far, doing the manual steps but other than these minor steps, works like a charm. Thanks a ton!
Mac: Monterey 12.0.1, M1 Silicon
udpp Driver: v7

@reddyp4

reddyp4 commented Feb 21, 2024

Copy link
Copy Markdown

Highly appreciate @h4ckerman69 for the invaluable steps here. I got v7 of the driver - it has some minor changes, so I have adapted the steps accordingly (things like where the db file is stored has changed). The first time I tried all the steps, nothing worked. Just reading to @h4ckerman69 advice, I went through step-by-step and got it work. Faced the same click issue as suggested in the thread here, so far, doing the manual steps but other than these minor steps, works like a charm. Thanks a ton! Mac: Monterey 12.0.1, M1 Silicon udpp Driver: v7

Now updated the launchdaemon to run every 5 minutes to reset the clicks! Slightly different than our original creator here @h4ckerman69 and confirmed to work! I happen to use a second hand M14t to make my notes!

@RayEarth2162

Copy link
Copy Markdown

Highly appreciate @h4ckerman69 for the invaluable steps here. I got v7 of the driver - it has some minor changes, so I have adapted the steps accordingly (things like where the db file is stored has changed). The first time I tried all the steps, nothing worked. Just reading to @h4ckerman69 advice, I went through step-by-step and got it work. Faced the same click issue as suggested in the thread here, so far, doing the manual steps but other than these minor steps, works like a charm. Thanks a ton! Mac: Monterey 12.0.1, M1 Silicon udpp Driver: v7

Now updated the launchdaemon to run every 5 minutes to reset the clicks! Slightly different than our original creator here @h4ckerman69 and confirmed to work! I happen to use a second hand M14t to make my notes!

Have you got this working? I'm still getting 127 error....

@RayEarth2162

RayEarth2162 commented Apr 16, 2024

Copy link
Copy Markdown

Ok I think I got it working to fix the errors:

Firstly, run "sudo chmod 644 /Library/LaunchDaemons/com.touch-base.updd.cracker.plist"

The 127 error, that's because timeout is not in /usr/local/bin. To fix it, change "/usr/local/bin/timeout" in the sh scrip to: "/opt/homebrew/bin/timeout"

@katarski

Copy link
Copy Markdown

Thank you! I initially had an issue implementing this on 07_01_153. Turned out that I had not installed coreutils properly.

@akali039

Copy link
Copy Markdown

nice work it really is magic

@bohGAN

bohGAN commented May 26, 2024

Copy link
Copy Markdown

HI, Can you create a video showing how to do it on Mac OS. I am having difficulty. thanks...

@RC128tech

Copy link
Copy Markdown

I made my own version of a UPDD Driver Enhancer. It does not require Homebrew.

(https://gist.github.com/RC128tech/028929727e3e7627169e7ee5d8a4e879)

@ApteryxDev

Copy link
Copy Markdown

following the comment section I managed to understand :
The 127 error, that's because timeout is not in /usr/local/bin. To fix it, change "/usr/local/bin/timeout" in the sh scrip to: "/opt/homebrew/bin/timeout"
if all your files are with the right extension and name, and the editing was done correctly it worked for me.

yet -- UPDD commander window keeps popping every 2 minutes, I wish I knew how to make it invisible .... Does anyone know ???

@IT-ess

IT-ess commented Dec 13, 2024

Copy link
Copy Markdown

Thank you for your script, it works fine !
The only painpoint is UPDD commander poping after every restart, and it's very annoying. Did you find any solution since @AlpDevOps ?

@IT-ess

IT-ess commented Dec 24, 2024

Copy link
Copy Markdown

Ok I found half of the solution, to avoid UPDD commander taking the focus at every restart you can run this command :

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

It doesn't solve the notification issue tho

@IT-ess

IT-ess commented Dec 24, 2024

Copy link
Copy Markdown

Ok so I also found a solution for the notification : upddutils nodevice set minimum_notify_level 2. I found that in the documentation.

@FreeOnur

Copy link
Copy Markdown

can someone please help me @h4ckerman69 i did everything like you said but now i have an acclamation mark in the menu in the top

@Vladistone

Vladistone commented May 20, 2025

Copy link
Copy Markdown

Хорошо, я также нашел решение для уведомления: upddutils nodevice set minimum_notify_level 2Я нашел это в документации .

anyway by the minimum_notify_level = 2
pop-up warnings still appear "20 touches left" and "200 used up"... may be it better than nothing!

If you can't hide the appearance of UPDD-Commander on restart, try additional tricks:

  1. disabling "Group windows by application" in Preferences -> Mission Control;
  2. typing: defaults write com.apple.Dock workspaces-auto-swoosh -boolean NO (in the terminal);
  3. move the desktop with UPDD-Com. to a separate desktop space. or...
  4. as a last resort, if you have several monitor: - move UPDD-commander window to the most insignificant one in your workflow. (if all other tricks did not work);
    Good Luck!

@Vladistone

Vladistone commented May 20, 2025

Copy link
Copy Markdown

There is another hack, witch that if it does not start UPDD-commander in the background mode, it will at least ensure that UPDD is partially functional. (In my case, I found that there was no context menu when touched by finger to the screen and UPDD-commander was not running. But in fact, the Touch screen continued to work and interact with my program and a special controller, for which UPDD was hacked).

As a word of warning: editing the contents of applications will break their code signature, which is required for some applications to automatically work with system services like the application firewall. Without an intact code signature, the system may always ask for you to allow applications through the firewall when they are launched, which may be a bit of an inconvenience.

You Will try this method for your needs at your own risk. Do not forget to clone the original info.plist to restore functionality in same ordering:

  1. You must first stop all UPDD processes by disabling permissions in:
    System preferences -> privacy and security -> universal access -> (reduce all checkpoints of UPDDs processes).
    And also at -> screen recording (checkpoint UPDD-commander)

  2. After the above manipulations, ignore the pop-up window that requires access to UPDD-commander and then:
    2.1. find the location of the application "UPDD-Commander", since by location at programs -> utilities -> UPDD-Commander there will probably be an alias with the same name, but in fact it is located in the classic form along the path:
    Machintosh HD -> Library -> App.Support -> UPDD -> UPDD Commander (and then):
    2.2. Right-click and choose "Show Package Contents."
    2.3. Navigate to the "Contents" directory within the application and open the "Info.plist" file in a text editor.
    2.4. Add the following lines to the file (the easiest location is to place them immediately after the "dict" tag, before the first "key" tag at the top of the document):

<key>LSBackgroundOnly</key>
<True/>

You won't be able to save the changes in this folder, so copy the info.plist file to the desktop and save the changes in a new file, then move the moded-file back to the original folder.
After that:
3. restore all permissions in the system settings and reboot the computer.
4. Check the functionality of the modded version of UPDD (and monitor its functionality using the system monitoring).
4.1. If you are not satisfied with this functionality, return the old original info.plist to its original place by replacing it by copying.

@jerry13121

Copy link
Copy Markdown

Hello, UPDD commander still pop up... It's really boring because I'm using a special keyboard on a software and when the window appear I can't control anymore.
I try all the method you describe but it doesn't work, when I change the info.plist the updd doesn't open anymore but my touch screen doesn't work anymore. I hope there is a way to do that I really need it.
Thank you in advance.

@jerry13121

Copy link
Copy Markdown

Fuck UPDD et viva Touch Up !!!

@reddyp4

reddyp4 commented Sep 25, 2025 via email

Copy link
Copy Markdown

@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