@echo off :main call:banner call:init call:menu goto:EOF :init set datatemp=DT%RANDOM%.BIN (echo w & echo q)|debug %datatemp% 2> NUL 1> NUL attrib +h %datatemp% (echo e 100 B4 07 CD 21 B4 4C CD 21&echo rcx&echo 8&echo w&echo q)|debug key.com 1>NUL 2>NUL attrib +h key.com goto:EOF :banner echo RaDaCAt v0.01 echo Raw Data Connection AssistanT echo by sirdarckcat (elhacker.net) echo. goto:EOF :usefile set /p file=Drag and drop file here: call:dx "%datatemp%" %file% goto:EOF :dx IF EXIST %~dpnx2 ( attrib -h "%~dpnx1" copy /B "%~dpnx1"+"%~dpnx2" "%~dpnx1" 1> NUL 2> NUL attrib +h "%~dpnx1" ) goto:EOF :useinput echo Type your content, when finished press Ctrl+Z echo. attrib -h %datatemp% copy %datatemp%+con: %datatemp% 1>NUL 2>NUL attrib +h %datatemp% goto:EOF :usedebug (echo w & echo q)|debug d%datatemp% 2> NUL 1> NUL echo Type Strings inside double quotes, and bytes separated by comas echo example: "GET / HTTP/1.1",0d,0a,"Host: ",0,"/",0d,0a :loop1 set cmd=quit set /P cmd=:: if "%cmd:"=_%"=="quit" ( goto:exit1 ) echo db %cmd% >> d%datatemp% goto:loop1 :exit1 echo a > b%datatemp% type d%datatemp% >> b%datatemp% echo. >> b%datatemp% echo q >> b%datatemp% debug < b%datatemp% > c%datatemp% set last=0 FOR /F "tokens=2,3* delims=: eol=-" %%i IN (c%datatemp%) DO ( call:save %%i ) echo a > b%datatemp% type d%datatemp% >> b%datatemp% echo. >> b%datatemp% echo rcx >> b%datatemp% echo %last% >> b%datatemp% echo w >> b%datatemp% echo q >> b%datatemp% del d%datatemp% debug d%datatemp% < b%datatemp% 1> NUL 2> NUL del b%datatemp% del c%datatemp% call:dx "%datatemp%" "d%datatemp%" del d%datatemp% goto:EOF :save set hexstr=0123456789ABCDEF set last= set /A dec= 0x%1 - 0x100 :loop2 set /A ths=%dec% %% 16 call:dec2hex "%%hexstr:~%ths%,1%%" if /I %dec% GEQ 16 ( set /A dec=%dec%/16 ) else ( goto:EOF ) goto:loop2 goto:EOF :dec2hex set last=%~1%last% goto:EOF :menuinput echo Select a mode of input: echo 1.- Add Text echo 2.- Add File echo 3.- Add Binary data echo 4.- View Data echo 5.- Reset Data echo 6.- Send echo 7.- Exit echo. :waitkey key if /I %errorlevel% EQU 0x31 ( call:useinput ) else if /I %errorlevel% EQU 0x32 ( call:usefile ) else if /I %errorlevel% EQU 0x33 ( call:usedebug ) else if /I %errorlevel% EQU 0x34 ( echo ## DATA START ## type %datatemp% echo. echo ## DATA END## ) else if /I %errorlevel% EQU 0x35 ( del /a %datatemp% (echo w & echo q)|debug %datatemp% 2> NUL 1> NUL ) else if /I %errorlevel% EQU 0x36 ( %accion% del /a %datatemp% ) else if /I %errorlevel% EQU 0x37 ( goto:EOF ) else ( goto:waitkey ) goto:menuinput goto:EOF :menu echo Choose an option: echo 1.- Connect to server echo 2.- Listen to port echo. :waitin key if /I %errorlevel% EQU 0x31 ( set /P server=Server: set /P port=Port #: set accion=nc -vv %server% %port% ^<%datatemp% ) else if /I %errorlevel% EQU 0x32 ( set /P port=Port #: set accion=nc -L -p %port% ^<%datatemp% ) else ( goto:waitin ) goto:menuinput goto:EOF