├── README.md ├── VySec.py ├── python-2.7.14.amd64.msi └── setup.py /README.md: -------------------------------------------------------------------------------- 1 | # VySecator - A useful tool made for Hackers and By Hackers ;) 2 | **General Info about the tool** 3 | **VySecator Is a tool which can be used to Obfuscate your Python script. The tool comes with 3 Options. Obfuscate Python Script, Compile to EXE, Compile to EXE with Obfuscation. 4 | 3rd Options is the most used by Hackers who program their own Malware and want to make it FUD. My tool is using Pyarmor and PyInstaller for Compiling the programs to Executable. I respect the developers of PyInstaller and PyArmor and clearly give them the half credit** 5 | **VySecator uses Wine which makes it possible to generate Windows Executables in Linux** 6 | 7 | # Note 8 | 9 | --> My tool doesn't work for MsfVenom Payloads, I will bring a update in Future which will consist of Obfuscating and Compiling MsfVenom Python Payloads also. 10 | 11 | # Read the tool article on ZSecurity's Website! 12 | 13 | --> https://zsecurity.org/vysecator-a-useful-tool-made-for-hackers-and-by-hackers/ 14 | 15 | 16 | # Update 1.1.7 17 | 18 | **--> Fixed some spaces and indent bugs** 19 | 20 | **--> Fixed Bugs** 21 | 22 | # OS Support 23 | 24 | --> Other OS testing is still left (Ubuntu, Parrot, etc.) 25 | 26 | --> Kali Linux 27 | 28 | 29 | # Installation 30 | --> Use the git clone command for cloning my Repository or simply click on Download as zip 31 | 32 | `git clone https://github.com/Vedant-Bhalgama/VySecator.git` 33 | 34 | 35 | --> After you have the files, Run the setup.py 36 | 37 | --> setup.py will install all the dependencies such as wine, PyArmor, PyInstaller and also it will Install Windows Python under wine 38 | 39 | ![VySecstup](https://user-images.githubusercontent.com/67494275/88782304-0c0cce00-d1ab-11ea-9015-0bfa077022dc.PNG) 40 | 41 | ![setup](https://user-images.githubusercontent.com/67494275/88782577-6148df80-d1ab-11ea-9627-d008c1aa2f0e.PNG) 42 | 43 | 44 | # Using the Program 45 | --> Now In order to run the program, Just run using this command, Also refer to the Screenshot below. 46 | 47 | `python ./VySec.py` 48 | 49 | ![Main menu](https://user-images.githubusercontent.com/67494275/88782664-77ef3680-d1ab-11ea-894e-8db597bcdb4d.PNG) 50 | 51 | --> Now you will see 4 options as Follows 52 | 53 | --> Now FOR.EG I want to use the 3rd one, The 3rd Option will obfuscate your script first and then Compile it to EXE, 54 | This is the main Reason why this is very important for Hackers who program their Malwares on their own! 55 | 56 | --> In Order to Use any Options just type 57 | 58 | use 1 59 | use 2 60 | use 3 61 | use 4 62 | 63 | 64 | --> Now, If you choose option 3 or option 2, It will ask you to add a icon to the EXE. If you want to add a icon, Then type y else n. 65 | 66 | --> If you type y, It will first ask you to enter the script path and then it will ask you to enter the icon file path. 67 | 68 | **--> ALSO MAKE SURE THE ICON FILE WHICH YOU WANT TO ADD IS IN .ico EXTENSTION** 69 | 70 | 71 | ![Capture](https://user-images.githubusercontent.com/67494275/89103181-7d5bb380-d42d-11ea-822c-43c0ea074494.PNG) 72 | 73 | 74 | --> Now It will start doing the things sit back and relax! 75 | 76 | --> After it completes you will see something like this at the end 77 | 78 | ![output](https://user-images.githubusercontent.com/67494275/88783625-a4f01900-d1ac-11ea-845b-daed3b024380.png) 79 | 80 | --> Now to find the script, You can see in the image above a Blue Line is there, The final EXE will be in that path. 81 | 82 | --> See the final path of our test script here. 83 | 84 | **WITHOUT ICON** 85 | 86 | ![Capture](https://user-images.githubusercontent.com/67494275/88783271-30b57580-d1ac-11ea-8e50-137a77c39853.PNG) 87 | 88 | **WITH ICON** 89 | 90 | **YOU ONLY WILL SEE THE ICON ON THE WINDOWS MACHINE, SO IF YOU DONT SEE THE ICON ON LINUX MACHINE, PLEASE MAKE SURE TO TRANSFER THAT FILE TO WINDOWS MACHINE AND SEE IT.** 91 | 92 | 93 | ![Capture](https://user-images.githubusercontent.com/67494275/89103253-04a92700-d42e-11ea-8872-2edc06411e34.PNG) 94 | 95 | 96 | # Bug and Issue Report 97 | --> Make sure to report any bugs or issues here -> https://github.com/VySec-Secure/VySecator/issues 98 | 99 | -------------------------------------------------------------------------------- /VySec.py: -------------------------------------------------------------------------------- 1 | # Kali Linux Version for VySecator 2 | # Version 1.1.5 3 | # Modifying the code doesn't make it yours ;) 4 | # Python Version 2.7.14 5 | # Make sure to run the setup.py before starting the program, 6 | 7 | 8 | try: 9 | import subprocess 10 | import re 11 | import time 12 | import pyfiglet 13 | from os import system, name 14 | import sys 15 | import os 16 | from colorama import Fore 17 | 18 | except ImportError: 19 | print("\n[+] Import Error!") 20 | print("\n[+] Pre Requistes were not found! Run the setup.py file again!") 21 | 22 | ascii_banner = pyfiglet.figlet_format("VySecator") 23 | print(ascii_banner) 24 | 25 | print(Fore.RED + "VySecator - Program Built for Hackers, By Hackers ;)") 26 | print("Version : 1.1.7") 27 | print("Supported OS : Kali Linux") 28 | print("GitHub Profile :: https://github.com/Vedant-Bhalgama") 29 | raw_input(Fore.WHITE + "\nVySec>: Press enter to continue ") 30 | os.system("clear") 31 | 32 | while True: 33 | 34 | def ask_user_choice(): 35 | while True: 36 | print(Fore.WHITE) 37 | banner = pyfiglet.figlet_format("VySec Menu") 38 | print(banner) 39 | print(Fore.RED + "\t(1) Obfuscate Python Script ") 40 | print(Fore.RED + "\t(2) Compile .py to EXE") 41 | print(Fore.RED + "\t(3) Obfuscate and Compile .py to EXE") 42 | print(Fore.RED + "\t(4) Exit Program") 43 | print(Fore.RED + "\nFor EG. >> use 3") 44 | user_input = raw_input(Fore.WHITE + "\nVySec>: ") 45 | 46 | # Main Functions start from here 47 | 48 | if "use 1" in user_input: 49 | ask_path = raw_input("\nVySec>: Please enter script path --> ") 50 | subprocess.call(['wine', '/root/.wine/drive_c/Python27/Scripts/pyarmor.exe', 'obfuscate', ask_path]) 51 | 52 | if "use 2" in user_input: 53 | ask_icon = raw_input("\nVySec>: Do you want to add icon to EXE? y/n >> ") 54 | if "y" in ask_icon: 55 | ask_path = raw_input("\nVySec>: Please enter script path --> ") 56 | ask_icon_path = raw_input("\nVySec>: Please enter icon path (Only .ico files are supported) --> ") 57 | subprocess.call(['wine', '/root/.wine/drive_c/Python27/Scripts/pyinstaller', '--onefile', '--noconsole', '--icon', ask_icon_path, ask_path]) 58 | 59 | if "n" in ask_icon: 60 | ask_path = raw_input("\nVySec>: Please enter script path --> ") 61 | subprocess.call(['wine', '/root/.wine/drive_c/Python27/Scripts/pyinstaller.exe', '--noconsole', '--onefile', ask_path]) 62 | 63 | if "use 3" in user_input: 64 | ask_icon = raw_input("\nVySec>: Do you want to add icon to EXE? y/n >> ") 65 | 66 | if "y" in ask_icon: 67 | ask_path = raw_input("\nVySec>: Please enter script path --> ") 68 | ask_icon_path = raw_input("\nVySec>: Please enter icon path (Only .ico files are supported) --> ") 69 | subprocess.call(['wine', '/root/.wine/drive_c/Python27/Scripts/pyarmor.exe', 'pack', '-e', '--onefile --noconsole --icon %s' % ask_icon_path, ask_path]) 70 | 71 | if "n" in ask_icon: 72 | ask_path = raw_input("\nVySec>: Please enter script path --> ") 73 | subprocess.call(['wine', '/root/.wine/drive_c/Python27/Scripts/pyarmor.exe', 'pack', '-e', '--onefile --noconsole', ask_path]) 74 | 75 | if "use 4" in user_input: 76 | print("\nVySec>: Shutting Down Program") 77 | sys.exit() 78 | 79 | raw_input(Fore.WHITE + "\nVySec:> Press enter to continue") 80 | os.system("clear") 81 | 82 | 83 | ask_user_choice() 84 | -------------------------------------------------------------------------------- /python-2.7.14.amd64.msi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedant-Bhalgama/VySecator/517352fcee7ac40ac298b3174339664f852b1572/python-2.7.14.amd64.msi -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | try: 2 | import subprocess 3 | import re 4 | import platform 5 | import time 6 | import os 7 | import sys 8 | from colorama import Fore 9 | import pyfiglet 10 | except ImportError: 11 | subprocess.call("pip install colorama", shell=True) 12 | subprocess.call("pip install pyfiglet", shell=True) 13 | 14 | error_message = Fore.RED 15 | success = Fore.GREEN 16 | 17 | try: 18 | def setup(): 19 | asc = pyfiglet.figlet_format("VySecator Setup") 20 | print(asc) 21 | print(Fore.YELLOW + "\n[+] Setup File Version 1.1.6") 22 | print(Fore.YELLOW + "\n[+] Setup Build Date : ") 23 | print(Fore.YELLOW + "\n[+] Detected OS : " + platform.system()) 24 | print(Fore.YELLOW + "\n[+] OS Release : " + platform.release()) 25 | print(Fore.CYAN + "\n[+] Starting Setup, Please wait ... ") 26 | time.sleep(5) 27 | start_installation = raw_input("\nAvyukt>: Type y if you want to start installation else n >> ") 28 | if "y" in start_installation: 29 | print("\n[+] Starting Installation .... Sit Back and Relax!") 30 | print(Fore.CYAN + "\n[+] Updating Packages using apt-get update") 31 | os.system("sudo apt-get update") 32 | print(Fore.CYAN + "\n\t[+] Installing Wine") 33 | print(Fore.YELLOW + "\n") 34 | subprocess.call("\n\nsudo apt-get install wine32", shell=True) 35 | print(Fore.CYAN + "\n\t[+] Installing Python 2.7.14 in Wine") 36 | print(Fore.YELLOW + "\n") 37 | subprocess.call("\n\nwine msiexec /i python-2.7.14.amd64.msi", shell=True) 38 | print(os.getcwd()) 39 | os.chdir("/root/.wine/drive_c/Python27/") 40 | print(Fore.CYAN + "\n\t[+] Installing PyArmor") 41 | print(Fore.YELLOW + "\n") 42 | os.system("\n\nwine python.exe -m pip install pyarmor") 43 | print(Fore.CYAN + "\n\t[+] Installing PyInstaller") 44 | print(Fore.YELLOW + "\n") 45 | os.system("\n\nwine python.exe -m pip install pyinstaller") 46 | print(success + "\n[+] Success in Installing all pre-requisite, If you face any error while running Avyukt, Run the setup.py again") 47 | raw_input("[+] Press any key to continue ... ") 48 | os.system("reset") 49 | 50 | if "n" in start_installation: 51 | print(error_message + "[+] Quitting setup ..") 52 | except FileNotFoundError: 53 | print(error_message + "[+] Error while Building setup.py") 54 | 55 | setup() 56 | --------------------------------------------------------------------------------