From 692dc6f19eb4cbecec2baf277e82ada658aca0d0 Mon Sep 17 00:00:00 2001 From: KDot227 Date: Wed, 24 Jan 2024 18:41:54 -0600 Subject: [PATCH] update --- src/main.py | 10 ++++- src/util/methods/anti_methods/anti_console.py | 4 +- src/util/methods/common/common.py | 23 +++++++++-- src/util/obfuscation/obf_oneline.py | 38 +++++++++++++------ src/util/obfuscation/obfuscate.py | 8 ++-- src/util/obfuscation/scrambler.py | 24 +++++++++--- src/util/supporting/types.py | 5 +++ 7 files changed, 87 insertions(+), 25 deletions(-) create mode 100644 src/util/supporting/types.py diff --git a/src/main.py b/src/main.py index d4ba7bc..06e0c75 100644 --- a/src/main.py +++ b/src/main.py @@ -25,7 +25,7 @@ from rich.syntax import Syntax from rich.text import Text -__version__ = "2.8.1" +__version__ = "2.8.2" @dataclass @@ -51,7 +51,10 @@ def compose(self) -> ComposeResult: class SomalifuscatorV2(App): CSS_PATH = "util\\ui\\style.tcss" - BINDINGS = [Binding("d", "toggle_debug", "Toggle Debug")] + BINDINGS = [ + Binding("d", "toggle_debug", "Toggle Debug"), + Binding("q", "quit", "Quit"), + ] def on_button_pressed(self, _: Button.Pressed) -> None: OBF( @@ -78,6 +81,9 @@ def action_toggle_debug(self) -> None: ) self.query_one(RichLog).write(debug_msg) + def action_quit(self) -> None: + self.exit() + def on_print(self, event: Print) -> None: self.query_one(RichLog).write(Text.from_markup(event.text.strip())) # ill fix this soon diff --git a/src/util/methods/anti_methods/anti_console.py b/src/util/methods/anti_methods/anti_console.py index 103a2ad..14dfa36 100644 --- a/src/util/methods/anti_methods/anti_console.py +++ b/src/util/methods/anti_methods/anti_console.py @@ -1,12 +1,14 @@ from util.obfuscation.obf_oneline import Obfuscate_Single +from util.supporting.types import Code_Block + class AntiConsole: def __init__(self) -> None: pass @staticmethod - def main(code: list) -> list: + def main(code: list) -> Code_Block: """ Restarts the bat file so there is no console at all (hidden) """ diff --git a/src/util/methods/common/common.py b/src/util/methods/common/common.py index b59620c..2383325 100644 --- a/src/util/methods/common/common.py +++ b/src/util/methods/common/common.py @@ -5,6 +5,7 @@ from rich.console import Console from util.supporting.settings import * +from util.supporting.types import Code_Block console = Console() settings = Settings() @@ -16,7 +17,21 @@ def escape_batch(code: str) -> str: - translation_table = str.maketrans({"%": "%%", "!": "^!", "^": "^^", '"': '^"', "<": "^<", ">": "^>", "&": "^&", "|": "^|", "=": "^=", "(": "^(", ")": "^)"}) + translation_table = str.maketrans( + { + "%": "%%", + "!": "^!", + "^": "^^", + '"': '^"', + "<": "^<", + ">": "^>", + "&": "^&", + "|": "^|", + "=": "^=", + "(": "^(", + ")": "^)", + } + ) return code.translate(translation_table) @@ -78,11 +93,13 @@ def random_single_carrot(string: Union[str, bool]) -> str: def random_semi_and_comma(): symbols = [";", ",", " ", " "] - random_symbols = "".join(random.choice(symbols) for _ in range(random.randint(3, 7))) + random_symbols = "".join( + random.choice(symbols) for _ in range(random.randint(3, 7)) + ) return random_symbols -def pogdog(entire_array) -> list: +def pogdog(entire_array) -> Code_Block: uni = r"็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็ ็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็" # for array in entire_array: diff --git a/src/util/obfuscation/obf_oneline.py b/src/util/obfuscation/obf_oneline.py index 2080efc..0487852 100644 --- a/src/util/obfuscation/obf_oneline.py +++ b/src/util/obfuscation/obf_oneline.py @@ -1,9 +1,11 @@ import re import random -from typing import List, Union +from typing import List, Union, NewType from util.supporting.settings import Settings +from util.supporting.types import Obfuscated_String + from util.methods.common.common import make_random_string, random_capitalization from util.methods.custom.decorators.custom_decorators import check_string_length @@ -22,7 +24,7 @@ def __init__( self.out_code = "" @check_string_length - def out(self) -> str: + def out(self) -> Obfuscated_String: if Settings.debug: return self.code """returns the desired obfuscated code @@ -35,7 +37,9 @@ def out(self) -> str: for line in self.code: if "%TO_SCRAMBLE_PLZ%" in line: line = line.replace("%TO_SCRAMBLE_PLZ%", "") - self.out_code += "%TO_SCRAMBLE_PLZ%" + self.obfuscate_simple(line) + "\n" + self.out_code += ( + "%TO_SCRAMBLE_PLZ%" + self.obfuscate_simple(line) + "\n" + ) else: self.out_code += self.obfuscate_simple(line) + "\n" return self.out_code @@ -43,7 +47,9 @@ def out(self) -> str: for line in self.code: if "%TO_SCRAMBLE_PLZ%" in line: line = line.replace("%TO_SCRAMBLE_PLZ%", "") - self.out_code += "%TO_SCRAMBLE_PLZ%" + self.obfuscate_normal(line) + "\n" + self.out_code += ( + "%TO_SCRAMBLE_PLZ%" + self.obfuscate_normal(line) + "\n" + ) else: self.out_code += self.obfuscate_normal(line) + "\n" return self.out_code @@ -54,7 +60,9 @@ def out(self) -> str: for line in self.code: if "%TO_SCRAMBLE_PLZ%" in line: line = line.replace("%TO_SCRAMBLE_PLZ%", "") - self.out_code += "%TO_SCRAMBLE_PLZ%" + self.obfuscate_simple(line) + "\n" + self.out_code += ( + "%TO_SCRAMBLE_PLZ%" + self.obfuscate_simple(line) + "\n" + ) else: self.out_code += self.obfuscate_simple(line) + "\n" return self.out_code @@ -69,7 +77,9 @@ def out(self) -> str: for line in self.code: if "%TO_SCRAMBLE_PLZ%" in line: line = line.replace("%TO_SCRAMBLE_PLZ%", "") - self.out_code += "%TO_SCRAMBLE_PLZ%" + self.obfuscate_normal(line) + "\n" + self.out_code += ( + "%TO_SCRAMBLE_PLZ%" + self.obfuscate_normal(line) + "\n" + ) else: self.out_code += self.obfuscate_normal(line) + "\n" return self.out_code @@ -79,7 +89,7 @@ def out(self) -> str: else: return self.obfuscate_normal(self.code) + "\n" - def obfuscate_normal(self, line: str) -> str: + def obfuscate_normal(self, line: str) -> Obfuscated_String: if Settings.FUD: return self.obfuscate_simple(line) """Obfuscates code but this method is very simple and made for small lines of code that needs to be obfuscated @@ -153,7 +163,9 @@ def obfuscate_normal(self, line: str) -> str: filtered_lists = [i for i in new_lists if char in i] if len(filtered_lists) == 0: - final_string += f"{char}%{make_random_string(special_chars=False)}%" + final_string += ( + f"{char}%{make_random_string(special_chars=False)}%" + ) continue new = random.choice(filtered_lists) @@ -163,16 +175,20 @@ def obfuscate_normal(self, line: str) -> str: random_index = random.choice(ammount) new2 = options[new] negative_index = random_index - len(new) - final_string += f"%{random_capitalization(new2)}:~{negative_index},1%" + final_string += ( + f"%{random_capitalization(new2)}:~{negative_index},1%" + ) else: ammount = [i for i, letter in enumerate(new) if letter == char] random_index = random.choice(ammount) new2 = options[new] - final_string += f"%{random_capitalization(new2)}:~{random_index},1%" + final_string += ( + f"%{random_capitalization(new2)}:~{random_index},1%" + ) final_string += " " return final_string - def obfuscate_simple(self, char_line: str) -> str: + def obfuscate_simple(self, char_line: str) -> Obfuscated_String: """Very simple obfuscated method for chars that aren't in any arrays Args: diff --git a/src/util/obfuscation/obfuscate.py b/src/util/obfuscation/obfuscate.py index 045c904..5d5d7cf 100644 --- a/src/util/obfuscation/obfuscate.py +++ b/src/util/obfuscation/obfuscate.py @@ -9,6 +9,7 @@ from util.supporting.gens import c_val from util.supporting.settings import log, Settings +from util.supporting.types import Code_Block from util.methods.anti_methods.anti_changes import AntiChanges from util.methods.anti_methods.anti_s_screen import AntiSScreen @@ -20,8 +21,6 @@ from util.methods.dead_code.dead_code import DeadCode -from textual.widgets import RichLog - letter_assignments_cypher = CaesarCipher.both(c_val.value) code1 = f"%TO_SCRAMBLE_PLZ%@echo off" @@ -104,6 +103,9 @@ def obfuscate(self, file): with open(self.new_file, "a+", encoding="utf8", errors="ignore") as f: f.write(random_capitalization("\n::Made by K.Dot using SomalifuscatorV2\n")) + f.write( + "REM \xff\xfeS\x00o\x00m\x00a\x00l\x00i\x00f\x00u\x00s\x00c\x00a\x00t\x00o\x00r\x00 \x00i\x00s\x00 \x00v\x00e\x00r\x00y\x00 \x00c\x00o\x00o\x00l\x00 \x00m\x00y\x00 \x00b\x00r\x00o\x00t\x00h\x00a\x00 \x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00l\x00o\x00l\x00" + ) characters = string.ascii_letters + string.digits random_order = "".join(random.sample(characters, len(characters))) @@ -325,7 +327,7 @@ def write_code_chunk(self, code_chunk: list) -> None: for array in code_chunk: f.writelines(array) - def convert_code_chunk_and_write_bytes(self, code_chunk: list) -> None: + def convert_code_chunk_and_write_bytes(self, code_chunk: Code_Block) -> None: out_hex = ["FF", "FE", "26", "63", "6C", "73", "0D", "0A", "FF", "FE"] self.write_code_chunk(code_chunk) diff --git a/src/util/obfuscation/scrambler.py b/src/util/obfuscation/scrambler.py index c3dcf19..70c7a2a 100644 --- a/src/util/obfuscation/scrambler.py +++ b/src/util/obfuscation/scrambler.py @@ -5,16 +5,22 @@ from util.obfuscation.obf_oneline import Obfuscate_Single from util.methods.anti_methods.anti_changes import AntiChanges -from util.methods.common.common import random_semi_and_comma, random_single_carrot, random_capitalization, random_spaces +from util.methods.common.common import ( + random_semi_and_comma, + random_single_carrot, + random_capitalization, + random_spaces, +) from util.supporting.settings import log +from util.supporting.types import Code_Block class Scrambler: def __init__(self): self.scramble_regex = r":[0-9]+" - def scramble(self, code: list, checks: bool = True) -> list: + def scramble(self, code: list, checks: bool = True) -> Code_Block: """Take a list or arrays and scramble the ones that can be scrambled. This is the main function for this class. Args: @@ -71,7 +77,10 @@ def full_scramble(self, line: str) -> str: math_problem = set_command_values[0] # first value we add in before code this goes to the code and allows it to go back to the normal part of the script - set_command = Obfuscate_Single(f"{random_semi_and_comma()}{random_single_carrot('set')}{Scrambler.random_single_space()}{random_single_carrot('/a')} {random_single_carrot(random_capitalization('ans') + '=')}{math_problem}\n{random_semi_and_comma()}{random_single_carrot(random_capitalization('goto'))} {random_semi_and_comma()} {random_single_carrot(True)}%{random_capitalization('ans')}%\n:{self.escape_label}\n", simple=False).out() + set_command = Obfuscate_Single( + f"{random_semi_and_comma()}{random_single_carrot('set')}{Scrambler.random_single_space()}{random_single_carrot('/a')} {random_single_carrot(random_capitalization('ans') + '=')}{math_problem}\n{random_semi_and_comma()}{random_single_carrot(random_capitalization('goto'))} {random_semi_and_comma()} {random_single_carrot(True)}%{random_capitalization('ans')}%\n:{self.escape_label}\n", + simple=False, + ).out() # first value we add in after code out_command_values = self.bit_math.generate_math_problem(self.escape_label) @@ -80,9 +89,14 @@ def full_scramble(self, line: str) -> str: lined = f"{line}\n" if self.checks: - last = Obfuscate_Single(f"set /a ans={math_problem2}\n{self.random_anti_method()}goto %ans%\n", simple=False).out() + last = Obfuscate_Single( + f"set /a ans={math_problem2}\n{self.random_anti_method()}goto %ans%\n", + simple=False, + ).out() else: - last = Obfuscate_Single(f"set /a ans={math_problem2}\ngoto %ans%\n", simple=False).out() + last = Obfuscate_Single( + f"set /a ans={math_problem2}\ngoto %ans%\n", simple=False + ).out() # we make this a array so we can scramble it later and so it won't interfere with any of the other code and stay in its own place label_code = [second_set_command + lined + last] diff --git a/src/util/supporting/types.py b/src/util/supporting/types.py new file mode 100644 index 0000000..442cbb8 --- /dev/null +++ b/src/util/supporting/types.py @@ -0,0 +1,5 @@ +from typing import NewType +from typing import List + +Obfuscated_String = NewType("Obfuscated_String", str) +Code_Block = NewType("Code_Block", List[List[str]])