Skip to content

Instantly share code, notes, and snippets.

@ellsies
Last active April 28, 2025 05:54
Show Gist options
  • Save ellsies/e9383c75fd8cd8d5781dac91d7e2360d to your computer and use it in GitHub Desktop.
Save ellsies/e9383c75fd8cd8d5781dac91d7e2360d to your computer and use it in GitHub Desktop.
Crackover (Complete free version of crossover)

CrackOver

Crackover helps you bypass restrictions for the MacOS app, CrossOver.

bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)"

Executing this script will replace the CrossOver binary with a patched version that bypasses the restrictions and time limits.

This script fixes all trial issue, resets the trial period, and fixes all bottle trial periods.

I will update this script as needed to keep it working.

For any help, please leave a comment on this gist, and I will respond as soon as possible.

Disclaimer

This script is for educational purposes only. I am not responsible for any damage caused by this script. Use at your own risk.

#!/usr/bin/env bash
# checck if pidof exists
PIDOF="$(which pidof)"
# and if not - install it
(test "${PIDOF}" && test -f "${PIDOF}") || brew install pidof
# find app in default paths
CO_PWD=~/Applications/CrossOver.app/Contents/MacOS
test -d "${CO_PWD}" || CO_PWD=/Applications/CrossOver.app/Contents/MacOS
test -d "${CO_PWD}" || (echo 'unable to detect app path. exiting...' && exit)
PWD="${CO_PWD}"
cd "${PWD}"
PROC_NAME='CrossOver'
# get all pids of CrossOver
pids=(`pgrep "${PROC_NAME}"`, `pidof "${PROC_NAME}"`, `ps -Ac | grep -m1 "${PROC_NAME}" | awk '{print $1}'`)
pids=`echo ${pids[*]}|tr ',' ' '`
# kills CrossOver process if it is running
[ "${pids}" ] && kill -9 `echo "${pids}"` > /dev/null 2>&1
# wait until app finish
sleep 3
# make the current date RFC3339-encoded string representation in UTC time zone
DATETIME=`date -u -v -3H '+%Y-%m-%dT%TZ'`
# modify time in order to reset trial
plutil -replace FirstRunDate -date "${DATETIME}" ~/Library/Preferences/com.codeweavers.CrossOver.plist
plutil -replace SULastCheckTime -date "${DATETIME}" ~/Library/Preferences/com.codeweavers.CrossOver.plist
# show tooltip notification
/usr/bin/osascript -e "display notification \"trial fixed: date changed to ${DATETIME}\""
for file in ~/Library/Application\ Support/CrossOver/Bottles/*/system.reg; do
sed -i -e "/^\\[Software\\\\\\\\CodeWeavers\\\\\\\\CrossOver\\\\\\\\cxoffice\\]/,+6d" "${file}";
done
# This loop finds and deletes .update-timestamp files in each bottle
for update_file in ~/Library/Application\ Support/CrossOver/Bottles/*/.update-timestamp; do
rm -f "${update_file}"
done
/usr/bin/osascript -e "display notification \"bottles fixed: all timestamps removed\""
# and after this execute original crossover
echo "${PWD}" > /tmp/co_log.log
"$($PWD/CrossOver.origin)" >> /tmp/co_log.log
#!/usr/bin/env bash
CO_PWD=~/Applications/CrossOver.app/Contents/MacOS
test -d "${CO_PWD}" || CO_PWD=/Applications/CrossOver.app/Contents/MacOS
test -d "${CO_PWD}" || (echo 'unable to detect app path. exiting...' && exit)
PWD="${CO_PWD}"
cd "${PWD}"
PROC_NAME='CrossOver'
pids=(`pgrep "${PROC_NAME}"`, `pidof "${PROC_NAME}"`, `ps -Ac | grep -m1 "${PROC_NAME}" | awk '{print $1}'`)
pids=`echo ${pids[*]}|tr ',' ' '`
[ "${pids}" ] && kill -9 `echo "${pids}"` > /dev/null 2>&1
FIX_FILE_LINK="https://gist.githubusercontent.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/d4431abd07cdcd83853567b646d0b68bf66c7e6c/Crossover.sh"
if [ -f CrossOver.origin ]; then
echo 'already installed. update and exit.'
echo "$(curl -fsSL ${FIX_FILE_LINK})" > CrossOver
exit
fi;
test -f CrossOver.origin || mv CrossOver CrossOver.origin
echo "$(curl -fsSL ${FIX_FILE_LINK})" > CrossOver
chmod +x CrossOver
echo 'Done. Please open CrossOver '
#!/usr/bin/env bash
CO_PWD=~/Applications/CrossOver.app/Contents/MacOS
test -d "${CO_PWD}" || CO_PWD=/Applications/CrossOver.app/Contents/MacOS
test -d "${CO_PWD}" || (echo 'unable to detect app path. exiting...' && exit)
PWD="${CO_PWD}"
cd "${PWD}"
PROC_NAME='CrossOver'
pids=(`pgrep "${PROC_NAME}"`, `pidof "${PROC_NAME}"`, `ps -Ac | grep -m1 "${PROC_NAME}" | awk '{print $1}'`)
pids=`echo ${pids[*]}|tr ',' ' '`
[ "${pids}" ] && kill -9 `echo "${pids}"` > /dev/null 2>&1
if [ -f CrossOver.origin ]; then
echo 'uninstalling...'
rm CrossOver
mv CrossOver.origin CrossOver
echo 'Done. Please open CrossOver '
osascript -e 'display notification "CrossOver has been uninstalled."'
exit
fi;
echo 'already uninstalled/original file not found. exit.'
exit
@adhamhaithameid
Copy link

