Vota por nosotros en el ranking web que participamos

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Octubre 10, 2008, 04:29:32
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Visual Basic y Net (Moderador: ANYD00M)  |  Tema: Ayuda con la captura de pantalla, POR FAVOR!!!! 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Ayuda con la captura de pantalla, POR FAVOR!!!!  (Leído 606 veces)
Flamareoon
Miembro
*****
Desconectado Desconectado

Mensajes: 60


Ver Perfil
« en: Noviembre 06, 2006, 04:47:41 »

SALUDOSS!!!!! Embarrassed
Estoy haciendo mi propio troyano ya tengo para subir y bajar archivo y ejecurar ,borra y demas.

me falta hacer la captura de la pantalla victimas para espiar, pero no me queda y ya tengo mucho batallando con eso.

ALguien que me pueda pasar un tip por favor, se lo voy a agradecer..... .

GRACIAS Huh Huh Huh Huh Huh
En línea
sNipeR-
Visitante
« Respuesta #1 en: Noviembre 06, 2006, 05:15:41 »

Buen te voy a decir como deves organizar tu piensamiento para hacer la captura de pantalla.
Despues de leeres esto creo k sera mas facil haceres el codigo, sino por lo menos ya sabras como buscarlo en la red.

Para empezar tienes k tener un formulario con una picture box ou image en el client. Esto sera donde veras la sequencia de imagenes como se fuera un video xD.
Despues tienes k enviar al server la orden para k empieze a enviar imagenes. Para k el client reciba las imagenes, el server tendra k hacer 3 cosas:

- Capturar la pantalla (Esto se puede hacer de varias formas)
- Pasar la captura de .bmp a .jpg (Para k no sea muy grande, sino tardaria mucho a pasar las imagenes para tu PC.) Para esto puedes usar un .dll k lo haga. Hay muchos, si kieres kuando lleges a esta parte yo posteo uno k uso.
-Utilizar el mismo codigo del download para enviar las imagenes a tu PC.

Al recibir las imagenes el client solo tiene k las cargar en la picture box o image. No te preocupes en borrar la imagen antigua para recibir una nueva ya k se va a substituir.

Para controlar el tiempo de intervalo entre la recepcion de las imagenes usas un timer, o si kieres k sea el mas rapido posible olvidas los timers y hacen un "If" en k kuando una imagen es recibida pide otra xD

Creo k este minituto no esta dificil de se entiender pero en todo caso se tienes alguna duda ya sabes.

Salu2
« Última modificación: Noviembre 06, 2006, 05:17:44 por $N!PER » En línea
Flamareoon
Miembro
*****
Desconectado Desconectado

Mensajes: 60


Ver Perfil
« Respuesta #2 en: Noviembre 06, 2006, 05:23:37 »

ok muchas gracias por responder ,voy a checar eso  Wink que me dice!!

En línea
Biocode
Habitual
*****
Desconectado Desconectado

Mensajes: 364



Ver Perfil
« Respuesta #3 en: Noviembre 07, 2006, 11:18:51 »

« Última modificación: Noviembre 07, 2006, 11:20:07 por Biocode » En línea
sNipeR-
Visitante
« Respuesta #4 en: Noviembre 07, 2006, 03:16:49 »

jeje no hay problema biocode, personalmente a mi no me gusta ese metodo ya k se trata del clipboard y se la victima hace un paste en un momiento de captura descubre k esta siendo espiada xD
Me gustan mas las APIS pero es solo mi opinion.

Salu2
En línea
Biocode
Habitual
*****
Desconectado Desconectado

Mensajes: 364



Ver Perfil
« Respuesta #5 en: Noviembre 07, 2006, 03:58:00 »

En línea
sNipeR-
Visitante
« Respuesta #6 en: Noviembre 07, 2006, 04:04:36 »

En línea
Flamareoon
Miembro
*****
Desconectado Desconectado

Mensajes: 60


Ver Perfil
« Respuesta #7 en: Noviembre 07, 2006, 05:40:02 »

muchas GRACIAS por sus opiniones

ya me quedo con el Clipboard,

