add binary file

Тема в разделе "WASM.WIN32", создана пользователем qwqwqwqw, 10 апр 2009.

  1. qwqwqwqw

    qwqwqwqw New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2009
    Сообщения:
    54
    доброго времени суток!
    скажите как можно добавить к проекту vc 6 бинарный файл чтобы его можно было использовать
    например извлечь в папку ... например как это сделано у самораспаковывающихся файлов
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Добавить в ресурсы?
     
  3. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    qwqwqwqw
    дописать в конец exe-файла
     
  4. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    в WinHEX есть копирование данных в виде исходника С
    выделяешь весь файл, edit>copy block->C source
    получаешь в буфере обмена текст
    unsigned char data[...] = { ... };
    вставляешь его в исходник дроппера, и получаешь чтото такое
    Код (Text):
    1. #pragma comment(linker,"/entry:main")
    2. #include <Windows.h>
    3. char filename[]="hi.exe";
    4. const int filesize = 133;
    5. unsigned char data[133] = { // *__hellow.exe by Mikl_
    6.     0x4D, 0x5A, 0x00, 0x00, 0x50, 0x45, 0x00, 0x00, 0x4C, 0x01, 0x01, 0x00, 0x4D, 0x65, 0x73, 0x73,
    7.     0x61, 0x67, 0x65, 0x42, 0x6F, 0x78, 0x41, 0x00, 0x40, 0x00, 0x0F, 0x01, 0x0B, 0x01, 0x75, 0x73,
    8.     0x65, 0x72, 0x33, 0x32, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x6A, 0x00, 0xB8, 0x29, 0x00, 0x00, 0x00,
    9.     0xB8, 0x49, 0x00, 0x40, 0x00, 0x50, 0xEB, 0x0C, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00,
    10.     0x04, 0x00, 0x00, 0x00, 0x50, 0x6A, 0x00, 0xEB, 0x05, 0x48, 0x69, 0x00, 0x04, 0x00, 0xFF, 0x15,
    11.     0x74, 0x00, 0x40, 0x00, 0xC3, 0x03, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
    12.     0x02, 0x00, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
    13.     0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    14.     0x1E, 0x00, 0x00, 0x00, 0x74
    15. };
    16. int main() {
    17.     HANDLE hFile=CreateFileA(filename,GENERIC_WRITE,0,0,CREATE_ALWAYS,0,0);
    18.     DWORD written;
    19.     WriteFile(hFile,data,filesize,&written,0);
    20.     CloseHandle(hFile);
    21.     WinExec(filename,0);
    22. }
     
  5. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Мой любимый способ:
    Код (Text):
    1. ;file.asm
    2. format ms coff
    3. public f as '_filedata'
    4. public n as '_filesize'
    5. f file 'file.dat'
    6. n dd $ - f
    7.  
    8. // foo.c
    9. extern uint8_t filedata[];
    10. extern size_t filesize;
    11.  
    12. // cl foo.c file.obj
    Достоинства: можно сделать нормальный makefile, который при изменении file.dat будет автоматом перекомпилировать file.obj.