Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Progmasterbr en 1 Enero 2016, 14:15 pm



Título: VB: Cómo alinear la posición de dos rectángulos en proyecto Servidor - Cliente?
Publicado por: Progmasterbr en 1 Enero 2016, 14:15 pm
Tengo un problema en relación con dos rectángulos (en servidor y cliente, respectivamente). El rectángulo rojo se dibuja en el lado del servidor, y el rectángulo con un agujero se crea en el lado del cliente. Pero el rectángulo con el agujero que se dibuja en el lado del cliente, nunca se queda en la misma posición que ya se definió en Server.

Todas las sugerencias son bienvenidas.

Por lo tanto, mi resultado hasta ahora esto es:

(http://i.stack.imgur.com/GGKoc.png)

Del lado del servidor

Código:
Dim mRect As Rectangle
Dim d

'=========================== DRAW RECTANGLE IN PICTUREBOX ===================================

    Private Sub PictureBoxREMOTO_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBoxREMOTO.MouseDown
        mRect = New Rectangle(e.X - d.x, e.Y - d.y, 0, 0)
        PictureBoxREMOTO.Invalidate()
    End Sub

    Private Sub PictureBoxREMOTO_MouseMove(sender As Object, e As MouseEventArgs) Handles PictureBoxREMOTO.MouseMove

        If e.Button = Windows.Forms.MouseButtons.Left Then

            Dim gp As New System.Drawing.Drawing2D.GraphicsPath

            mRect = New Rectangle(mRect.Left, mRect.Top, e.X - d.x - mRect.Left, e.Y - d.y - mRect.Top)

            PictureBoxREMOTO.Invalidate()
        End If
    End Sub

    Private Sub PictureBoxREMOTO_Paint(sender As Object, e As PaintEventArgs) Handles PictureBoxREMOTO.Paint
        Dim mRect2 = New Rectangle(mRect.Location, mRect.Size)
        mRect2.Offset(d)

        Using pen As New Pen(Color.Red, 3)
            e.Graphics.DrawRectangle(pen, mRect2)
        End Using
    End Sub

    Private Sub PictureBoxREMOTO_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBoxREMOTO.MouseUp

        Dim MENSAJE As String = "HOLE:" & mRect.Left & ":" & mRect.Top & ":" & e.X - d.x - mRect.Left & ":" & e.Y - d.y - mRect.Top
        ENVIO = System.Text.Encoding.UTF7.GetBytes(MENSAJE)

        'mRect = New Rectangle(e.X - d.x, e.Y - d.y, 0, 0)
        'PictureBoxREMOTO.Invalidate()

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        d = PictureBoxREMOTO.PointToClient(PictureBoxREMOTO.Location)
    End Sub

    '=========================================================================================



Lado del cliente

Código:
Private j As Integer
Private z As Integer
Private l As Integer
Private m As Integer

Private Sub DDMain()
        BeginInvoke(New Action(AddressOf Rise_DD))
    End Sub

    Private Sub Rise_DD()

            Form2.m = j
            Form2.n = z
            Form2.o = l
            Form2.p = m

            Form2.Button1_Click(Me, Nothing)

    End Sub


Public Sub ORDENES(ByVal ORDEN As String)

            Dim PARTES As String() = ORDEN.Split(":")
            POSICIONX = PARTES(1)
            POSICIONY = PARTES(2)
            Cursor.Position = New Point(POSICIONX, POSICIONY)

            Select Case PARTES(0)


                Case "HOLE"

                    'Coordinates of rectangle drawn on Server

                    j = PARTES(1)
                    z = PARTES(2)
                    l = PARTES(3)
                    m = PARTES(4)

                    DDMain()

                    'MessageBox.Show(PARTES(1) & " - " & PARTES(2) & " - " & PARTES(3) & " - " & PARTES(4)) 'Coordinates of rectangle drawed on Server

            End Select

    End Sub


Form2 del lado del cliente

Código:
Public m As Integer
Public n As Integer
Public o As Integer
Public p As Integer

    Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim mRect As Rectangle

        Dim gp As New System.Drawing.Drawing2D.GraphicsPath

        gp.AddRectangle(New Rectangle(0, 0, Me.Width, Me.Height))

        mRect = New Rectangle(m, n, o, p)

        gp.AddRectangle(mRect)

        Me.Region = New Region(gp)

        Me.Invalidate()

    End Sub


Título: Re: VB: Cómo alinear la posición de dos rectángulos en proyecto Servidor - Cliente?
Publicado por: El Benjo en 2 Enero 2016, 20:07 pm
Creo que no se te ha entendido exactamente lo que haces, ¿puedes describir los pasos tanto del lado del cliente como del lado del servidor?


Título: Re: VB: Cómo alinear la posición de dos rectángulos en proyecto Servidor - Cliente?
Publicado por: Progmasterbr en 2 Enero 2016, 21:20 pm
Aquí

(http://tempsend.com/B7B870ADCA/4A2E/CLIENT_SERVER%20EXAMPLE.rar (http://tempsend.com/B7B870ADCA/4A2E/CLIENT_SERVER%20EXAMPLE.rar))

os dejo el enlace para descargar este ejemplo. Así que usted comprenderá mejor.
No virus, sólo el código fuente.


Título: Re: VB: Cómo alinear la posición de dos rectángulos en proyecto Servidor - Cliente?
Publicado por: El Benjo en 3 Enero 2016, 06:54 am
Bueno, nos dejas en la misma, porque aunque sabemos que quieres hacer un RAT, no especifícas qué es lo que quieres hacer con la imagen que recibes. Al parecer lo que dices es que la imagen aparece en distintas posiciones dentro del formulario o el picturebox, pero no entiendo por qué haces que varíe la localización de la imagen, ¿qué función debe cumplir eso o para qué? Explica qué es lo que pretendes, porque tu código es bastante ilegible, además de que no lo tienes comentado.

Si lo que quieres es que la imagen no cambie de posisión entonces dibújala con la posición fija en las coordenas (0, 0).

Saludos y por favor intenta dejar más claro lo que tu código pretende hacer para así poderte ayudar.


Título: Re: VB: Cómo alinear la posición de dos rectángulos en proyecto Servidor - Cliente?
Publicado por: Progmasterbr en 3 Enero 2016, 19:40 pm
Already solved. Thank you friend.