pero si el buen amigo $niper me podrias pas el tip de como hacerlo con los APis se lo voy a agradecer!!!
En línea
MazarD
Visitante
« Respuesta #8 en: Noviembre 07, 2006, 09:53:13 »

En línea
Biocode
Habitual
*****
Desconectado Desconectado

Mensajes: 364



Ver Perfil
« Respuesta #9 en: Noviembre 08, 2006, 06:30:11 »

En línea
sNipeR-
Visitante
« Respuesta #10 en: Noviembre 08, 2006, 09:27:23 »

Ola

Ya no uso este, ahora uso un .cls k hace la captura + conversion con un .dll a jpg.
Creo k con este tendras mas opciones y sera mas livre de usares el .dll de conversion k kieras.
Este es solo para la captura en bmp.

Código:
Option Explicit
Option Base 0

Private Type PALETTEENTRY
   peRed As Byte
   peGreen As Byte
   peBlue As Byte
   peFlags As Byte
End Type

Private Type LOGPALETTE
   palVersion As Integer
   palNumEntries As Integer
   palPalEntry(255) As PALETTEENTRY  ' Enough for 256 colors.
End Type

Private Type GUID
   Data1 As Long
   Data2 As Integer
   Data3 As Integer
   Data4(7) As Byte
End Type

Private Const RASTERCAPS As Long = 38
Private Const RC_PALETTE As Long = &H100
Private Const SIZEPALETTE As Long = 104

