Форум программистов, компьютерный форум CyberForum.ru

Можно ли записать файл в срытый раздел диска? - C++

Восстановить пароль Регистрация
 
antiraper
Заблокирован
30.08.2013, 23:55     Можно ли записать файл в срытый раздел диска? #1
Можно ли записать файл в срытый раздел диска? Всмысле нет у раздела буквы он скрыт, если простым языком, в 7-ке раздел создается автоматом насколько я знаю, нужна данная весчь для того что бы сохранять пару строк конфигурации, дабы не конфликтовать с deep freeze или восстановлением системы. Если скажите что пишу вирус, то сразу нет, домашнее задание при устройстве на работу. Уже все прогуглил перечитал(( ничего дельного не нашел...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2013, 23:55     Можно ли записать файл в срытый раздел диска?
Посмотрите здесь:

Как можно рисунок из PaintBox записать в файл? C++
C++ Дан файл. Записать в другой файл строки, которые являются палиндромами.
C++ Дан символьный файл f. Записать в файл g элементы файла f в обратном порядке
Дан символьный файл f. Записать в файл g компоненты файла f в обратном порядке C++
Файл: Создать файл и записать в него обратные натуральные числа 1,1/2,...1/n. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14191 / 6206 / 985
Регистрация: 02.05.2013
Сообщений: 10,339
Завершенные тесты: 1
31.08.2013, 19:25     Можно ли записать файл в срытый раздел диска? #2
Цитата Сообщение от antiraper Посмотреть сообщение
Можно ли записать файл в срытый раздел диска?
Можно.

Цитата Сообщение от antiraper Посмотреть сообщение
Уже все прогуглил перечитал(( ничего дельного не нашел...
CreateFile
DeviceIoControl
Disk Management Control Codes
Volume Management Control Codes

Можно открыть нужный диск/раздел и писать/читать напрямую в сектора.
Правда, с некоторыми ограничениями. Описано здесь:
http://msdn.microsoft.com/en-us/libr.../jj856974.aspx
antiraper
Заблокирован
01.09.2013, 03:14  [ТС]     Можно ли записать файл в срытый раздел диска? #3
ок, уже сам копаю в эту сторону, но спасибо огромное) на небольшой пример мне надеятся полагаю не стоит, буду разбирать

Добавлено через 6 часов 39 минут
Что то не выходить получить если по русски метку тома, у которого нет буквы(( а потом сделать запись, мб кто еще подскажет?
Убежденный
Системный программист
 Аватар для Убежденный
14191 / 6206 / 985
Регистрация: 02.05.2013
Сообщений: 10,339
Завершенные тесты: 1
01.09.2013, 11:08     Можно ли записать файл в срытый раздел диска? #4
Цитата Сообщение от antiraper Посмотреть сообщение
Что то не выходить получить если по русски метку тома, у которого нет буквы
Каким способом пытаетесь это делать ?
antiraper
Заблокирован
12.09.2013, 03:54  [ТС]     Можно ли записать файл в срытый раздел диска? #5
Убежденный,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
46
47
48
49
50
51
  DWORD cc = MAX_PATH + 1;
    TCHAR vl[MAX_PATH] = "";
    PCHAR nm = new BYTE [cc * sizeof(TCHAR)];
    char DataBuffer[] = "This is some test data to write to the file.";
        DWORD dwBytesToWrite = (DWORD)strlen((Memo1->Text).c_str());
    DWORD dwBytesWritten = 0;
    HANDLE vH = FindFirstVolume(vl, MAX_PATH);
    if(vH!=INVALID_HANDLE_VALUE)
    for(;;)
       {
        nm[0] = 0;
        GetVolumePathNamesForVolumeName(vl, nm, cc, &cc);
         //       Memo3->Lines->Add(vl);
        //        Memo3->Lines->Add(cc);
                //+" "+nm+" "+cc );
        if(cc<=1)
        {
 
                    //     ShowMessage("2");
            strcat(vl, "settings.ini");
            HANDLE hFile= CreateFile(   vl,
                                        GENERIC_READ|GENERIC_WRITE,
                                        0,
                                        NULL,
                                        CREATE_ALWAYS,
                                        FILE_ATTRIBUTE_NORMAL,
                                        NULL);
            DWORD er = GetLastError();
//          if(er==0)
                {
                    printf("File created to %s \n", vl);
                    BOOL bErrorFlag = WriteFile(
                                hFile,           // open file handle
                                (Memo1->Text).c_str(),      // start of data to write
                                dwBytesToWrite,  // number of bytes to write
                                &dwBytesWritten, // number of bytes that were written
                                NULL);            // no overlapped structure
                    printf("Writed to them: %s\n", DataBuffer);
 
 
                    if( TRUE == ReadFile(hFile, DataBuffer, dwBytesToWrite-1, &dwBytesWritten, NULL) )
                    printf("And readed OK");
                }
             // Sleep(10000);
            CloseHandle(hFile);
        }
        vl[0] = 0;
        BOOL sc=FindNextVolume(vH, vl, MAX_PATH);
        if(!sc)break;
       };
    FindVolumeClose(vH);

сделал так в консоли работает, работает и в builder 6, но там с юникодом все плохо( поставил xe2 и не могу добиться записи юникода в файл... мб все же есть способ в перенести сей код в xe2 и писать юникод, у меня пока не выходит...
Alexey555
0 / 0 / 0
Регистрация: 12.08.2015
Сообщений: 12
18.09.2015, 10:37     Можно ли записать файл в срытый раздел диска? #6
Все имейте ввиду, что antiraper - кидала Недобросовестные исполнители
Yandex
Объявления
18.09.2015, 10:37     Можно ли записать файл в срытый раздел диска?
Ответ Создать тему
Опции темы

Текущее время: 23:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru