Skip to content

ParthJadhav/IMMAT

Repository files navigation

IMMAT (iMessage Mac Automation Tool)

GitHub contributors GitHub stars GitHub repo issues

IMMAT is a tool developed to control the MacOS operating system using iMessage from any iMessage supported devices.

IMMAT is created using Python and AppleScript.

🔖 Prerequisites

Before you begin, ensure you have met the following requirements:

  • You have installed Python3 and have it working.
  • You have a MacOS machine which has used iMessage on it atleast once.
  • Any iMessage supported device.
  • Installed the dependencies from requirements.txt.

📦 Using IMMAT Through Executable (Recommended)

To Use IMMAT download the file by :-

Clicking Here !

Open Terminal and type :-

chmod +x (Drag the file here and press enter)

Now you can run IMMAT by opening the file.

🐍 Using IMMAT Through Python

To install IMMAT, follow these steps:

Installing requirements :-

git clone https://github.com/ParthJadhav/IMMAT.git

cd IMMAT

pip3 install -r requirements.txt

For Bluetooth Functionality to Work

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brew install blueutil

Running IMMAT (Foreground) :

❗️It is mandatory that you run it in foreground at first run.❗

python3 Immat.py

Running IMMAT (Background) :-

cd IMMAT

chmod +x Immat.py

nohup python3 /path/to/Immat.py &

To stop the background process:-

pkill -f Immat.py

🔨 Troubleshooting

If you are encountering errors like :-

sqlite3.OperationalError: unable to open database file

Then try giving full disk access to the terminal by :-

https://support.avast.com/en-in/article/Mac-full-disk-access/

Instead of avast add Terminal to full-disk access.

🦋 Usage

IMMAT will only be running on Mac the commands would be given from iMessage on other devices.

Example -

Password - $
Command - ts (Take Screenshot)

Message the below command through iMessage to Mac.

$ Ts

This will reply you with the screenshot of the Mac.

These are the available commands :-

Help

💻 MacOS Demo

Instead of main.py enter Immat.py

Help

📱 iPhone Demo

Help

💠 How does it work?

iMessage on MacOS saves all messages it got to chat.db database. and the messages are saved in messages table of that database.

Whenever a new message is received; IMMAT checks if it has the password which you have entered while running IMMAT and checks for a matching command.

If the message matches the command then the following function is executed.

All of these happens locally so there is no need to worry about the privacy and security.

📝 Contact

If you want to contact me you can reach me at [email protected]

📄 License

This project uses MIT License.