Pages: 1 2 3 [4] 5 6 ... 8
Author Topic: FRF and SGO - Differences?  (Read 118117 times)
IamwhoIam
Hero Member
*****

Karma: +52/-115
Offline Offline

Posts: 1070


« Reply #45 on: November 22, 2016, 03:46:42 AM »

That is incorrect.
OTP is write once area that starts with all binary bits unset value 00
When all binary bits are burned you have FF
You can only burn more bits so you can only move towards FF,

Tools tend to avoid OTP but the statement that no TOOL can write to this EVER is not TRUE

My bad, let me rephrase that: no OBD flash tool can EVER write OTP areas that have been programmed and set as OTP. EVAR.
Logged

I have no logs because I have a boost gauge (makes things easier)
dera
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 8


« Reply #46 on: March 16, 2017, 10:12:32 PM »

My bad, let me rephrase that: no OBD flash tool can EVER write OTP areas that have been programmed and set as OTP. EVAR.

Yes they can, just that they can only go one way with it.
Let me rephrase your comment Smiley No tool can 0 OTP bits that have been set.
Logged
eliotroyano
Hero Member
*****

Karma: +48/-8
Offline Offline

Posts: 826


« Reply #47 on: October 14, 2017, 07:56:44 PM »

Friends what are main differences between SGM and SGO files?
Logged
wangyanjun
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 4


« Reply #48 on: April 06, 2018, 07:22:58 PM »

https://avdi-forum.de/avdi_aktuell/index.php/Thread/581-VAG5054-SGO-file/

There is a tool used to extract SGO file. Who can get it and post it here?
Logged
superglitch
Jr. Member
**

Karma: +4/-0
Offline Offline

Posts: 45


« Reply #49 on: April 06, 2018, 07:55:42 PM »

It's only for old stuff.
« Last Edit: April 07, 2018, 02:51:58 PM by superglitch » Logged
IamwhoIam
Hero Member
*****

Karma: +52/-115
Offline Offline

Posts: 1070


« Reply #50 on: April 07, 2018, 06:02:27 AM »

lol I don't think Revo internal tools were ever meant to become public domain.
Logged

I have no logs because I have a boost gauge (makes things easier)
superglitch
Jr. Member
**

Karma: +4/-0
Offline Offline

Posts: 45


« Reply #51 on: April 07, 2018, 02:52:50 PM »

lol I don't think Revo internal tools were ever meant to become public domain.

Same could be said about many pieces of software that we interact with.
Logged
nyet
Administrator
Hero Member
*****

Karma: +608/-168
Offline Offline

Posts: 12270


WWW
« Reply #52 on: April 07, 2018, 11:01:38 PM »

lol I don't think Revo internal tools were ever meant to become public domain.

I can count on one hand the number of people who publish their code in this so called "community".
« Last Edit: November 23, 2018, 12:30:16 AM by nyet » Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
Jerin
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 9


« Reply #53 on: November 22, 2018, 10:04:03 PM »

frf-to-odx is done inside SoxUtil.dll (odis or DTS7)
...
key.bin is inside the resource area

I see that soxutil.dll calls a function with a "\\key.bin" entry but no file exists.
Is the resource inside the .dll?
.rsrc/1033/FILE/1002 holds 4k of binary info, is this it?

Thank you
Logged
Jerin
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 9


« Reply #54 on: December 22, 2018, 10:49:15 AM »

Still looking for an answer for this.
I can't find any resource linked with key.bin.
How about a hint if you can.
Logged
Jerin
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 9


« Reply #55 on: January 02, 2019, 11:34:23 AM »

Also, to unpack "BCB Type1" compressed data:

import sys, struct

key = "BiWbBuD101"

img = sys.stdin.read()
img = img[img.index("\x1A\x01") + 2:]
img = ''.join(chr(ord(j)^ord(key[i%len(key)])) for i, j in enumerate(img))

p = 0
res = ""

while p < len(img):
  l = struct.unpack(">H", img[p:p+2])[0]
  p += 2

  fl = l >> 14
  l &= 0x3FFF

  if fl == 0: # literal
    res += img[p:p+l]
    p += l
  elif fl == 1: # RLE
    res += img[p] * l
    p += 1
  else:
    sys.stderr.write("remaining bytes: " + img[p:].encode('hex') + "\n")
    break

sys.stdout.write(res)



I get:
    l = struct.unpack(">H", img[p:p+2])[0]
TypeError: a bytes-like object is required, not 'str'

I used an odx file created by VAS File Decoder.
This is in the source:
[FORMAT]
BCB Type1 (C) R. Bosch GmbH 2000 K3/EMW3-Ws
[START_ADDRESS]
80020000
[END_ADDRESS]
8027FFFF

Logged
nyet
Administrator
Hero Member
*****

Karma: +608/-168
Offline Offline

Posts: 12270


WWW
« Reply #56 on: January 02, 2019, 11:41:14 AM »

you might need an 'img=bytearray(img)' somewhere to convert the string to a byte array
Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
Jerin
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 9


« Reply #57 on: January 02, 2019, 01:43:38 PM »

Thanks for the idea.

I placed the line just before the 'while'.
I got a TypeError because didn't include the "optional" encoding. Hmm?
So I:
img = bytearray(img, 'utf_8')
also tried utf_16 and ascii

Each fail when it hits a char it can't encode.
Too bad I can't:
img = bytearray(img, 'hex')

I am not entirely sure that chr() here:
img = ''.join(chr(ord(j)^ord(key[i%len(key)])) for i, j in enumerate(img))
can handle the extended char set (>127)

But I don't know python.


Logged
nyet
Administrator
Hero Member
*****

Karma: +608/-168
Offline Offline

Posts: 12270


WWW
« Reply #58 on: January 02, 2019, 02:29:13 PM »

maybe something like
Code:
from array import array

img = array("B", img)

you might have to learn python for this.. if i have time I might try to fix it for you but i'll need the stuff you're working with
Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your ex
Jerin
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 9


« Reply #59 on: January 02, 2019, 09:21:22 PM »

.. if i have time I might try to fix it for you ..

Very kind of you but that would use too much of your time.
I can't even be sure of the script's efficacy.
I will work on my understanding of Python.
Logged
Pages: 1 2 3 [4] 5 6 ... 8
  Print  
 
Jump to:  

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