Member 13244531 Ответов: 1

Вопрос о сжатых файлах для школьного проекта


Мне нужен совет здесь:

У меня есть школьный проект, где мне нужно научиться открывать чтение и запись сжатого файла в каталог на компьютере>

Итак, я зашел так далеко со своим кодом.

#include <iostream>

#include <fstream>

#include <iomanip>

#include <ostream>

#include <string>

using namespace std;

int main(void){

   ofstream ofile;

   // Opening file for writing

   ofile.open ("master.rez");

   if(ofile.is_open()){

   std::cout << ofile << "this line will be written into master.rez."<< endl;

   std::cout << ofile << "this line also will be written into master.rez."<<  endl;

   system("pause");

      ofile.close();

   }else{

      cerr<<"Error opening file!!"<<endl;

   }

   string buf;

   // Opening file for reading

   ifstream ifile;

   ifile.open("master.rez");

   if(ifile.is_open()){

      while(getline(ifile,buf))

      cout<<buf;

      ifile.close();

   }else{

      cerr<<"Error opening file!!"<<endl;

   }

   return 0;

}


Итак, есть мой код, который я могу открыть сжатый файл и прочитать его, а затем снова открыть его с помощью "ifstream" и записать весь сжатый файл в свой каталог, но мне нужно иметь возможность прочитать все файлы внутри сжатого файла, а затем использовать "ifstream" для записи всех файлов из сжатого файла в каталог, как их извлечение.

Вот какие шаги мне нужно предпринять сейчас, чтобы сделать это.

И, кроме того, для будущих условий, если я хочу сделать это с любым сжатым типом файла, пока он не зашифрован, как и какие шаги для этого также нужно предпринять, спасибо. Любая помощь, которую я получу, будет с благодарностью оценена.

Что я уже пробовал:

У меня есть программа для открытия чтения и записи всего файла "master.rez" в мой каталог, где хранится "exe", но мне нужно иметь возможность открыть сжатый файл "master.rez", прочитать его и записать все файлы внутри сжатого файла, известного как "master.rez", в мой каталог, где хранится мой "exe".

Richard MacCutchan

Вам нужно найти документацию, объясняющую формат и структуру файлов .rez.

1 Ответов

Рейтинг:
1

OriginalGriff

Начните с просмотра класса ZipFile: Как сжимать и распаковывать файлы | документы Майкрософт[^]


Member 13244531

Я заглянул в предоставленную вами ссылку, но эти классы предназначены для ".zip && .gzip", так что если вы хотите извлечь файлы из других сжатых форматов файлов, кроме ".zip && gzip", так что мне нужно сначала декомпилировать сжатый файл с помощью "ollydbg или шестнадцатеричного редактора" и искать подпись и находить смещение для того, сколько файлов находится внутри сжатого файла и найти заголовок или?, может кто-нибудь дать мне небольшой учебник, который очень поможет, хорошо, ваша помощь с благодарностью оценена.

OriginalGriff

А как вы думаете, что такое большинство сжатых файлов?

OriginalGriff

Если вы хотите обрабатывать определенные форматы файлов, то вам нужно сделать несколько вещей:
1) точно укажите, с чем вы играете, а не говорите в общих терминах о "сжатых файлах", потому что общие термины имеют значение, которое не применимо к некоторым форматам - так же, как, например, ПЗУ для видеоигр, потому что они не используются вне рамок конкретной модели консоли. В широком мире "сжатые файлы" означают GAR, TAR, ZIP, CAB или RAR, потому что именно с ними приходится иметь дело разработчикам "реального мира".
2) Если вы хотите иметь дело с игровыми ПЗУ, то вам, вероятно, нужно найти сайт, посвященный консолям старых консолей, и форум внутри этого сайта, который занимается ПЗУ - это не "игровой" сайт, а сайт профессиональной разработки, и это совсем другое дело.
3) вы также должны знать, что реверс-инжиниринг ПЗУ нарушает условия авторского права и лицензирования, и что этот сайт имеет некоторые строгие правила в отношении такого рода нарушений (мы разрабатываем программное обеспечение, которое имеет такие авторские права и / или лицензии, поэтому мы не любим людей, которые хотят его нарушить!) Вероятно, вам следует найти менее этичный сайт, иначе вы рискуете быть забаненным на этом сайте.

Member 13244531

Типичный

OriginalGriff

Что типично?