improved email maker using capcha solver

This commit is contained in:
2019-03-17 01:12:47 +01:00
parent d5735d6f34
commit 4ee5c81b9a
10 changed files with 167 additions and 30 deletions
Vendored
BIN
View File
Binary file not shown.
+73
View File
@@ -0,0 +1,73 @@
from selenium import webdriver
from PIL import Image
import numpy as np
import time
url="https://patrickhlauke.github.io/recaptcha/"
def searchCaptcha(filename):
Img=Image.open(filename)
img=np.array(Img)
for y in range(len(img)):
for x in range(len(img[0])):
if img[y][x][0]!=39: continue
if img[y][x][1]!=67: continue
if img[y][x][2]!=153: continue
if img[y][x][3]!=255: continue
color00=list(img[y][x])
color10=list(img[y][x+1])
color01=list(img[y+1][x])
color11=list(img[y+1][x+1])
if not (color00==[39,67,153,255] and color10==[38,68,164,255] and color01==[38,68,151,255] and color11==[37,66,158,255]):
continue
X=x-234
Y=y+34
return [X,Y]
return None
def resolveCaptcha(url):
driver=webdriver.Chrome('/Users/olivierpartensky/Programs/Library/Selenium/chromedriver')
action=webdriver.common.action_chains.ActionChains(driver)
driver.get(url)
#action.move_by_offset(36,156)
#gris en 27 138 => [193,193,193,255]
#bleu claire 270 127 => [39,67,153,255]
#36-270=
#151-127=
#36 151 middle
result=searchCaptcha("training.png")
print(result)
if not result:
raise Exception("Captcha could not be found.")
action.move_by_offset(result[0],result[1])
action.click()
action.perform()
#driver.save_screenshot("training.png")
resolveCaptcha(url)
"""
[ 39 67 153 255]
[ 38 68 164 255]
[ 38 68 151 255]
[ 37 66 158 255]
"""
#Img.show()
"""
imin,imax=200,255
img2=[[255*(img[y][x]-imin)/(imax-imin) for x in range(len(img[0]))] for y in range(len(img))]
noise=np.random.normal(0,7,img.shape)
Img3=Image.fromarray(img+noise).convert("L")
Img3.show()
Img3.filter(ImageFilter.BoxBlur(1)).show()
Img3.show()
"""
+19 -19
View File
@@ -1,22 +1,22 @@
from selenium import webdriver
import time
def createMailAddress(adress,password):
url = 'https://protonmail.com/'
driver = webdriver.Chrome('/Users/olivierpartensky/Programs/Library/Selenium/chromedriver')
driver.get(url)
driver.find_element_by_xpath('//*[@title="Sign Up"]').click()
time.sleep(2)
driver.find_element_by_class_name('panel-heading').click()
time.sleep(4)
driver.find_element_by_id('freePlan').click()
time.sleep(2)
driver.find_element_by_id('username').send_keys(adress)
time.sleep(2)
driver.find_element_by_id('password').send_keys(password)
time.sleep(2)
driver.find_element_by_id('passwordc').send_keys(password)
time.sleep(2)
driver.find_element_by_class_name('signUpProcess-btn-create').click()
time.sleep(1)
driver.find_element_by_id('confirmModalBtn').click()
url = 'https://protonmail.com/'
driver = webdriver.Chrome('/Users/johnfisher/Downloads/chromedriver')
driver.get(url)
driver.find_element_by_xpath('//*[@title="Sign Up"]').click()
time.sleep(2)
driver.find_element_by_class_name('panel-heading').click()
time.sleep(4)
driver.find_element_by_id('freePlan').click()
time.sleep(2)
driver.find_element_by_id('username').send_keys('usernameForUser')
time.sleep(1.5)
driver.find_element_by_id('password').send_keys('passwordForUser')
time.sleep(2)
driver.find_element_by_id('passwordc').send_keys('passwordForUser')
time.sleep(2)
driver.find_element_by_class_name('signUpProcess-btn-create').click()
time.sleep(1)
driver.find_element_by_id('confirmModalBtn').click()
+2 -3
View File
@@ -1,7 +1,6 @@
import smtplib
import credentials
def send_email(subject, msg, receiver):
try:
server=smtplib.SMTP('smtp.gmail.com:587')
@@ -17,7 +16,7 @@ def send_email(subject, msg, receiver):
subject = "Test"
msg = "Je pratique le test de l'envoie de mail automatique par python et tu es mon cobaye."
receiver="alexandre.bigot@gmail.com"
msg = "je test ta patience"
receiver="valentin.colin78@gmail.com"
send_email(subject, msg, receiver)
+63 -8
View File
@@ -1,10 +1,31 @@
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from PIL import Image
import smtplib
import credentials
import pyautogui
import urllib
import random
alea=lambda :str(random.randint(1000,10000))
password="je te chie un mot de passe"
import time
def createMailAddress(adress,password):
receiver="valentin.colin78@gmail.com"
title="enorme test"
message="tu pues vraiment la merde"
def createMail(adress="unnamed.beaucoup",password="password"):
try:
url = 'https://protonmail.com/'
driver = webdriver.Chrome('/Users/olivierpartensky/Programs/Library/Selenium/chromedriver')
action = webdriver.common.action_chains.ActionChains(driver)
driver.get(url)
driver.find_element_by_xpath('//*[@title="Sign Up"]').click()
time.sleep(2)
@@ -19,21 +40,55 @@ def createMailAddress(adress,password):
driver.find_element_by_id('passwordc').send_keys(password)
time.sleep(2)
driver.find_element_by_class_name('signUpProcess-btn-create').click()
time.sleep(1)
time.sleep(2)
driver.find_element_by_id('confirmModalBtn').click()
time.sleep(2)
element=driver.find_element_by_id('id-signup-radio-captcha')
element.click()
#element=driver.find_element_by_id('id-signup-radio-donate')
action.move_to_element_with_offset(element,20,160)
action.click()
action.perform()
time.sleep(2)
#img=driver.find_element_by_xpath('//*[@id="rc-imageselect-target"]') #/table/tbody/tr[1]/td[1]/div/div[1]/img
#xpath //*[@id="rc-imageselect-target"]/table/tbody/tr[1]/td[1]/div/div[1]/img
element=driver.find_element_by_tag_name("html")
element.send_keys(Keys.END)
time.sleep(2)
driver.save_screenshot("captcha.png")
#src=img.get_attribute('src')
time.sleep(2)
#urllib.urlretrieve(src,"captcha.png")
Img=Image.open("captcha.png")
Img.show()
#x,y=element.location["x"],element.location["y"]
#pyautogui.moveTo(x,y)
#print(pyautogui.position())
#time.sleep(2)
#pyautogui.moveTo(x+50,y)
#driver.find_element_by_class_name('recaptcha-checkbox-checkmark').click()
#print(pyautogui.position())
#time.sleep(2)
print("Email created.")
except:
raise Exception("Failed to create email adress.")
def sendEmail(subject,msg,receiver):
def sendMail(title,message,receiver):
try:
server=smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login(credentials.SENDER, credentials.PASSWORD)
message = 'Subject: {}\n\n{}'.format(subject, msg)
server.sendmail(credentials.SENDER, receiver, message)
server.login(credentials.SENDER,credentials.PASSWORD)
message='Subject: {}\n\n{}'.format(title,message)
server.sendmail(credentials.SENDER,receiver,message)
server.quit()
print("Success: Email sent!")
print("Email sent.")
except:
print("Email failed to send.")
raise Exception("Failed to send email.")
createMail(password=password)
#sendMail(title,message,receiver)
+5
View File
@@ -0,0 +1,5 @@
from captcha_solver import CaptchaSolver
solver = CaptchaSolver('browser')
raw_data = open('captcha.png', 'rb').read()
print(solver.solve_captcha(raw_data))
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,5 @@
from captcha_solver import CaptchaSolver
solver = CaptchaSolver('browser')
raw_data = open('captcha.png', 'rb').read()
print(solver.solve_captcha(raw_data))
View File