Hack and Disable The iSight Camera
This article will walk you through the steps of capturing images from an iSight camera remotely, as well as disabling it.
It’s a question that a great many people are asking, and for a good reason: can people control my iSight camera remotely? It’s a scary answer:
Yes.
You can log into another Mac with a built-in iSight camera and take pictures remotely. But here’s the good news: you can also disable the iSight camera on the software end, rather than simply taping it up. First, let’s start with capturing pictures remotely, then move on to disabling the camera.
Requirements
- An SSH Client (Terminal])
- A Target Mac
Take Pictures Via SSH
To get started capturing images remotely, you’ll need to download a utility called iSightCapture and install it.
Download iSightCapture from Applausible.
Installation is simple. Open up the downloaded .dmg file, and drag the isightcapture file into a folder on your hard drive that you can access via Terminal. Once that’s in place, fire up Terminal.
To use iSightCapture, you would then log into the machine using SSH via following code (if you’re running this on your own machine, you’re all set!):
ssh user@computer
Replace user with the username you are logging in as, and computer with the computer name or IP address.
You’ll then be prompted for a password. Enter the password and hit return (Terminal will make it appear as if you are not typing anything when you’re entering the password, but trust me, you are), and you’ll be logged in.
To take pictures, the commands are very basic. First, you need to navigate via the cd command into the directory that you installed iSightCapture. For example, you have the file stored on your desktop, you would enter (replacing YourName with your username):
cd /Users/YourName/Desktop
./isightcapture image.jpg
Will output a 640×480 image in JPEG format.
./isightcapture -w 320 -h 240 -t png image.png
Will output a scaled 320×240 image in PNG format
Advanced Options
Thankfully, if you’re looking to take certain sized pictures in a certain format, you’re in luck! iSightCapture uses a formula, that includes variables that you can edit in the command. The formula for all iSightCapture commands goes as such:
isightcapture [-v] [-d] [-n frame-no] [-w width] [-h height] [-t jpg|png|tiff|bmp] output-filename
The key to each of these variable is listed below:
-v output version information and exit
-d enable debugging messages. Off by default
-n capture nth-frame
-w output file pixel width. Defaults to 640 pixels.
-h output file pixel height. Defaults to 480 pixels.
-t output format – one of jpg, png, tiff or bmp. Defaults to JPEG.
Disable iSight
Are you constantly seeing the green light on? Just paranoid? Use these handy terminal commands to disable the iSight camera (be sure to replace YourName with your username!):
sudo mv /System/Library/QuickTime/QuickTimeUSBVDCDigitizer.component \ /Users/YourName/Desktop
and
sudo mv /System/Library/PrivateFrameworks/CoreMediaIOServicesPrivate.framework/ Versions/A/Resources/VDC.plugin /Users/YourName/Desktop
What you have just done is move two drivers for the iSight camera out of their system folders and onto your Desktop. If you wish to reverse this move, you simply change the direction (assuming you haven’t moved the files since then):
sudo mv/Users/YourName/Desktop/QuickTimeUSBVDCDigitizer.component \ /System/Library/QuickTime/
and
sudo mv /Users/YourName/Desktop/VDC.plugin /System/Library/PrivateFrameworks/CoreMediaIOServicesPrivate.framework/Versions/A/Resources/
If you want to make the iSight stay disabled forever, simply dump the files on your Desktop into the Trash and empty it.
The contents of this guide are for educational use only. For more information, see our Disclaimer.



Is it possible to set the captured picture as background on the other computer? If so, what’s the command?
Sure thing! If you save the captured picture on the desktop as “Picture 1.png”, for instance, you can copy and paste the following command into Terminal (after you’ve SSH’d into their computer):
osascript << EOF
tell application "Finder"
set desktop picture to file "Picture 1.png" of desktop
end tell
EOF
That will set the captured picture as their desktop background.
I typed in ./isightcapture image.jpg and this came up:
FATAL: setting data channel failed – cam busy/not connected ?
how would I connect the cam?
Is it connected and hooked up to your computer?
I am having the same problem, it works when I am not doing it over ssh but when I do connect to it I get
FATAL: setting data channel failed – cam busy/not connected ?
Are you connecting via ssh through a user account? Maybe give it a shot through the root account and see if that makes a difference.
problem solved. but i have a question, how can i send the pics to a different dir?
disregard the beginning of my last comment.
Would logging in via SSH trigger a sort of warning on the other computer?
like a pop-up or something.
**p.s. can you also log in as a guest if the other computer only has one user?
thanks
I don’t think that the guest account has any sort of SSH privileges, but I could be mistaken, and no — there is no sort of popup or any visual indicator. The only way that someone would be able to see that someone logged in via SSH is if they checked their logs.
This seems like a very cool utility. However, I can not get it to work on my macbook pro running OSX Snow Leopard. Not sure if I am entering the right commands into Terminal. Any advice? I am new to computers so I have no idea what I am doing.
Joel – What’s not working about it?
Jeff, thanks for responding so quickly. I practiced first using basic bash commands – made my computer say all kinds of mean things to me out loud – just to make sure I was on the right track.
When I attempt to use the isightcapture on my own computer by typing:
cd /Users/YourName/Desktop./isightcapture image.jpg
I repeatedly get the “No such file or directory” message. the program is on my desktop and I am the administrator. I am not sure how to troubleshoot.
Thanks for this site, I am learning a tremendous amount, wish I had found it a long time ago.
Thanks for the feedback Joel! If you’re enjoying the site, I hope you’ll subscribe to our newsletter (sign-up in the sidebar) and join our forum to learn even more! (http://www.hackmac.org/forum/)
I think the problem is that you’re trying to run two commands as one line. The following is one command:
cd /Users/YourName/Desktopand then after you run that, you would run this command separately:
./isightcapture image.jpgHope that helps!
Jeff, it worked like a charm on my computer! If I want to capture images remotely will I need to download isightcapture on the target computer or just have it on my own?
I have the e-book and I am signed up for the newsletter. I am looking forward to learning more. Thanks!
Great to hear! Sorry for the late reply; this one must have slipped by me.
You’ll need to have isightcapture on the target computer, so you can copy it over beforehand through the command line or by a flashdrive or something else.
I found an easier solution. just tape or cover the darn thing. it works for me
How can i make it download something??
Jacob – Can you define “it”? I’m not entirely sure what you would be downloading, unless you mean pictures from another machine, in which case you could do it via wget and SSH or by FTP/File Sharing.
I cannot download iSightCapture. Suggestions or alternative sources?
It looks like the developer removed the program from his site.
You can get it from MacUpdate for now (http://www.macupdate.com/app/mac/18598/isightcapture), and I’ll update the article.
Thanks for the heads up!
http://www.applausible.com/blog/wp-content/uploads/2010/03/iSightCapture.zip
I am not able to download the iSight Capture from that web site. Is there another website that I can download it from?
Thanks
Give this one a shot: http://www.kubat.nl/pages/blogaria/71
after tipping the ssh command (first my login name then @ then ip of targeted mac )
terminal ansers
“connect to host 192.168.1.5 port 22: Connection refused”.
A video woud help to !!!
thanks in advances .
Is SSH enabled in the other computer’s “Sharing” pane in System Preferences?
Hey Jeff. not sure the dmg you’re linking is working. anyway you can update it? id like to test this out on a remote machine. thanks.