elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 ... 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 [1031] 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 ... 1235
10301  Programación / Scripting / Re: Tutorial extendido de aprendizaje Batch en: 4 Noviembre 2012, 15:45 pm
3. LOS PRIMEROS PASOS





  • 3.1 Una Identidad

Estamos a punto de crear algo nuestro, es casi como de nuestra sangre y por eso lo vamos a tratar como si fuese nuestro hijo, nuestro fruto,
Vamos a bautizar nuestro script con un nombre!

Otorgarle un nombre a un script sirve para identificar que archivo bat está ejecutando la CMD, o simplemente dejar nuestra firma en el, y para ello utilizaremos el comando Title

Este paso lo haremos directamente abriendo la CMD y escribiendo:
Código:
Title Elektro Junior



Podemos comprobar como la barra de título de la ventana ha cambiado.
10302  Programación / Scripting / Re: Tutorial extendido de aprendizaje Batch en: 4 Noviembre 2012, 15:40 pm
2. CONSEJOS ANTES DE COMENZAR



  • Defínemelo otra vez

Si no entendiste alguna de las definiciones anteriores, es hora de que vuelvas a repasarlas porque todas ellas las vas a tener que poner en práctica muy pronto, y muy a menudo.





  • Pregúntaselo a la CMD

Puedes obtener una lista de la mayoría de comandos internos y externos disponibles en Windows además de una información breve, escribiendo HELP en la CMD.

Todos los comandos existentes en la CMD disponen de un menú de ayuda al que puedes acceder con el parámetro /? de la siguiente manera:

Código:
Comando /?

Los comandos externos (Aplicaciones CLI) también deberían disponer de un menú de ayuda, suelen estar programadas para multi SO y por personas con distintos gustos a la hora de scriptear, por eso los parámetros de ayuda suelen ser distintos, los parámetros más comunes son -h y -help

Código:
Comando -h
Código:
Comando -help

NOTA: Algunas aplicaciones CLI (Mal programadas según mi opinión) distinguen entre mayúsculas y minúsculas por lo que hay que escribir correctamente el parámetro según se indique (-help, -HELP).





  • En busca del error

Si algún script te tira error y desconoces el motivo, hay dos técnicas muy útiles para intentar localizar la causa del error.

1º - Ejecuta el script directamente desde la CMD escribiendo la ruta del script (No haciendo doble click sobre el script), de esta manera la CMD no se cerrará y podrás ver la información del error.

2º - Usa el comando Echo para mostrar el contenido de las variables o los comandos de los que sospeches que están causando el error.

Por ejemplo, tenemos este código que hace una comparación condicional, pero la comparación no nos funciona y no sabemos porqué:
Código:
@Echo OFF
Set "Variable=Valor"
if "%VARIABLE%" EQU "Valoor" (Echo Si)
Pause >NUL

El ejemplo es muy fácil para todos, lo sé, pero si tenemos un código con más de 100 líneas y tenemos las variables desperdigadas por el código, no sabemos donde está cada cosa, etc, etc... la cosa se complica!, por eso esta solución nos servirá en todas esas ocasiones.

Usariamos la línea de la que sospechamos como línea de comentario, y una línea más arriba pegariamos la línea pero usando el comando Echo, para mostrar lo que no podemos ver a simple vista en el script:

Código:
@Echo OFF
Set "Variable=Valor"
ECHO if "%VARIABLE%" EQU "Valoor" (Echo Si)
REM if "%VARIABLE%" EQU "Valoor" (Echo Si)
Pause >NUL



El error salta a la vista, lo hemos encontrado y solucionado.





  • Productividad (1)

Hay que intentar ser productivos con nuestros scripts y adecuar nuestro lugar de práctica,
no es lo mismo empezar a programar nuestro código abriendo el bloc de notas, que hacerlo en un editor de código profesional especializado en ello,
este tipo de editores por lo general te corrigen o te avisan automáticamente de los errores tipográficos que hayas cometido, y creéme, al empezar se cometen demasiados errores.
También colorean las diferentes partes de un código, y eso al principio te ayudará a entender mejor que es cada cosa, y donde dese estar situada.

