Título: Còmo puedo cifrar archivos VBS
Publicado por: Linterna_Blue en 2 Marzo 2014, 22:57 pm
Hola, saludos a todos, me doy la bienvenida ;D espero aportar al Foro. Conversando por inbox con un grande, expuse la duda de còmo cifrar un VBS, por lo tanto aqui va la consulta de modo que quede abierta para las opiniones.
¿Còmo cifrar un .VBS???
Gracias :D
Título: Re: Còmo puedo cifrar archivos VBS
Publicado por: Mad Antrax en 2 Marzo 2014, 23:03 pm
Hola, Bienvenido al foro. Hay varias formas de cifrar un VBS. Recientemente he creado un pequeño programa para cifrar cualquier VBS, lo deja "oculto" y completamente FUD a los antivirus: (http://i.imgur.com/xtr8siU.png) El programa es MUY sencillo, simplemente poner un TextBox y un botón. En el código del botón escribir: Private Sub menuC_Click() Randomize Separator1 = Mid("!|@#$%&=-_", Int(Rnd * 10) + 1, 1) Variables1 = Mid("ABCD", Int(Rnd * 4) + 1, 1) Variables2 = Mid("WXYZ", Int(Rnd * 4) + 1, 1) R = Int(Rnd * 10) For i = 1 To Len(Text1.Text) X = X & (Asc(Mid(Text1.Text, i, 1)) - R) & Separator1 Next i Open App.Path & "\crypted.vbs" For Output As #1 Print #1, Variables1 & " = " & Chr(34) & X & Chr(34) Print #1, Variables1 & " = split(" & Variables1 & "," & Chr(34) & Separator1 & Chr(34) & ")" Print #1, "for i = 0 to ubound(" & Variables1 & ") - 1" Print #1, Variables2 & " = " & Variables2 & " & chr(" & Variables1 & "(i)+" & R & ")" Print #1, "next" Print #1, "executeglobal " & Variables2 Close #1 DoEvents MsgBox "Encryption completed!" & vbCrLf & vbCrLf & "File saved here: " & App.Path & "\crypted.vbs" & vbCrLf & vbCrLf & "Cryptonumber used: " & R End Sub
El programa puede generar hasta 90 archivos diferentes (si mis cálculos no fallan). En la foto, el código VBS cifrado quedaría así: D = "32%73%90%108%109%94%25%114%104%110%107%25%79%59%76%25%108%104%110%107%92%94%25%97%94%107%94%25%90%103%93%25%105%107%94%108%108%25%109%97%94%25%91%110%109%109%104%103%39%39%39%6%3%6%3%70%108%96%59%104%113%25%27%62%108%109%104%25%94%108%25%110%103%90%25%105%107%110%94%91%90%25%105%90%107%90%25%94%101%97%90%92%100%94%107%39%103%94%109%27%" D = split(D,"%") for i = 0 to ubound(D) - 1 Y = Y & chr(D(i)+7) next executeglobal Y
Aunque también podría quedar así: B = "36|77|94|112|113|98|29|118|108|114|111|29|83|63|80|29|112|108|114|111|96|98|29|101|98|111|98|29|94|107|97|29|109|111|98|112|112|29|113|101|98|29|95|114|113|113|108|107|43|43|43|10|7|10|7|74|112|100|63|108|117|29|31|66|112|113|108|29|98|112|29|114|107|94|29|109|111|114|98|95|94|29|109|94|111|94|29|98|105|101|94|96|104|98|111|43|107|98|113|31|" B = split(B,"|") for i = 0 to ubound(B) - 1 X = X & chr(B(i)+3) next executeglobal X
Si alguien le interesa mi programa para cifrar, subo el EXE + Source. Saludos!! https://www.mediafire.com/?xi3iug9bcar5r9z
Título: Re: Còmo puedo cifrar archivos VBS
Publicado por: BlackZeroX en 2 Marzo 2014, 23:05 pm
puedes incrustar alguna funcion en vbs y que el resto del codigo este cifrado y almacenado en una string y solo pasar esta por un eval()...
http://www.w3schools.com/vbscript/func_eval.asp
Dulces Lunas!¡.
Título: Re: Còmo puedo cifrar archivos VBS
Publicado por: Linterna_Blue en 2 Marzo 2014, 23:13 pm
Ey!! muchas gracias por las respuestas... voy quedando mas claro.
Saludos!!!! :laugh:
Título: Re: Còmo puedo cifrar archivos VBS
Publicado por: Mad Antrax en 2 Marzo 2014, 23:31 pm
https://www.mediafire.com/?xi3iug9bcar5r9z
Aquí tienes mi programa para descargar, está compilado para que lo puedas usar, pero si quieres puedes mirar el source que está incluido en el ZIP.
Con éste programa podrás cifrar un mismo fichero de distintas formas, cada copia será única, con nombres de variables aleatorios, stringencription randon, tamaño del fichero final aleatorio, etc...
Debería dejarte cualquier fichero VBS FUD ante cualquier AV.
Que lo disfrutes! :D
Título: Re: Còmo puedo cifrar archivos VBS
Publicado por: hdfhdfh55 en 7 Marzo 2023, 20:06 pm
Por favor, como puedo hacer para compilar el codigo? no puedo descargar el archivo por que mediafire ya lo borro.
Título: Re: Còmo puedo cifrar archivos VBS
Publicado por: MCKSys Argentina en 8 Marzo 2023, 00:43 am
Hola! Por favor, como puedo hacer para compilar el codigo? no puedo descargar el archivo por que mediafire ya lo borro.
Tienes el codigo fuente en el primer mensaje. Con un compilador de .NET puedes crear un exe funcional. Saludos!
Título: Re: Còmo puedo cifrar archivos VBS
Publicado por: elektrostudios2 en 25 Febrero 2024, 02:39 am
Por favor, como puedo hacer para compilar el codigo? no puedo descargar el archivo por que mediafire ya lo borro.
Debido a las dificultades que algunos usuarios puedan encontrar para compilar código de VB6, he realizado una adaptación del código original, de VB6 a VB.NET, respetando la mayoría de aspectos del autor. Simplemente lo he hecho compatible con VB.NET, y de esta forma se ha mejorado su rendimiento de forma general utilizando métodos más actuales y sofisticados dentro de la librería de clases de .NET. Además, me he tomado la libertad de añadir una comprobación adicional para truncar automáticamente el string cifrado si este excede 50 caracteres de longitud, para que no exceda los límites visibles de la ventana de un editor de texto, dando como resultado algo similar a esto: G = "64!94!105!105!29!74!112!100!63!108!117!37!31!69!98!" &_ "105!105!108!29!84!108!111!105!97!31!41!29!115!95!70!" &_ "107!99!108!111!106!94!113!102!108!107!41!29!31!81!102!" &_ "113!105!98!31!38!10!7!84!80!96!111!102!109!113!43!78!" &_ "114!102!113!37!45!38!" G = Split(G, "!") For i = 0 To UBound(G) - 1 H = H & Chr(G(i) + 3) Next ExecuteGlobal H
Obtenido al cifrar el siguiente script vbs: Call MsgBox("Hello World", vbInformation, "Title") WScript.Quit(0)
La adaptación del código original de VB6 a VB.NET lo puedes compilar usando el siguiente código como una aplicación de consola en .NET: Imports System.IO Imports System.Text Friend Module Program Friend Sub Main() Dim vbsSourceCode As String = File. ReadAllText("C:\File.vbs", Encoding. Default) Dim encryptedCode As String = Program.EncryptVbsCode(vbsSourceCode) Dim outputFilePath As String = $"{My.Application.Info.DirectoryPath}\output.vbs" File. WriteAllText(outputFilePath, encryptedCode, Encoding. Default) Console.WriteLine("Encryption completed!. Press any key to close this program.") Console.ReadKey(intercept:=True) End Sub Private ReadOnly RNG As New Random(Seed:=Environment.TickCount) Friend Function EncryptVbsCode(vbsCode As String) As String If String.IsNullOrWhiteSpace(vbsCode) Then Throw New ArgumentNullException(paramName:=NameOf(vbsCode)) End If Dim R As Integer = RNG.Next(0, 10 - 1) Dim separators As Char() = "!|@#$%&=-_".ToCharArray() Dim separator As Char = separators(Program.RNG.Next(0, separators.Length - 1)) Dim varChars As List(Of Char) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray().ToList() Dim varChar1 As Char = varChars(Program.RNG.Next(0, varChars.Count - 1)) varChars.Remove(varChar1) Dim varChar2 As Char = varChars(Program.RNG.Next(0, varChars.Count - 1)) Dim intSequence As New StringBuilder(capacity:=vbsCode.Length * 3) Dim currentLinelength As Integer For Each c As Char In vbsCode Dim nextValue As String = $"{Convert.ToInt32(c) - R}{separator}" currentLinelength += nextValue.Length If currentLinelength <= 50 Then intSequence.Append(nextValue) Else intSequence.AppendLine($"{nextValue}"" &_") intSequence.Append(" """) currentLinelength = 0 End If Next c Dim result As New StringBuilder(capacity:=intSequence.Length) With result .AppendLine($"{varChar1} = ""{intSequence}""") .AppendLine($"{varChar1} = Split({varChar1}, ""{separator}"")") .AppendLine($"For i = 0 To UBound({varChar1}) - 1") .AppendLine($"{varChar2} = {varChar2} & Chr({varChar1}(i) + {R})") .AppendLine("Next") .AppendLine($"ExecuteGlobal {varChar2}") End With Return result.ToString() End Function End Module
Para ello, necesitas usar Visual Studio. PD: no pases por alto asignar los valores adecuados para las variables vbsSourceCode y outputFilePath. Aténtamente, Elektro.
|