elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 51
291  Programación / Programación Visual Basic / Re: Problema con matrices en: 25 Agosto 2007, 17:02 pm
Me funciono perfectamente tu idea ;D ;D muchas gracias :xD

He incluso no tengo que modificar la funcion, puedo pasar el array de bytes filedata(1).datos perfectamente con la funcion Function convertirBytes (ByRef una_matriz() As Byte), no hace falta que haga como decias tu Function convertirBytes (ByRef una_matriz() As otramatriz) As Long  ;D

Saludos ;)
292  Programación / Programación Visual Basic / Enviar clicks raton en un troyano 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 ;)
293  Programación / Programación Visual Basic / Re: Problema con matrices en: 25 Agosto 2007, 13:54 pm
mmm, no había pensado en eso, gracias pienso que debe funcionar, lo pruevo y ya te digo

Gracias y un saludo ;)
294  Programación / Programación Visual Basic / Problema con matrices en: 24 Agosto 2007, 00:15 am
Weno, pues explico mi problema a ver si se entiende:

A mi me gustan las matrices dentro de otras matrices, y lo que quiero es tener varios archivos en matrices de esta forma:

filedata(0)(1 to FileLen(file1))
filedata(1)(1 to FileLen(file2))
filedata(2)(1 to FileLen(file3))
filedata(3)(1 to FileLen(file4))
filedata(4)(1 to FileLen(file5))


Una matriz filedata, cada elemento de la matriz es una matriz que contiene un array de bytes de cada archivo

Eso consigo hacerlo, lo malo es que tengo que declarar esto:

Código
  1. Dim i As Long
  2. Dim file(0 to 3) As String
  3. file(1) = "C:\archivo1.txt"
  4. file(2) = "C:\archivo2.txt"
  5. file(3) = "C:\archivo3.txt"
  6. ReDim filedata(0 to numerodearchivos) As Variant
  7. For i = LBound(file) to UBound(file)
  8. ReDim tempfiledata(0 to FileLen(file(i)) - 1) As Byte
  9. filedata(i) = tempfiledata
  10. Erase tempfiledata
  11. Next i

Weno, como veis tengo que utilizar una matriz tempfiledata temporal, pero este no es el mayor problema, sino que si tengo que pasar esta matriz a una funcion pues me da un error:

Imaginaros esta funcion:

Código
  1. Function convertirBytes (ByRef filedata() As Byte) As Long
  2. 'Ahora aki iria cualkiera cosa, el argumento lo paso ByRef pork las matrices hay que pasarlas siempre ByRef
  3. End Function

Pues cojed el primer code que puse, pues si después llamo a la funcion así me da un error:

Código
  1. Call convertirBytes (filedata(0))

En teoría filedata(0) es un array de bytes, y la funcion es lo que pide, pero me da un error. Yo creo que el error se debe a que filedata está declarada como Variant...pero la tengo que declarar como Variant para después poder meter dentro el array de bytes...Si la declaro como Byte despues no puedo meter dentro un array de Bytes...

La unica solución que encontré fue algo parecido a lo que hice al principio, usar una matriz temporal. Llamaría a la funcion de esta forma:

Código
  1. ReDim tempfiledata (LBound(filedata(0)) to UBound(filedata(0))) As Byte
  2. tempfiledata = filedata(0)
  3. Call convertirBytes (tempfiledata)
  4. Erase tempfiledata

Entonces así si que me funcionaría...pero imaginate que tengo que llamar a muchas funciones y tengo muchos archivos y grandes (es decir, muchos array de bytes), pues entonces andar pasando grandes cantidades de bytes a variables temporales reducen la velocidad de la aplicación...

Por eso me gustaría que me dierais posibles solucíones, lo importante es pasar a una funcion que pide un array de bytes pues eso, un array de bytes que está contenida en otra matriz...más claro no lo puedo decir...


Weno, si alguien me puede ayudar que escriba algo, espero vuestra ayuda, un saludo ;)
295  Programación / Programación Visual Basic / Re: presionar boton de aplicacion ajena sabiendo su hwnd clase y caption en: 18 Agosto 2007, 21:02 pm
Pienso que tienes que utilizar la API SendMessage pero no estoy seguro
296  Programación / Programación Visual Basic / Re: Obtener información sobre la placa base y grafica en: 16 Agosto 2007, 21:32 pm
Claro que es desde VB...si no no lo hubiera puesto en este foro...

Saludos ;)
297  Programación / Programación Visual Basic / Obtener información sobre la placa base y grafica en: 16 Agosto 2007, 16:04 pm
Weno, pues eso, como puedo obtener el modelo, marca, etc... de la placa base y de la gráfica...se hacerlo del procesador, pero de la grafica y de la placa no...

Saludos ;)
298  Programación / Programación Visual Basic / Re: Formula resolvente :S:S:S:S en: 14 Agosto 2007, 23:24 pm
Si weno, entonces el problema era de la formula...

Pero aún así deciros que no es correcto esto:

Código
  1. Dim x1, x2, a, b, c As Double

Pues aí estas declarando variables "Variant", y hay que evitar el uso de variables Variant..., por eso mejor:

Código
  1. Dim x1 As Double, x2 As Double, a As Double, As Double, b As Double, c As Double

Pero claro...eso no influye en el resultado final...pero si en el rendimiento...

Saludos ;)
299  Programación / Programación Visual Basic / Re: Formula resolvente :S:S:S:S en: 13 Agosto 2007, 23:22 pm
No tengo tiempo para probarlo, pero puede ser por esta linea:

Código
  1. Dim x1, x2, a, b, c As Double

Aí no estas declarando 5 variables 'Double', estas declarando 4 Variant y una Double, Prueva así:

Código
  1. Dim x1 As Double, x2 As Double, a As Double, As Double, b As Double, c As Double

Pero no estoy seguro, puede que sea de esto:

Código
  1. Private Sub Command1_Click()
  2. Dim x1 As Double, x2 As Double, a As Double, As Double, b As Double, c As Double
  3. a = Text1.Text
  4. b = Text2.Text
  5. c = Text3.Text
  6. x1 = ((-1 * b) + (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
  7. x2 = ((-1 * b) - (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
  8. Text4.Text = x1
  9. Text5.Text = x2
  10. End Sub
300  Programación / Programación Visual Basic / Re: Formula resolvente :S:S:S:S en: 13 Agosto 2007, 21:59 pm
Explica más...pero creo k te refieres a esto:

Código
  1. Private Sub Command1_Click()
  2. Dim x1, x2, a, b, c As Double
  3. Text1.Text = a
  4. Text2.Text = b
  5. Text3.Text = c
  6. x1 = ((-1 * b) + (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
  7. x2 = ((-1 * b) - (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
  8. Text4.Text = x1
  9. Text5.Text = x2
  10. End Sub

Saludos ;)
Páginas: 1 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 51
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines