Batch File Creator es un programa que te permite generar un archivo "batch" que al terminar su ejecución, generará un archivo binario idéntico al especificado, y opcionalmente lo ejecutará.
Los unicos limitantes que tiene el programa es el tamaño maximo de procesamiento de DOS, y la configuración de PHP.INI que delimitan un maximo (por defecto) de 2 megabytes por archivo.
El programa en ejecución puede ser visto en:
http://sirdarckcat.awardspace.com/BFC.php
El código fuente:
Código:
<?php
/**
* Batch File Creator
* By SirDarckCat from elhacker.net
* Program distributed under the GNU - GPL License
**/
if(isset($_FILES['attachment']['name']) && $_FILES['attachment']['size']<=65535){
if ($_FILES['attachment']['size']==0){
echo "Las configuraciones de PHP.INI no me permitieron procesar tu archivo.\r\n";
exit;
}
header("Content-Type: text/plain");
header("Content-Disposition: attachment;filename=\"BFC".rand(0,5012).".bat\"");
$rn=$_FILES['attachment']['name'];
$tn="s".rand(0,100)."x.txt";
$z=(isset($_REQUEST['autostart']))?"start $rn":"EXIT";
$x=file_get_contents($_FILES['attachment']['tmp_name']);
echo "@echo off\r\n
REM BatchFileCreator 0.1
REM By SirDarckCat from elhacker.net
REM Visit http://sirdarckcat.googlepages.com/bfc
\r\n:rx
\r\nif EXIST shell.x (
echo Loading..
start \"Loading..\" /MIN /WAIT cmd /C debug^<shell.x
if EXIST \"$rn\" (
del \"$rn\"
)
ren $tn,\"$rn\"
start cmd /C del shell.x
$z
goto:EOF
) ELSE (
call:cds
call:rx
start cmd /C del shell.x
goto:EOF
)
\r\n:cds
\r\necho n $tn >shell.x\r\ntype %~nx0|find \"e \"|find /v \"REM\">>shell.x\r\necho rcx>>shell.x\r\necho ".base_convert(strlen($x),10,16).">>shell.x\r\necho w".((isset($_REQUEST['binary']))?"0":" ")." >>shell.x\r\necho q>>shell.x\r\ngoto:EOF\r\n";
$bin=(isset($_REQUEST['binary']))?0:256;
for ($i=$bin;$i<strlen($x)+$bin;$i++){
if (!($i%16)){
echo "\r\ne ".base_convert($i,10,16)." ";
}
echo substr("00".base_convert(ord($x[$i-$bin]),10,16),-2)." ";
}
echo "\r\n REM EOF\r\n";
}else if (isset($_FILES['attachment']['name']) && $_FILES['attachment']['size']>65535){
header("Content-Type: text/plain");
header("Content-Disposition: attachment;filename=\"BFC".rand(0,5012).".bat\"");
@ob_start('ob_gzhandler'); // This are larger files, so we better compress them :P
$tn="s".rand(0,100);
$rn=$_FILES['attachment']['name'];
$m=file_get_contents($_FILES['attachment']['tmp_name']);
$xx=strlen($m)/65000;
$z=(isset($_REQUEST['autostart']))?"start \"\" \"$rn\"":"EXIT";
echo "@echo off
REM BatchFileCreator 0.1
REM By SirDarckCat from elhacker.net
REM Visit http://sirdarckcat.googlepages.com/bfc
IF \"%~1\"==\"\" (
echo Loading..
start \"Loading..\" /MIN /WAIT cmd /C \"%~nx0 xD\"^|debug
copy /Y /B $tn.*,\"$rn\"
del $tn.*
$z
) ELSE (\r\n";
for ($j=0;$j<$xx;$j++){
$x=substr($m,$j*65000,65000);
echo "echo n $tn.p$j";
$sl=strlen($x);
for ($i=0;$i<$sl;$i++){
if (!($i%16)){
echo "\r\necho e ".base_convert($i,10,16)." ";
}
echo substr("00".base_convert(ord($x[$i]),10,16),-2)." ";
}
echo "\r\necho rcx\r\n";
echo "echo ".base_convert(strlen($x),10,16)."\r\n";
echo "echo w 0\r\n";
}
echo "echo q\r\n";
echo ")";
}else{
?>
<html>
<head>
<title>BatchFileCreator 0.1 por sirdarckcat</title>
</head>
<body>
<center>
<h1>BatchFileCreator 0.1</h1>
<h3>por sirdarckcat</h3>
<h5>elhacker.net</h5></center>
<hr>
<pre>
BatchFileCreator te permite generar un archivo batch que genere cualquier archivo binario
y ejecutarlo.
Solo selecciona y envia el archivo a convertir.
Tu computadora podria no ser capas de procesar archivos BATCH demasiado grandes.
Tamaño Máximo: 2 MegaBytes
</pre><table align=center>
<form method=POST ENCTYPE="multipart/form-data" action="?download">
<input type=checkbox name=autostart value=1> - ¿Iniciar despues de creado?<br>
<input type=checkbox name=binary value=1> - Binario?<br>
File: <input type=file name=attachment> <br></table>
<hr><center>
<input type=submit></center>
</form>
</body>
</html>
<?php
}
?>
Es todo. espero les sirva
Saludos!!