Un editor de código es la mejor manera para empezar en esto, te ayudará a separar, encontrar, y entender las partes de un script, y aprenderás el manejo en menor tiempo que con el bloc de notas.

Veámos las diferencias que nos aportan cada uno:

Notepad
  • NADA
  • Ah, si... el botón "buscar"  (xD)

Editor
  • Auto-corrección
  • Auto-indentación
  • Auto-completado (de palabras/comandos)
  • Resalto en colores de la sintaxis
  • Colores ajustables de letra y fondo para descansar la vista
  • Un sin fín de opciones variadas que suelen tener cualquier editor como por ejemplo "ordenar lineas", multi-seleccionar líneas o palabras al mismo tiempo, y multi búsquedas.

Si quieres mi recomendación, la mejor elección para codear scripts Batch es el editor Sublime Text Editor, aunque muchos otros optan por el editor Notepad++
Sublime Text > http://www.sublimetext.com/2
Notepad++ > http://notepad-plus-plus.org/





  • Productividad (2)

Seguramente no sepas que puedes crear tu propia plantilla de trabajo personalizada para tus archivos BAT, y seleccionar esta nueva plantilla en el menú contextual de crear nuevos archivos:



Pues así es, se puede conseguir, y con ello se ahorra una considerable cantidad de tiempo si la plantilla está adecuada a tus necesidades...

Aquí tienes mi plantilla por defecto, y un archivo de registro que es necesario para agregar esta nueva opción (Solo lo he testeado en Windows 7).

Plantilla.bat
Código:
@Echo OFF
TITLE Plantilla Batch por defecto by Elektro H@cker

Setlocal enabledelayedexpansion

Set    "VAR="
Set /A "NUM=0"


:: IF "%VAR%" EQU "" (PAUSE)

:: FOR /F "Usebackq Tokens=* Delims=" %%@ IN ("") DO ()
:: FOR /L %%@ IN (0,1,10) DO ()
:: FOR /R %%@ in (*) DO ()
:: FOR %%@ IN () DO ()


Pause&Exit


Plantilla.reg
Código:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.bat\ShellNew]
"NullFile"=""
"Filename"="Plantilla.bat"

[HKEY_CLASSES_ROOT\batfile]
"FriendlyTypeName"="Batch Script"

PD: La plantilla se debe guardar en la ruta C:\Windows\ShellNew\Plantilla.bat para que tenga efecto.





  • Práctica

Llegar a dominar un lenguaje es dificil, por ese motivo te invito a que vayas poniendo a prueba tus avances en la sección de retos de Scripting.

-> Zona de retos Scripting





  • Ética

La programación no fue creada con el fín de hacer el mal, ni virus, ni autoruns, ni nada por el estilo, Aquí puedes aprender lo básico para crear una bomba lógica, pero si buscas un tutorial orientado a dañar sistemas operativos en estas páginas no lo vas a encontrar.

Intentar superarse a uno mismo realizando cada vez scripts más complicados es una cosa genial y llena de mérito!, pero lo que no es tiene nada de mérito es copiar códigos de terceras personas en tu propio beneficio (Buscando puro reconocimiento inmerecido), es un acto de inmadurez el cual personalmente desprecio.

Si copias algo, pide permiso al autor del código, si ves dificil la taréa de contactar con el, pon agradecimientos/créditos en tu code haciendo referencia a los códigos que has obtenido de terceras personas, pues quien sabe si en un futuro llegas a ser un excelente programador y te achacan de copión, lammer, y ladrón, por no haber puesto los créditos necesarios en tus scripts... No cuesta nada!
10303  Programación / Scripting / Re: Tutorial extendido de aprendizaje Batch en: 4 Noviembre 2012, 15:28 pm
1. DEFINICIONES



  • Lenguaje de programación

