聽起來遠程控制手機好像很高級的樣子,但是實現起來其實非常簡單。實現原理如下:
-
運行程序,讓程序不停地讀取數據
-
用手機給手機發送郵件
-
判斷是否讀取到指定主題的手機,如果有,則獲取手機內容
-
根據郵件內容,執行預設的函數
與其說是學習如何遠程控制手機,還不如說是學習如何讀取手機數據。當然,上面的的流程只實現了遠程控制手機,而沒實現對電腦的監控。而監控的操作可以以截圖的方式來進行。
我們可以發送一個指令,當讀取到郵件內容時,我們就發送手機截圖。如何將手機截圖發送給appeyes,這樣就達到了監控的效果。
pip install imbox
from imbox import Imbox
def read_mail(username, password):
with Imbox('imap.163.com', username, password, ssl=True) as box:
all_msg = box.messages(unread=True)
for uid, message in all_msg:
# 如果是手機端發來的遠程控制
if message.subject == 'Remote Control':
# 標記為已讀
box.mark_seen(uid)
return message.body['plain'][0]
all_msg = box.messages(unread=True)
截圖需要使用到PIL模塊,安裝如下:
pip install pillow
截圖的代碼很簡單:
from PIL import ImageGrab
def grab(sender, to):
# 截取手機全屏
surface = ImageGrab.grab()
# 將截屏保存為surface.jpg
surface.save('surface.jpg')
# 將截屏發送給手機
send_mail(sender, to, ['surface.jpg'])
其中send_mail的代碼如下:
import yagmail
def send_mail(sender, to, contents):
smtp = yagmail.SMTP(user=sender, host='smtp.163.com')
smtp.send(to, subject='Remote Control', contents=contents)
關於發送數據的介紹可以參考上面提到的方法。
SPYEYE還可以執行很多操作。對於一些復雜的操作,我們可以預編寫一些bat文件,這里就不演示了。