Private Type RECT
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type

Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hDC As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hDC As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function GetDeviceCaps Lib "GDI32" (ByVal hDC As Long, ByVal iCapabilitiy As Long) As Long
Private Declare Function GetSystemPaletteEntries Lib "GDI32" (ByVal hDC As Long, ByVal wStartIndex As Long, ByVal wNumEntries As Long, lpPaletteEntries As PALETTEENTRY) As Long
Private Declare Function CreatePalette Lib "GDI32" (lpLogPalette As LOGPALETTE) As Long
Private Declare Function SelectObject Lib "GDI32" (ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function BitBlt Lib "GDI32" (ByVal hDCDest As Long, ByVal XDest As Long, ByVal YDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop As Long) As Long
Private Declare Function DeleteDC Lib "GDI32" (ByVal hDC As Long) As Long
Private Declare Function GetForegroundWindow Lib "USER32" () As Long
Private Declare Function SelectPalette Lib "GDI32" (ByVal hDC As Long, ByVal hPalette As Long, ByVal bForceBackground As Long) As Long
Private Declare Function RealizePalette Lib "GDI32" (ByVal hDC As Long) As Long
Private Declare Function GetWindowDC Lib "USER32" (ByVal hWnd As Long) As Long
Private Declare Function GetDC Lib "USER32" (ByVal hWnd As Long) As Long
Private Declare Function GetWindowRect Lib "USER32" (ByVal hWnd As Long, lpRect As RECT) As Long
Private Declare Function ReleaseDC Lib "USER32" (ByVal hWnd As Long, ByVal hDC As Long) As Long
Private Declare Function GetDesktopWindow Lib "USER32" () As Long

Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Type PicBmp
   Size As Long
   Type As Long
   hBmp As Long
   hPal As Long
   Reserved As Long
End Type

Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long

Public Function CreateBitmapPicture(ByVal hBmp As Long, ByVal hPal As Long) As Picture
  Dim r As Long

   Dim Pic As PicBmp
   ' IPicture requires a reference to "Standard OLE Types."
   Dim IPic As IPicture
   Dim IID_IDispatch As GUID

   ' Fill in with IDispatch Interface ID.
   With IID_IDispatch
      .Data1 = &H20400
      .Data4(0) = &HC0
      .Data4(7) = &H46
   End With

   ' Fill Pic with necessary parts.
   With Pic
      .Size = Len(Pic)          ' Length of structure.
      .Type = vbPicTypeBitmap   ' Type of Picture (bitmap).
      .hBmp = hBmp              ' Handle to bitmap.
      .hPal = hPal              ' Handle to palette (may be null).
   End With

   ' Create Picture object.
   r = OleCreatePictureIndirect(Pic, IID_IDispatch, 1, IPic)

   ' Return the new Picture object.
   Set CreateBitmapPicture = IPic
End Function

Public Function CaptureWindow(ByVal hWndSrc As Long, ByVal Client As Boolean, ByVal LeftSrc As Long, ByVal TopSrc As Long, ByVal WidthSrc As Long, ByVal HeightSrc As Long) As Picture

  Dim hDCMemory As Long
  Dim hBmp As Long
  Dim hBmpPrev As Long
  Dim r As Long
  Dim hDCSrc As Long
  Dim hPal As Long
  Dim hPalPrev As Long
  Dim RasterCapsScrn As Long
  Dim HasPaletteScrn As Long
  Dim PaletteSizeScrn As Long
  Dim LogPal As LOGPALETTE

   ' Depending on the value of Client get the proper device context.
   If Client Then
      hDCSrc = GetDC(hWndSrc) ' Get device context for client area.
   Else
      hDCSrc = GetWindowDC(hWndSrc) ' Get device context for entire
                                    ' window.
   End If

   ' Create a memory device context for the copy process.
   hDCMemory = CreateCompatibleDC(hDCSrc)
   ' Create a bitmap and place it in the memory DC.
   hBmp = CreateCompatibleBitmap(hDCSrc, WidthSrc, HeightSrc)
   hBmpPrev = SelectObject(hDCMemory, hBmp)

   ' Get screen properties.
   RasterCapsScrn = GetDeviceCaps(hDCSrc, RASTERCAPS) ' Raster
                                                      ' capabilities.
   HasPaletteScrn = RasterCapsScrn And RC_PALETTE       ' Palette
                                                        ' support.
   PaletteSizeScrn = GetDeviceCaps(hDCSrc, SIZEPALETTE) ' Size of
                                                        ' palette.

   ' If the screen has a palette make a copy and realize it.
   If HasPaletteScrn And (PaletteSizeScrn = 256) Then
      ' Create a copy of the system palette.
      LogPal.palVersion = &H300
      LogPal.palNumEntries = 256
      r = GetSystemPaletteEntries(hDCSrc, 0, 256, LogPal.palPalEntry(0))
      hPal = CreatePalette(LogPal)
      ' Select the new palette into the memory DC and realize it.
      hPalPrev = SelectPalette(hDCMemory, hPal, 0)
      r = RealizePalette(hDCMemory)
   End If

   ' Copy the on-screen image into the memory DC.
   r = BitBlt(hDCMemory, 0, 0, WidthSrc, HeightSrc, hDCSrc, LeftSrc, TopSrc, vbSrcCopy)

' Remove the new copy of the  on-screen image.
   hBmp = SelectObject(hDCMemory, hBmpPrev)

   ' If the screen has a palette get back the palette that was
   ' selected in previously.
   If HasPaletteScrn And (PaletteSizeScrn = 256) Then
      hPal = SelectPalette(hDCMemory, hPalPrev, 0)
   End If

   ' Release the device context resources back to the system.
   r = DeleteDC(hDCMemory)
   r = ReleaseDC(hWndSrc, hDCSrc)

   ' Call CreateBitmapPicture to create a picture object from the
   ' bitmap and palette handles. Then return the resulting picture
   ' object.
   Set CaptureWindow = CreateBitmapPicture(hBmp, hPal)
End Function

Public Function CaptureScreen() As Picture
  Dim hWndScreen As Long

   ' Get a handle to the desktop window.
   hWndScreen = GetDesktopWindow()

   ' Call CaptureWindow to capture the entire desktop give the handle
   ' and return the resulting Picture object.

   Set CaptureScreen = CaptureWindow(hWndScreen, False, 0, 0, Screen.Width \ Screen.TwipsPerPixelX, Screen.Height \ Screen.TwipsPerPixelY)
End Function

Espero k sirva  Smiley

Salu2
En línea
Flamareoon
Miembro
*****
Desconectado Desconectado

Mensajes: 60


Ver Perfil
« Respuesta #11 en: Noviembre 08, 2006, 10:00:17 »

GRacias nuevamente!!!! SNIPE

voy a estudiar el codigo

 Grin Wink
En línea
H4NG3R
Habitual
*****
Desconectado Desconectado

Mensajes: 290

Mientras todos callavan, alguien grito LIBERTAD!

hanger_69@hotmail.com
Ver Perfil
« Respuesta #12 en: Noviembre 08, 2006, 02:49:11 »

podrias tarducirme este codigo. . .

no encuentro donde se dice onde va la imagen, k e de llamar pirmeor i tal . ..
En línea
sNipeR-
Visitante
« Respuesta #13 en: Noviembre 08, 2006, 02:58:02 »

podrias tarducirme este codigo. . .

no encuentro donde se dice onde va la imagen, k e de llamar pirmeor i tal . ..

Solo tienes k usar la funcion CaptureScreen()

Para k entiendas mejor pone el codigo en un modulo y en un form pone esto:

Private Sub Command1_Click()
   Set Picture1.Picture = CaptureScreen()
End Sub

Tienes k agregar un command1 y una picturebox.

Salu2
En línea
Biocode
Habitual
*****
Desconectado Desconectado

Mensajes: 364



Ver Perfil
« Respuesta #14 en: Noviembre 08, 2006, 06:58:11 »

de donde sacaste ese code Sniper ??

Saludos.
Biocode.
En línea
sNipeR-
Visitante
« Respuesta #15 en: Noviembre 09, 2006, 08:53:16 »

de donde sacaste ese code Sniper ??

Saludos.
Biocode.

Hmm ya no se  Huh
Lo tengo aki desde k me he iniciado en VB. Servia para un programa con opciones de captura de pantalla.

Salu2
En línea
H4NG3R
Habitual
*****
Desconectado Desconectado

Mensajes: 290

Mientras todos callavan, alguien grito LIBERTAD!

hanger_69@hotmail.com
Ver Perfil
« Respuesta #16 en: Noviembre 09, 2006, 12:40:35 »

En línea
Sargazo
Miembro
*****
Desconectado Desconectado

Mensajes: 47


....Sargazo....

elpibedelosastilleros_prsk@hotmail.com
Ver Perfil Email
« Respuesta #17 en: Diciembre 25, 2006, 01:29:13 »

hola, biocode, en el code q pusiste:

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Form_Load()
Clipboard.Clear

keybd_event 44, 0, 0, 0
  keybd_event 44, 0, KEYEVENTF_KEYUP, 0

Do While Clipboard.GetData = False
  DoEvents
Loop

  Pantalla.Picture = Clipboard.GetData

Clipboard.Clear
  SavePicture Pantalla.Picture, "c:\fot.bmp"
End Sub

sino me equivoco las fotos se guardan como .bmp  (en la ante-ultima linea) si se cambiara por .jpg seria mucho mejor xq pesan muchisimo menos.... =)