Cita de: WIKIPEDIA
Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.

También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos.





  • Procesamiento por lotes

Cita de: WIKIPEDIA
Se conoce como sistema por lotes (batch processing), o modo batch, a la ejecución de un programa sin el control o supervisión directa del usuario (que se denomina procesamiento interactivo). Este tipo de programas se caracterizan porque su ejecución no precisa ningún tipo de interacción con el usuario.

Generalmente, este tipo de ejecución se utiliza en tareas repetitivas sobre grandes conjuntos de información, ya que sería tedioso y propenso a errores realizarlo manualmente. Un ejemplo sería el renderizado de los fotogramas de una película.





  • Script

Cita de: WIKIPEDIA
Un script es un programa que por lo regular se almacena en un archivo de texto plano.
Los scripts son casi siempre interpretados, pero no todo programa interpretado es considerado un script.
El uso habitual de los scripts es realizar diversas tareas como combinar componentes, interactuar con el sistema operativo o con el usuario. Por este uso es frecuente que los shells sean a la vez intérpretes de este tipo de programas





  • Comando

Cita de: WIKIPEDIA
Un comando (calco del inglés command, «orden, instrucción» o mandato) es una instrucción u orden que el usuario proporciona a un sistema informático, desde la línea de comandos (como una shell) o desde una llamada de programación. Puede ser interno (contenido en el propio intérprete) o externo (contenido en un archivo ejecutable).

Suele admitir parámetros (argumentos) de entrada, lo que permite modificar su comportamiento predeterminado.





  • CMD (o Consola) (o Shell) (o DOS) (o Símbolo de sistema)

Cita de: WIKIPEDIA
El símbolo del sistema (en inglés Command prompt) es el intérprete de comandos.
Es el equivalente de command.com en MS-DOS y sistemas de la familia Windows 9x.

Muchas funciones que se realizan desde la interfaz gráfica de Windows son enviadas al CMD que es el encargado de ejecutarlas.

NOTA: La CMD se encuentra en la ruta: C:\Windows\System32\CMD.exe





  • BATCH

Batch es un lenguaje secuencial (procesamiento por lotes) por comandos que proviene de la familia de comandos "MS-DOS", el cual puede interactuar perfectamente con Windows,
Batch sirve entre otras cosas para realizar scripts que automaticen taréas comunes del sistema, taréas que nos resultarían dificil hacer a mano como por ejemplo organizar una carpeta usando "reglas" cada X tiempo, automatizar un procedimiento virtual parecido a un "BOT" como sería abrir una página web y clickar cada X tiempo en un lugar, etc, etc, etc...





  • Archivo BAT

"BAT" no es más que la extensión de un archivo, para que la CMD identifique un script escrito en Batch, deberemos añadirle la extensión .BAT, o .CMD al archivo.

Cita de: WIKIPEDIA
un archivo batch es un archivo de procesamiento por lotes. Se trata de archivos de texto sin formato, guardados con la extensión BAT que contienen un conjunto de comandos MS-DOS. Cuando se ejecuta este archivo, —mediante CMD— los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando MS-DOS puede ser utilizado en un archivo batch.

Ésta es la forma de automatizar procesos (copiar, pegar, renombrar y enviar datos) en MS-DOS. De este modo, evitamos procesos rutinarios y monótonos, acelerando los mismos. Tiene la funcionalidad de conectarse con otras interfaces por línea de comandos.

Un tipo batch es un archivo de texto que contiene comandos a ejecutar en un intérprete de comandos propio de DOS o OS/2. Cuando es iniciado, un programa shell —típicamente command.com o cmd.exe— lo lee y ejecuta, generalmente línea a línea. De este modo, se emplea para ejecutar series de comandos automáticamente. El hecho de que funcione sólo para MS-DOS lo hace muy limitado. Su extensión es .bat o .cmd.





  • CLI (CommandLineInterface)

