:: B2bat (binary to bat)
:: Author: lShadowl;The Shadow
:: Realese date:24/8/09
:: Realese version:1.0
:: Tested in Win Xp pro sp3
:: File size limit: 64kB
:: Info: Converts any file into a batch script.
:: Syntax: b2b <in file> <out script>
@echo off
:b2b
setlocal enabledelayedexpansion&& set ms=%2&& set mos=%1
if not defined ms (echo Syntax: b2b ^<in file^> ^<out script^>&& goto:eof) else (echo.Working...)
echo.exit|cmd/K prompt $_rcx$_$_q>$
echo set cx=%%1>CX.bat
debug %1<$ | find "CX">_.bat&& call _
set/a ecx=0x100+0x%cx%
set hexstr=0123456789ABCDEF&& set sz=
:loop2
set/a ths=%ecx% %% 16
call :evals %%hexstr:~%ths%,1%%
if /I %ecx% GEQ 16 (set /A ecx=%ecx%/16&& goto:loop2) else (goto:kg)
:evals
set sz=%1%sz%&& goto:eof
:kg
echo.exit|cmd/K prompt $_d 100 %sz%$_q>$
type $ | debug %1>$.t
(echo set ff=createobject("scripting.filesystemobject"^)&& echo set rr=ff.opentextfile("$.t",1^)&& echo aa = rr.readall
echo rr.close&& echo r1 = Replace(aa,">",""^)&& echo r2 = Replace(r1,"<",""^)&& echo r3 = Replace(r2,"&",""^)
echo r4 = Replace(r3,"|",""^)&& echo set bb=ff.opentextfile("$.t",2^)&& echo bb.write r4)>rp.vbs&& rp.vbs
for /f "tokens=1,* delims=]" %%A in ('"type $.t|find /n /v """') do (set "current=%%B"
if defined current (call set current=!!current:-= !!&& echo !current!>>$) else echo.>>$)
echo.exit|cmd/K prompt $_::Script by B2bat - B2bat by lShadowl$_ @echo off$_($_echo n b2bat.>%ms%
for /f "tokens=* skip=7 delims=%%a" %%a in ($) do (set csl=%%a&& echo echo e!csl:~5,53!>>%ms%)
:brk
echo exit|cmd/K prompt $_echo.$_echo rcx$_echo %sz%$_echo w$_echo q$_echo.$_)$Gda.t$A$A rem >>%ms%
echo.exit|cmd/K prompt $_debug$Lda.t$Gnul$_ren b2bat.exi %mos%$A$A rem >>%ms%
echo.Done.
goto:eof
Ejemplo:
>b2b tongue.gif tongue.bat
Resultante:
::Script by B2bat - B2bat by lShadowl
@echo off
(
echo n b2bat.exit
echo e0100 47 49 46 38 39 61 0F 00 0F 00 D5 00 00 00 00 00
echo e0110 CC 99 00 70 66 00 52 42 00 66 66 66 EE E1 00 EC
echo e0120 D1 00 E8 BA 00 B0 69 00 23 1C 00 D6 9C 00 FF 00
echo e0130 00 86 86 86 BF A6 00 68 54 00 11 00 00 FF D6 00
echo e0140 FF FF 00 FF F8 00 32 28 00 FF E6 00 C5 9E 00 73
echo e0150 5C 00 11 10 00 26 23 00 7F 71 00 81 37 00 F0 B5
echo e0160 00 F5 C4 00 3C 00 00 CC A3 00 51 48 00 FF CC 00
echo e0170 FF F0 00 7E 6A 00 C1 74 00 E2 C8 00 C7 B3 00 FF
echo e0180 DD 00 62 5A 00 D0 B4 00 80 73 00 59 47 00 1B 16
echo e0190 00 33 33 00 EC BD 00 80 69 00 08 00 00 18 00 00
echo e01A0 7F 7C 00 56 51 00 6D 57 00 CC 99 00 E0 9E 00 79
echo e01B0 61 00 F8 CE 00 99 99 99 00 00 00 00 00 00 00 00
echo e01C0 00 00 00 00 00 00 00 00 00 00 00 00 00 21 F9 04
echo e01D0 05 14 00 38 00 2C 00 00 00 00 0F 00 0F 00 00 06
echo e01E0 A3 40 9C 10 47 18 5C 00 97 0F 61 38 64 4C 56 22
echo e01F0 94 A1 24 C0 B0 18 CD 8B E3 66 32 51 42 A1 C2 E9
echo e0200 82 C5 4D 2C 20 88 F7 2B 69 CB 58 C4 04 27 BD 6E
echo e0210 47 24 85 4B D1 06 02 89 00 19 21 29 00 31 12 21
echo e0220 27 1F 17 1E 7D 00 8D 14 8D 00 60 25 47 73 20 2E
echo e0230 00 22 14 83 29 14 14 24 48 8B 7D 10 10 01 26 01
echo e0240 0A 14 26 0D 17 03 68 20 8D 0F 00 2F 00 08 5D 32
echo e0250 03 04 72 7D 20 23 0F 0B 1D 1A 10 2D 7A 66 0E 95
echo e0260 1B 0F 30 00 23 20 2A 13 42 0C AC BB 35 23 35 07
echo e0270 2A 64 4D 13 17 33 15 2D 01 33 2B 13 65 4C 45 47
echo e0280 AC 4B 43 41 00 3B 85
echo et
echo.
echo rcx
echo 286
echo w
echo q
echo.
)>da.t&& rem exit
debug<da.t>nul
ren b2bat.exi tongue.gif&& rem exit
Saludos!