when i execute this command:
"bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)""
the crossover app doesn't open at all.
i am using mackbook air with m1 chip

Screenshot 2025-03-13 at 3 38 33 PM

@Entersjkhdfkjdhfksjf
Copy link

when i execute this command: "bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)"" the crossover app doesn't open at all. i am using mackbook air with m1 chip

Screenshot 2025-03-13 at 3 38 33 PM

Lemme guess, it tries to open and then closes?

@adhamhaithameid
Copy link

when i execute this command: "bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)"" the crossover app doesn't open at all. i am using mackbook air with m1 chip
Screenshot 2025-03-13 at 3 38 33 PM

Lemme guess, it tries to open and then closes?

yes

@Entersjkhdfkjdhfksjf
Copy link

when i execute this command: "bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)"" the crossover app doesn't open at all. i am using mackbook air with m1 chip
Screenshot 2025-03-13 at 3 38 33 PM

Lemme guess, it tries to open and then closes?

yes

Uninstall and then reinstall, that is what I had to do

@adhamhaithameid
Copy link

when i execute this command: "bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)"" the crossover app doesn't open at all. i am using mackbook air with m1 chip
Screenshot 2025-03-13 at 3 38 33 PM

Lemme guess, it tries to open and then closes?

yes

Uninstall and then reinstall, that is what I had to do

the app doesn't show up in the Applications folder, how do i uninstall it?

@Entersjkhdfkjdhfksjf
Copy link

when i execute this command: "bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)"" the crossover app doesn't open at all. i am using mackbook air with m1 chip
Screenshot 2025-03-13 at 3 38 33 PM

Lemme guess, it tries to open and then closes?

yes

Uninstall and then reinstall, that is what I had to do

the app doesn't show up in the Applications folder, how do i uninstall it?

There is a uninstall script above. If it still does not work, renew it then uninstall and reinstall a few days before it expires.

@moacdev
Copy link

moacdev commented Mar 28, 2025

Thank you a lot !

Just close CrossOver if open, then open terminal and paste-enter:

DATETIME=`date -u -v -3H  '+%Y-%m-%dT%TZ'`

# modify time in order to reset trial
plutil -replace FirstRunDate -date "${DATETIME}" ~/Library/Preferences/com.codeweavers.CrossOver.plist
plutil -replace SULastCheckTime -date "${DATETIME}" ~/Library/Preferences/com.codeweavers.CrossOver.plist

@maeceloacm1998
Copy link

@moacdev
Up!
This command resolve the problem.

@xd0r14n
Copy link

xd0r14n commented Apr 12, 2025

hi, i ran the necessary scripts to reset the free trial time and it boots properly, saying that i have 14 days. however my bottles have expired and this message pops up.
Screenshot 2025-04-12 at 12 49 00

how could i fix that?

@Entersjkhdfkjdhfksjf
Copy link

hi, i ran the necessary scripts to reset the free trial time and it boots properly, saying that i have 14 days. however my bottles have expired and this message pops up. Screenshot 2025-04-12 at 12 49 00

how could i fix that?

You will need to make a new bottle

@cdoglogan
Copy link

Can someone answer yes or no, is this safe? And is this as simple as pasting "bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)" into the Terminal?

@Entersjkhdfkjdhfksjf
Copy link

Can someone answer yes or no, is this safe? And is this as simple as pasting "bash -c "$(curl -fsSL https://gist.github.com/ellsies/e9383c75fd8cd8d5781dac91d7e2360d/raw/install.sh)" into the Terminal?

Yes

@Kossybml
Copy link

How do I get started on my m1 Mac air, I just downloaded CO. This is day one.

@NishanRupesh
Copy link

This is super useful, is there anything similar for Parallels as well?

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