Pages: [1]
Author Topic: FRF File Architecture and Questions  (Read 2702 times)
Mini Map
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 2


« on: December 11, 2021, 05:30:50 AM »

Please can someone explain the architecture of .frf files to me?

My understanding is that;

FRF files are ZIP files containing either SGO (binary flash data) or ODX data.

The are encrypted with an XOR Cipher.

Once decrypted the extracted SGO file is also encrypted and compressed?

Where are the encryption and compression algorithms stored for the SGO? Are these contained within the flash memory of the ECU that the sgo is for?

I would like to read the metadata contained with the SGO.
Logged
gremlin
Hero Member
*****

Karma: +180/-7
Offline Offline

Posts: 573


« Reply #1 on: December 11, 2021, 06:32:27 AM »

My understanding is that

Sorry, but almost everything that was written is a misunderstanding.
You need to learn a little, no one will explain the basics from scratch.

 
Logged
Wommesz
Newbie
*

Karma: +2/-0
Offline Offline

Posts: 12


« Reply #2 on: December 11, 2021, 07:51:30 AM »

FRF files are ZIP files containing either SGO (binary flash data) or ODX data.
The are encrypted with an XOR Cipher.

An example for the FRF decryption: https://github.com/bri3d/VW_Flash/blob/master/frf/decryptfrf.py.
ODX is an XML file, which itself can contain flash data.
SGO is the predecessor of ODX, it's a fairly simple binary format, these notes should help:

Code:
Offset, name, description, type
0000 String: SGML Object File: zero-terminated string
0011 Unk_word_01: U32
0015 Unk_word_01: U32
0019 Pointer to descriptor 0x031 (xor-ed with 0xFF)
001d Pointer to something? 0x1e3
0021 Pointer to something? 0x192
0025: Pointer to something? 0x1B2
0029: Pointer to start of SA2 points to length u32 + string
002D: SGO fileLength is at offset 0x2D U32

It's the index at offset 2D which is probably what you're interested int.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.015 seconds with 17 queries. (Pretty URLs adds 0s, 0q)