CLI es un término que se refiere a las aplicaciones sin interfaz gráfica.

Una "Aplicación CLI" equivale a decir "Aplicación por línea de comandos", estas aplicaciones son programadas para usarse exclusivamente desde la consola.

Normalmente estas aplicaciones están programadas para que actuen al pasarle un argumento mediante la consola, y suelen especificar su funcionamiento mediante una opción de ayuda en la consola, en los que se indica qué se quiere ejecutar y que hace cada cosa.

Cita de: WIKIPEDIA
Interfaz de Línea de Comandos (CLI), por su acrónimo en inglés de Command Line Interface (CLI), es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple. Debe notarse que los conceptos de CLI, Shell y Emulador de Terminal no son lo mismo, aunque suelen utilizarse como sinónimos.

Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada (archivo batch), leyendo comandos desde un archivo de scripts.





  • Subrutina

Cita de: WIKIPEDIA
una subrutina o subprograma (también llamada procedimiento, función o rutina), como idea general, se presenta como un subalgoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea específica.

Una subrutina al ser llamada dentro de un programa hace que el código principal se detenga y se dirija a ejecutar el código de la subrutina.





  • Argumento (o Parámetro)

Un argumento es un valor que podemos enviarle a una aplicación CLI o a una Subrutina de nuestro archivo bat para que interactuen con dicho valor.

Citar
Un argumento o parámetro es una variable que puede ser recibida por una rutina o subrutina.
Una subrutina usa los valores asignados a sus argumentos para alterar su comportamiento en tiempo de ejecución.





  • Variable

Una variable (En Batch) es un espacio virtual donde podemos guardar información en forma de texto alfabético, numérico, y alfanumérico.
Las variables son uno de los elementos más usados en cualquier lenguaje de programación/scripting, y en Batch las necesitaremos usar casi siempre.

Cita de: WIKIPEDIA
espacio de memoria de un ordenador, necesario para la ejecución de «programas».





  • Variable de entorno de Windows
Son variables predefinidas del sistema.

Cita de: WIKIPEDIA
Es posible acceder al valor de una variable de entorno, ya sea para consultarlo como para modificarlo, tanto dentro de scripts como desde la línea de comandos.

NOTA: Podemos consultar nuestras variables de entorno escribiendo en la CMD:
Código:
Set /?
También podemos crear una variable de entorno con el comando SETX.





  • PATH (Variable de entorno de Windows)

Posiblemente la variable de entorno más importante del sistema, en ella se almacenan las rutas de búsqueda de las aplicaciones y por eso hay que aprender su nombre y su definición.

NOTA: Se pueden añadir más rutas a la variable PATH.





  • String (o Cadena)

Cita de: WIKIPDIA
En programación, una cadena de caracteres, palabra, ristra de caracteres o frase (string en inglés) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto análogas a una frase o a una oración. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos).

Desde un punto de vista de la programación, si no se ponen restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de todo el juego de caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etc). En este mismo ámbito (el de la programación), se utilizan normalmente como un tipo de dato predefinido, para palabras, frases o cualquier otra sucesión de caracteres.





  • Concatenación

Cita de: WIKIPEDIA
Es la operación por la cual dos caracteres se unen para formar una cadena de caracteres (o string).
También se puede concatenar dos cadenas de caracteres o un carácter con una cadena para formar una cadena de mayor tamaño.

NOTA: También se pueden concatenar comandos.





  • Expresión

Cita de: WIKIPEDIA
En programación, una expresión es una combinación de constantes, variables o funciones, que es interpretada de acuerdo a las normas particulares de precedencia y asociación para un lenguaje de programación en particular. Como en matemáticas, la expresión es su valor evaluado, es decir, la expresión es una representación de ese valor.





  • Expresión regular (o REGEXP, o Patrón)

