Hacking Crisis Core: Final Fantasy VII (PSP) – Parte 3

Pubblicato il 5 aprile 2008 alle 01:04 da Brisma

E per concludere questo capitolo temporaneamente mi sembrava d’obbligo pubblicare anche il rearchiviatore. In pratica si tratta sempre dello stesso programma di prima, soltanto che a questo giro al posto di estrarre dal discimg.pkg non farà altro che reinserire i file precedentemente estratti dal dearchiviatore pubblicato qualche giorno fa. Insomma, quanto di più facile si potesse fare :P

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
52
53
/*
 
Crisis Core: Final Fantasy VII Archiviatore 1.0beta
               05/04/2008 - Brisma
 
*/
 
#include <stdio.h>
 
long int offset, dimensione, padding, num_file, num_dummy, i, z = 1;
int buffer[160978944]; // 160978944 è la dimensione del
                       // file più grande (nella versione USA)
char stringa[255];
 
FILE *discimg_fse, *discimg_pkg, *estratto;
 
int main()
  {
  printf("Crisis Core: Final Fantasy VII Archiviatore 1.0beta by Brisma\n\n");
  if(!((discimg_fse=fopen("discimg.fse", "rb")) == NULL))
    {
    if(!((discimg_pkg=fopen("discimg.pkg", "r+b")) == NULL))
      {
      fseek(discimg_fse, 0, SEEK_END);
      num_file=ftell(discimg_fse) / 12;
      fseek(discimg_fse, 0, SEEK_SET);
      for(i = 1; i <= num_file; i++)
        {
        fread(&offset, 4, 1, discimg_fse);
        fread(&dimensione, 4, 1, discimg_fse);
        fread(&padding, 4, 1, discimg_fse);
        if (dimensione > 0)
          {
          printf("Reinserimento file discimg.pkg.%d Offset %X Dimensioni %d byte...", z, offset*2048, dimensione);
          sprintf(stringa, "data\\discimg.pkg.%d", z);
          estratto=fopen(stringa, "rb");
          fseek(discimg_pkg, offset*2048, SEEK_SET);
          fread(&buffer, dimensione, 1, estratto);
          fwrite(&buffer, dimensione, 1, discimg_pkg);
          fclose(estratto);
          printf("[OK]\n");
          z++;
          }
        }
      }
    else printf("Impossibile aprire discimg.pkg\n");
    }
  else printf("Impossibile aprire discimg.fse\n");
  _fcloseall();
  printf("Reinseriti %d file.\n", z);
  getch();
  return 0;
  }

Download Crisis Core: Final Fantasy VII Archiviatore 1.0beta (Eseguibile Win32/Sorgenti C).

6 Commenti a “Hacking Crisis Core: Final Fantasy VII (PSP) – Parte 3”

  1. x.x scrive:

    ma allora, quanto ci metterai per la pacht? (non per metterti fretta)

  2. Brisma scrive:

    Patch di cosa Oo’ ?

  3. x.x scrive:

    per la traduzione del gioco…. :-)

  4. Brisma scrive:

    Perché, chi ha parlato di “traduzione del gioco”? Io non di certo :P

  5. x.x scrive:

    allora ho capito male io!!!sorry!

  6. m scrive:

    qnt occupa?

Lascia un Commento