Прошел игруху, понравилась музыка, посмотрел на архив - понял что формат ерундовый - написал прогу - извлек музыку, вобщем кому интересно привожу тут код проги.
При желании ее можно переделать под другие архивы, формат других файлов не смотрел, так что там могут попасться запакованные...
![Фотография](https://www.extractor.ru/ipb/public/style_images/master/profile/default_large.png)
Clive Barker's Jericho
Автор
Bourn
, Mar 20 2008 21:18
Сообщений в теме: 3
#1
Отправлено 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](https://ipb.extractor.ru/html/emoticons/smile.gif)
#2
Отправлено 30 March 2008 - 21:16
Bourn молодец, тоесть как я понял большинство форматов можно таким макаром извлекать, просто поменять в исходнике расширение?
#3
Отправлено 05 April 2008 - 07:42
я бы не сказал большинство, но однотипных - да, т.е. смысл в том, что в другом почти аналогичном, но немного отличающемся формате это может не прокатить. К примеру если будет изменен тип структуры для распаковки то программа работать уже не будет и ее надо будет модифицировать.
#4
Отправлено 27 May 2008 - 01:14
Clive Barker's Jericho распаковывает музыку с игры программа Game Extractor.
Правда музыка в формате ogg.
Правда музыка в формате ogg.