Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.
Zero Tolerance for Disrespect

[Xbox 360 + PlayStation 3] Rio the Video Game // GoldenEye 007 Reloaded - .edb, .geo, .dat

Featured Replies

▂ ▃ ▅ ▆ █ SAMPLES █ ▆ ▅ ▃ ▂

A majority of the samples above are of the Rio movie game as that game seems to be the last Eurocom game to use the .edb archive files. Regarding GoldenEye 007 Reloaded on the other hand as the only other game I sampled from, it has a whole lot of .dat's and some .geo's in there as well. I've looked at Disney Universe as well and it was pretty much the same deal.

Other than that tidbit, there is in fact a ripping tool for the Eurocom games called Eurochef but it only supports a number of uncompressed/unencrypted games throughout the 2000's. Not any before then and not any after the fact either, including the ones I've mentioned due to them being compressed/encrypted. It should probably help y'all in cracking at least Rio's .edb's and maybe GoldenEye if lucky

Edited by ColbyDash

  • 3 weeks later...
  • Supporter

So here is what i got so far. But still can't figure out compression algo. But it's compressed for sure.

//------------------------------------------------
//--- 010 Editor v14.0 Binary Template
//
//      File: 
//   Authors: 
//   Version: 
//   Purpose: 
//  Category: 
// File Mask: 
//  ID Bytes: 
//   History: 
//------------------------------------------------
BigEndian();OutputPaneClear();

local uint32 i,j,k,l;

struct
{
    char GEOMSign[4];
    ubyte Unknown_0;
    ubyte Unknown_1;
    uint16 Unknown_2;
    uint32 Unknown_3;
    uint32 Unknown_4;
    uint32 Unknown_5;
    uint32 FileSize;
    uint32 Unknown_6;
    char Unknown_7[4];
    uint32 Unknown_8;
    uint32 Unknown_9;
    uint32 ResourceDefOffset;
    uint32 EoF;
    uint32 Unknown_10;
    uint32 Unknown_11;
    uint32 Unknown_12;
}Info;

struct
{
    uint32 TOCDataSize;
    byte TOCData[TOCDataSize - 4];
}UnknownTOC;


FSeek(Info.ResourceDefOffset);
struct
{
    uint32 ResourceCount;
    uint32 Unknown_0;
    uint32 Unknown_1;
    uint32 ResourceTOCSize;
    uint32 ResourceNameDefOffset[ResourceCount];
    
    struct
    {
        uint32 ResourceNameOffset;
        ubyte Unknown_0;
        ubyte Unknown_1;
        ubyte Unknown_2;
        ubyte Unknown_3;
        uint32 ResourceNameHash<format=hex>;
        uint32 Reserved;
        local uint32 cPos=FTell();
        
        FSeek(startof(ResourceDefinition) + ResourceNameOffset);
        string ResourceName;
        FSeek(cPos);
    }ResourceDefinition[ResourceCount]<optimize=false>;
}ResourceDefinition;


FSeek(startof(UnknownTOC) + sizeof(UnknownTOC));
struct
{
    uint32 Offset;
    uint32 Size;
    uint32 DecompressedSize; // 0 means uncompressed so it use Size
    uint32 Reserved;
}ResourceDataDefinition[ResourceDefinition.ResourceCount];
  • Author
1 hour ago, h3x3r said:

So here is what i got so far. But still can't figure out compression algo. But it's compressed for sure.

//------------------------------------------------
//--- 010 Editor v14.0 Binary Template
//
//      File: 
//   Authors: 
//   Version: 
//   Purpose: 
//  Category: 
// File Mask: 
//  ID Bytes: 
//   History: 
//------------------------------------------------
BigEndian();OutputPaneClear();

local uint32 i,j,k,l;

struct
{
    char GEOMSign[4];
    ubyte Unknown_0;
    ubyte Unknown_1;
    uint16 Unknown_2;
    uint32 Unknown_3;
    uint32 Unknown_4;
    uint32 Unknown_5;
    uint32 FileSize;
    uint32 Unknown_6;
    char Unknown_7[4];
    uint32 Unknown_8;
    uint32 Unknown_9;
    uint32 ResourceDefOffset;
    uint32 EoF;
    uint32 Unknown_10;
    uint32 Unknown_11;
    uint32 Unknown_12;
}Info;

struct
{
    uint32 TOCDataSize;
    byte TOCData[TOCDataSize - 4];
}UnknownTOC;


FSeek(Info.ResourceDefOffset);
struct
{
    uint32 ResourceCount;
    uint32 Unknown_0;
    uint32 Unknown_1;
    uint32 ResourceTOCSize;
    uint32 ResourceNameDefOffset[ResourceCount];
    
    struct
    {
        uint32 ResourceNameOffset;
        ubyte Unknown_0;
        ubyte Unknown_1;
        ubyte Unknown_2;
        ubyte Unknown_3;
        uint32 ResourceNameHash<format=hex>;
        uint32 Reserved;
        local uint32 cPos=FTell();
        
        FSeek(startof(ResourceDefinition) + ResourceNameOffset);
        string ResourceName;
        FSeek(cPos);
    }ResourceDefinition[ResourceCount]<optimize=false>;
}ResourceDefinition;


FSeek(startof(UnknownTOC) + sizeof(UnknownTOC));
struct
{
    uint32 Offset;
    uint32 Size;
    uint32 DecompressedSize; // 0 means uncompressed so it use Size
    uint32 Reserved;
}ResourceDataDefinition[ResourceDefinition.ResourceCount];

Appreciate the help so far! Suspected there was something about em that was either compressed or encrypted

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.