Cita de: WIKIPEDIA
Una expresión regular, a menudo llamada también patrón, es una expresión que describe un conjunto de cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas Handel, Händel y Haendel se describe mediante el patrón "H(a|ä|ae)ndel". La mayoría de las formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el cual se define el lenguaje.





  • Operador

Un operador es un conjunto de caracteres reservados por el lenguaje (normalmente uno, o dos caracteres) que se encarga de realizar ciertas operaciones, como operaciones matemáticas, de asignación, o de desplazamiento.





  • Pseudocódigo

Cita de: WIKIPEDIA
el pseudocódigo (o falso lenguaje) es una descripción de un algoritmo informático de programación de alto nivel compacto e informal que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura en máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código de lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo.

10304  Programación / Scripting / (Tema bloqueado hasta finalizar el tuto) Tutorial extendido de aprendizaje Batch en: 4 Noviembre 2012, 15:25 pm
    EL TUTORIAL Y EL ÍNDICE ESTÁN EN PROCESO...





    ÍNDICE

    Pincha en un tema para ir directamente.

    • Página 1

    • 1. DEFINICIONES

                   Lenguaje de programación
                   Procesamiento por lotes
                   Script
                   Comando
                   CMD (o Consola) (o Shell) (o DOS) (o Símbolo de sistema)
                   BATCH
                   Archivo BAT
                   CLI (CommandLineInterface)
                   Subrutina
                   Argumento (o Parámetro)
                   Variable
                   Variable de entorno de Windows
                   PATH (Variable de entorno de Windows)
                   String (o Cadena)
                   Concatenación
                   Expresión
                   Expresión regular (o REGEXP, o Patrón)
                   Operador
                   Pseudocódigo

    • 2. CONSEJOS ANTES DE COMENZAR

                   Defínemelo otra vez
                   Pregúntaselo a la CMD (Help, /?, -h, -help)
                   En busca del error
                   Productividad 1 (Editores de código)
                   Productividad 2 (Plantillas)
                   Práctica (Retos)
                   Ética

    • 3. LOS PRIMEROS PASOS

                   3.1 Una identidad (Title)[/li][/list]
                   3.2 La voz (Echo, Echo:, Echo+)
                   3.3 El silencio (@, Echo OFF, >NUL)
                   3.4 La escritura ("")
                   3.5 La lectura (REM)
                   3.6 Caminar (GOTO, Pause)
                   3.7 Memorizar (Set)

    • 4. OPERADORES

                   4.1 Operadores de Ejecución condicional   (& && ||)
                   4.2 Operadores de Ejecución condicional simulada  (&= ^= |=)
                   4.3 Operadores de Exclusión (^)
                   4.4 Operadores de Agrupación  ( () )
                   4.5 Operadores de comparación (o Condicionales) (== EQU NEQ LSS LEQ GTR GEQ)
                   4.6 Operadores de desplazamiento lógico (o Redireccionamiento) (> >> < |)
                   4.7 Operadores aritmétricos y de asignación (+ - * / % = += -= *= /= %= >>= <<=)
                   4.8 Otros operadores (@ :: "" % ! ? * . .. \)



    • 6. VARIABLES

                   6.1 Variables especiales (o variables de parámetro) (o variables de argumento)  (%0 %*)
                   6.2 Variables Standard (%%)  (SET, SET /A, SET /P)
                   6.3 Variables expandidas (!!)   (SETLOCAL ENABLEDELAYEDEXPANSION)
                   6.4 Variables de entorno (%%)
                   6.5 Variables de FOR  (%%a)


    compmaraciones
    búcles
    subrutinas
    • 5. SINTAXIS

    comandos
    10305  Programación / Scripting / Re: help bath comando en: 3 Noviembre 2012, 18:00 pm
    Código
    1. @Echo OFF
    2.  
    3. IF /I "%COMPUTERNAME%" EQU "JAVIER" (
    4.  
    5. REM Código
    6.  
    7. )

    Saludos.

    EDITO: Usa títulos descriptivos y evita los títulos de tipo "ayuda" o "help", lee las reglas.
    10306  Programación / Scripting / Re: [RUBY] script para loguearse en una web e ir a una url en: 3 Noviembre 2012, 10:44 am
    ¿El error solo lo tienes al usar ocra?
    prueba así:

    Código
    1. browser.link(:text => /$LINK1_NAME/).click
    2. browser.link(:text => /$LINK2_NAME/).click
    10307  Media / Multimedia / Re: (peticion software)sacar video de pantalla en: 2 Noviembre 2012, 22:46 pm
    Camstudio -> Gratis (y bueno)

    http://camstudio.org/


    Saludos

    10308  Programación / Scripting / Re: [Batch] ayuda en: 2 Noviembre 2012, 20:17 pm
    Código:
    (FOR /R "E:\" %%a in (*.doc) do (copy /y "%%a" "C:\trabajos\"))

    Código:
    (  Búcle /Recursivo en E:\ %Almacenar en variable a% en ( todos los archivos de extensión DOC ) hacer: ( Copiar /ySobreescribir "Archivo.doc guardado en la variable %%a" a "C:\Trabajos\")  )

    o...

    No soy bueno para esto xD

    Código:
    ( POR cada archivo .DOC en E:\ almacenar su nombre en %%a ) y hacer: ( Copiar /ySobreescribir ".DOC guardado en la variable %%a" a "C:\Trabajos\") )

    Edito: Pero bueno, si quieres una traducción literal, aquí la tienes:
    Código:
    (POR /Recursivo "E:\" %%a en (*.doc) hacer (Copiar /Yes "%%a" "C:\Trabajos\"))

    saludos
    10309  Programación / Scripting / Re: [RUBY] script para loguearse en una web e ir a una url en: 2 Noviembre 2012, 19:03 pm
    El intérprete te dice el error, solo hay que pararse a leer, así lo deducí xD, luego busqué en San Google y me topé con esto: http://johnallen.us/?p=278

    fíjate en el nuevo error de la imagen que has posteado, require no puede cargar "win32/registry"

    Ocra no me daba ese error, pero bueno, parece que se a olvidado de incluirla en tu equipo, añade esto al script de antes:
    Código
    1. require 'win32/registry'

    Y usa esta dll para asegurarnos: exoshare.com/download.php?uid=NZ2SSJII

    PD: La dll no hay que meterla en ninguna carpeta, se incluye dentro del exe porque según lei Ocra omite esa dll con Watir, no la incluye y por lo tanto tampoco la registra.

    saludos
    10310  Programación / Scripting / Re: [RUBY] script para loguearse en una web e ir a una url en: 2 Noviembre 2012, 17:29 pm
    El problema es que hay algo que Ocra está omitiendo (según parece algo de AutoIt), y aparte de eso watir se hace complicado de compilar con ocra así que...

    usa el buscador de windows y copia la dll "autoitx3.dll" de la carpeta "win32ole" de Ruby, la copias junto a tu script para añadir manualmente la dll, así:
    Código:
    ocra navegante.rb AutoItX3.dll

    Con este script:
    Código
    1. # -*- coding: ISO-8859-1 -*-
    2.  
    3. require 'watir'
    4. require 'watir-classic'
    5.  
    6. exit if Object.const_defined?(:Ocra)
    7.  
    8. AutoIt_dll = "\"" + File.dirname(__FILE__).gsub("/","\\")+"\\AutoItX3.dll" + "\""
    9.  
    10. if not ARGV.empty? then FILE = ARGV[0] else FILE = 'C:\Windows\Login.txt' end
    11.  
    12. File.open(FILE, 'r+').each_line do |line|
    13.    if line['URL']         then $URL         = line.split('=').last.chomp.force_encoding("ISO-8859-1")        end
    14.    if line['USER_TYPE']   then $USER_TYPE   = line.split('=').last.chomp.force_encoding("ISO-8859-1").to_sym end
    15.    if line['USER_NAME']   then $USER_NAME   = line.split('=').last.chomp.force_encoding("ISO-8859-1")        end
    16.    if line['USER_TEXT']   then $USER_TEXT   = line.split('=').last.chomp.force_encoding("ISO-8859-1")        end
    17.    if line['PASS_TYPE']   then $PASS_TYPE   = line.split('=').last.chomp.force_encoding("ISO-8859-1").to_sym end
    18.    if line['PASS_NAME']   then $PASS_NAME   = line.split('=').last.chomp.force_encoding("ISO-8859-1")        end
    19.    if line['PASS_TEXT']   then $PASS_TEXT   = line.split('=').last.chomp.force_encoding("ISO-8859-1")        end
    20.    if line['BUTTON_TYPE'] then $BUTTON_TYPE = line.split('=').last.chomp.force_encoding("ISO-8859-1").to_sym end
    21.    if line['BUTTON_NAME'] then $BUTTON_NAME = line.split('=').last.chomp.force_encoding("ISO-8859-1")        end
    22.    if line['LINK1_TYPE']  then $LINK1_TYPE  = line.split('=').last.chomp.force_encoding("ISO-8859-1").to_sym end
    23.    if line['LINK1_NAME']  then $LINK1_NAME  = line.split('=').last.chomp.force_encoding("ISO-8859-1")        end
    24.    if line['LINK2_TYPE']  then $LINK2_TYPE  = line.split('=').last.chomp.force_encoding("ISO-8859-1").to_sym end
    25.    if line['LINK2_NAME']  then $LINK2_NAME  = line.split('=').last.chomp.force_encoding("ISO-8859-1")        end
    26. end
    27.  
    28. print "
    29.  
    30. INFO:
    31.  
    32. [+] URL:
    33.    #{$URL}
    34.  
    35. [+] Usuario:
    36.    Atributo = #{$USER_TYPE}
    37.    Nombre   = #{$USER_NAME}
    38.    Texto    = #{$USER_TEXT}
    39.  
    40. [+] Contraseña:
    41.    Atributo = #{$PASS_TYPE}
    42.    Nombre   = #{$PASS_NAME}
    43.    Texto    = #{$PASS_TEXT}
    44.  
    45. [+] Botón:
    46.    Atributo = #{$BUTTON_TYPE}
    47.    Nombre   = #{$BUTTON_NAME}
    48.  
    49. [+] Link 1:
    50.    Atributo = #{$LINK1_TYPE}
    51.    Nombre   = #{$LINK1_NAME}
    52.  
    53. [+] Link 2:
    54.    Atributo = #{$LINK2_TYPE}
    55.    Nombre   = #{$LINK2_NAME}
    56.  
    57. "
    58.  
    59. system("regsvr32 /s AutoIt_dll")
    60.  
    61. browser = Watir::Browser.new
    62. browser.goto($URL)
    63. browser.text_field($USER_TYPE => $USER_NAME).set $USER_TEXT
    64. browser.text_field($PASS_TYPE => $PASS_NAME).set $PASS_TEXT
    65. browser.button($BUTTON_TYPE=> $BUTTON_NAME).click
    66. browser.link($LINK1_TYPE=> $LINK1_NAME).click
    67. browser.link($LINK2_TYPE=> $LINK2_NAME).click
    68. #browser.close
    69.  
    70. system("regsvr32 /u /s AutoIt_dll")

    PD: A mi me tira error todo el rato del OLE porque no tengo internet explorer, pero creo que te debería funcionar como está.

    saludos
    Páginas: 1 ... 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 [1031] 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 ... 1235
    WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines