Перейти к содержимому


Внимание!

Это форум по извлечению ресурсов из игр: музыки, звуков, текстур, 3D-моделей...
Перед поиском ответов на форуме, рекомендуется ознакомиться с основным сайтом EXTRACTOR.ru!
[ Прочтите внимательно - правила создания тем и ответа в них ]
Все вопросы по запуску игр задавайте в другом месте: Установка и запуск игр.


Фотография

Clive Barker's Jericho


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Bourn

Bourn

    Старший сержант

  • Пользователи
  • 74 сообщений
  • Город:Нижний Новгород

Отправлено 20 March 2008 - 21:18

Прошел игруху, понравилась музыка, посмотрел на архив - понял что формат ерундовый - написал прогу - извлек музыку, вобщем кому интересно привожу тут код проги.
При желании ее можно переделать под другие архивы, формат других файлов не смотрел, так что там могут попасться запакованные...
Код

#include <windows.h>
#include <stdio.h>

const char Name[]="J:\\Games\\Clive Barker's Jericho\\Music.packed";
const char Save[]="H:\\ogg\\";  //dir 'Music' must be created!!! for example: H:\ogg\music\

int main()
{
char Sign[8]={0};
long Count=0,StrBufCount=0,Size=0,Offs=0,LastPos=0;
char *FName=NULL,FFName[4096]={0};
void *Buff=NULL;

FILE *file;
file=fopen(Name,"rb");
fread(Sign,8,1,file);
fread(&Count,sizeof(Count),1,file);
for(long i=0;i<Count;i++)
{
 fread(&StrBufCount,sizeof(StrBufCount),1,file);
 FName=new char[StrBufCount+1];
 FName[StrBufCount]=0;
 fread(FName,StrBufCount,1,file);
 fread(&Size,sizeof(Size),1,file);
 Buff=new char[Size];
 fread(&Offs,sizeof(Offs),1,file);
 LastPos=ftell(file);
 fseek(file,Offs,SEEK_SET);
 fread(Buff,Size,1,file);
 fseek(file,LastPos,SEEK_SET);
 strcpy(FFName,Save);strcat(FFName,FName);
 FILE *tmp=fopen(FFName,"wb");
 fwrite(Buff,Size,1,tmp);
 fclose(tmp);
 delete[] FName,Buff;
 printf("Created file: %s;\tSize: %d\n",FFName,Size);
}
fclose(file);
printf("Operation complete!\n");
return 0;
}


P.S. код без проверок, кому надо - могут добавить smile.gif

#2 Mihan

Mihan

    Старший сержант

  • Пользователи
  • 43 сообщений

Отправлено 30 March 2008 - 21:16

Bourn молодец, тоесть как я понял большинство форматов можно таким макаром извлекать, просто поменять в исходнике расширение?


#3 Bourn

Bourn

    Старший сержант

  • Пользователи
  • 74 сообщений
  • Город:Нижний Новгород

Отправлено 05 April 2008 - 07:42

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

#4 Dr_Nakhe

Dr_Nakhe

    Сержант

  • Пользователи
  • 20 сообщений

Отправлено 27 May 2008 - 01:14

Clive Barker's Jericho распаковывает музыку с игры программа Game Extractor.
Правда музыка в формате ogg.