igual la verdad q me sirve mucho, xq yo recien empiezo con visual basic, estoy a full con un libro y tutos de pags =) y esto me sirve Tongue
En línea

Firma en creacion =) Tuve que desinstalar el photoshop xD
sNipeR-
Visitante
« Respuesta #18 en: Diciembre 25, 2006, 01:43:59 »

hola, biocode, en el code q pusiste:

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Sub Form_Load()
Clipboard.Clear

keybd_event 44, 0, 0, 0
  keybd_event 44, 0, KEYEVENTF_KEYUP, 0

Do While Clipboard.GetData = False
  DoEvents
Loop

  Pantalla.Picture = Clipboard.GetData

Clipboard.Clear
  SavePicture Pantalla.Picture, "c:\fot.bmp"
End Sub

sino me equivoco las fotos se guardan como .bmp  (en la ante-ultima linea) si se cambiara por .jpg seria mucho mejor xq pesan muchisimo menos.... =)

igual la verdad q me sirve mucho, xq yo recien empiezo con visual basic, estoy a full con un libro y tutos de pags =) y esto me sirve Tongue

No, eso no funciona asi.
Todas la imagenes capturadas seran guardadas como bitmap image mismo se le pones .jpg, puede tener una extencion diferente pero el tamano y compression son exactamente las mismas.
Para convertir a .jpg tienes k usar un .dll.

Salu2
En línea
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Visual Basic y Net (Moderador: ANYD00M)  |  Tema: Ayuda con la captura de pantalla, POR FAVOR!!!! « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.6 | SMF © 2006-2007, Simple Machines LLC