• XSS.stack #1 – первый литературный журнал от юзеров форума

Микролиба архиватора на си

xChimera

Malware...
Пользователь
Регистрация
19.08.2024
Сообщения
781
Реакции
551
Гарант сделки
2
Депозит
0.0282
пароль xss.pro
 

Вложения

  • arch.zip
    2.1 КБ · Просмотры: 29
Код, конечно, местами пздц. Например вот:
C:
BOOL SaveFile(char* path, char* data, DWORD data_size)
{
    HANDLE hFile = CreateFileA(path, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);

    if(!hFile) return 0;
    
    DWORD wr = 0;

    int ret = WriteFile(hFile, data, data_size, &wr, 0);

    CloseHandle(hFile);

    if(!ret)
    {
        return 0;
    }
    else
    {
        return 1;
    }
}

Так же не поддерживается юникод, что повлечет за собой проблемы при работе с названиями, содержащими иероглифы и другие символы юникода.
Я бы не назвал это архиватором, из структуры просто формируется бинарный блоб и сохраняется на диск, затем происходит его парсинг.
 
Не удачная попытка изобрести TAR
И не архиватор это никакой и не либа даже и не микро вовсе.
Код, конечно, местами пздц
К подписи ТС появились вопросы 🧐
 
Код, конечно, местами пздц. Например вот:
C:
BOOL SaveFile(char* path, char* data, DWORD data_size)

Так же не поддерживается юникод, что повлечет за собой проблемы при работе с названиями, содержащими иероглифы и другие символы юникода.
Я бы не назвал это архиватором, из структуры просто формируется бинарный блоб и сохраняется на диск, затем происходит его парсинг.
Нашел до чего доебаться, это я тестил, смотрел как в хексе выглядит, нормально ли все внешне, в заголовочном файле этой функции нет, как и мейна, закоментить их надо было видимо для приличия
 
Последнее редактирование:
Не удачная попытка изобрести TAR
И не архиватор это никакой и не либа даже и не микро вовсе.
А мне в падлу было искать что то, я решил накостылять так, моя цель была просто объединить кучу файлов в один, что бы не мучаться с передачей между процессами


не грузите фаилы в память целиком ... прочитал кусок - обработал - записал - взял следущий кусок.
Это понятно, там файлы мелкие по 40 - 160 кб, потому пофиг
 
К подписи ТС появились вопросы 🧐
Надеюсь пропадут после написания статьи😉 , а может появятся новые, всяко не корректно судить человека по малому, да и учиться всегда есть чему

Да и в целом я это вкинул на форум ради прикола, подумал что комуто может пригодится
 
Я бы не назвал это архиватором, из структуры просто формируется бинарный блоб и сохраняется на диск, затем происходит его парсинг.
Мне стоило название темы примерно так и обозначить
 
Пожалуйста, обратите внимание, что пользователь заблокирован
C:
HANDLE hFile = CreateFileA(path, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if(!hFile) return 0;
а при каком случае возвращается 0? Когда фейлит возвращает INVALID_HANDLE_VALUE, то есть -1.
 
C:
HANDLE hFile = CreateFileA(path, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if(!hFile) return 0;
а при каком случае возвращается 0? Когда фейлит возвращает INVALID_HANDLE_VALUE, то есть -1.
Упустил момент, на автомате проверки на 0 пихаю везде
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх