# Path: lib/common/helpers.py
# def clean_payloads():
# def color(string, status=True, warning=False, bold=True, yellow=False):
# def check_int(incoming_int):
# def randomString(length=-1):
# def randomKey(b=32):
# def randomNumbers(b=7):
# def validate_hostname(hostname):
# def validate_ip(ip_address):
# def validate_port(port_number):
# 
# Path: Tools/Bypass/bypass_common/bypass_helpers.py
# def deflate(string_val):
# def compileToTemp(language, payloadSource):
# def expiring_payload_variables():
# def format_long(title, message, frontTab=True, spacing=16):
# def inflate(b64string):
# def LHOST():
# def obfuscateNum(N, mod):
# def print_dict_message(commands, show_title=True):
# def randomString(length=-1):
# def title_screen():
# 
# Path: lib/common/completer.py
# class none(object):
# class MainMenuCompleter(object):
# class PayloadCompleter(object):
# class MSFCompleter(object):
# class IPCompleter(object):
# class MSFPortCompleter(object):
# class PathCompleter(object):
# class GreatSCTMainMenuCompleter(object):
#     def complete(self, args):
#     def __init__(self, cmds, payloads):
#     def complete_use(self, args):
#     def complete_info(self, args):
#     def complete(self, text, state):
#     def __init__(self, cmds, payload):
#     def _listdir(self, root):
#     def _complete_path(self, path=None):
#     def complete_path(self, args):
#     def complete_set(self, args):
#     def complete(self, text, state):
#     def __init__(self, payloadTree):
#     def complete(self, text, state):
#     def __init__(self):
#     def complete(self, text, state):
#     def __init__(self):
#     def complete(self, text, state):
#     def __init__(self):
#     def _listdir(self, root):
#     def _complete_path(self, path=None):
#     def complete_path(self, args):
#     def complete(self, text, state):
#     def __init__(self, cmds, tools):
#     def complete_use(self, args):
#     def complete_info(self, args):
#     def complete(self, text, state):
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)


import socket
import os
import readline
import subprocess
import binascii
import sys
        import settings
from lib.common import helpers
from Tools.Bypass.bypass_common import bypass_helpers
from lib.common import completer
            # we want to treat '/' as part of a word, so override the delimiters
            readline.set_completer_delims(' \t\n;')
            readline.parse_and_bind("tab: complete")
            readline.set_completer(comp.complete)

            # if the shellcode is specicified as a raw file
            filePath = input(" [>] Please enter the path to your binary file: ")

            try:
                with open(filePath, 'rb') as shellcode_file:
                    file_shellcode = shellcode_file.read()

            except:
                print(helpers.color(" [!] WARNING: path not found, defaulting to msfvenom!", warning=True))
                return None

            if len(file_shellcode) == 0:
                print(helpers.color(" [!] WARNING: no custom shellcode restrieved, defaulting to msfvenom!", warning=True))
                return None

            binary_code = ''
            # Convert from binary to shellcode
            for byte in file_shellcode:
                binary_code += "\\x" + hex(byte)[2:].zfill(2)
            return binary_code

        elif choice == '2' or choice == 'string':
            # if the shellcode is specified as a string
            cust_sc = input(" [>] Please enter custom shellcode (one line, no quotes, \\x00.. format): ")
            if len(cust_sc) == 0:

# Path: lib/common/helpers.py
# def clean_payloads():
# def color(string, status=True, warning=False, bold=True, yellow=False):
# def check_int(incoming_int):
# def randomString(length=-1):
# def randomKey(b=32):
# def randomNumbers(b=7):
# def validate_hostname(hostname):
# def validate_ip(ip_address):
# def validate_port(port_number):
# 
# Path: Tools/Bypass/bypass_common/bypass_helpers.py
# def deflate(string_val):
# def compileToTemp(language, payloadSource):
# def expiring_payload_variables():
# def format_long(title, message, frontTab=True, spacing=16):
# def inflate(b64string):
# def LHOST():
# def obfuscateNum(N, mod):
# def print_dict_message(commands, show_title=True):
# def randomString(length=-1):
# def title_screen():
# 
# Path: lib/common/completer.py
# class none(object):
# class MainMenuCompleter(object):
# class PayloadCompleter(object):
# class MSFCompleter(object):
# class IPCompleter(object):
# class MSFPortCompleter(object):
# class PathCompleter(object):
# class GreatSCTMainMenuCompleter(object):
#     def complete(self, args):
#     def __init__(self, cmds, payloads):
#     def complete_use(self, args):
#     def complete_info(self, args):
#     def complete(self, text, state):
#     def __init__(self, cmds, payload):
#     def _listdir(self, root):
#     def _complete_path(self, path=None):
#     def complete_path(self, args):
#     def complete_set(self, args):
#     def complete(self, text, state):
#     def __init__(self, payloadTree):
#     def complete(self, text, state):
#     def __init__(self):
#     def complete(self, text, state):
#     def __init__(self):
#     def complete(self, text, state):
#     def __init__(self):
#     def _listdir(self, root):
#     def _complete_path(self, path=None):
#     def complete_path(self, args):
#     def complete(self, text, state):
#     def __init__(self, cmds, tools):
#     def complete_use(self, args):
#     def complete_info(self, args):
#     def complete(self, text, state):
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)
#         RE_SPACE = re.compile('.*\s+$', re.M)


# Path: Tools/Bypass/bypass_common/shellcode_help.py
import socket
import os
import readline
import subprocess
import binascii
import sys
        import settings
from lib.common import helpers
from Tools.Bypass.bypass_common import bypass_helpers
from lib.common import completer

            # we want to treat '/' as part of a word, so override the delimiters
            readline.set_completer_delims(' \t\n;')
            readline.parse_and_bind("tab: complete")
            readline.set_completer(comp.complete)

            # if the shellcode is specicified as a raw file
            filePath = input(" [>] Please enter the path to your binary file: ")

            try:
                with open(filePath, 'rb') as shellcode_file:
                    file_shellcode = shellcode_file.read()

            except:
                print(helpers.color(" [!] WARNING: path not found, defaulting to msfvenom!", warning=True))
                return None

            if len(file_shellcode) == 0:
                print(helpers.color(" [!] WARNING: no custom shellcode restrieved, defaulting to msfvenom!", warning=True))
                return None

            binary_code = ''
            # Convert from binary to shellcode
            for byte in file_shellcode:
                binary_code += "\\x" + hex(byte)[2:].zfill(2)
            return binary_code

        elif choice == '2' or choice == 'string':
            # if the shellcode is specified as a string
            cust_sc = input(" [>] Please enter custom shellcode (one line, no quotes, \\x00.. format): ")
            if len(cust_sc) == 0:

                print(helpers.color(" [!] WARNING: no shellcode specified, defaulting to msfvenom!", warning=True))