XDF Creation / Editing - How To????

American Delco GM ECUs and PCMs, ALDL, OBD 1.5.
Post Reply
B52Bombardier1
Posts: 42
Joined: Sun Jan 26, 2020 11:41 pm
cars: 1970 Chevy El Camino with an LM7 modern GM engine.

2013 Chevrolet SS Camaro

XDF Creation / Editing - How To????

Post by B52Bombardier1 »

Hello,

I've looked around here and I can't find anything about how to create or edit XDF files. Does it require Ghidra or some other tool like IDA Pro . . . both of which I know very little about.

This request is mostly intellectual curiosity on my part to enable me to keep up with the sometimes very technical discussions around here. I'm also not asking for lessons . . . more a guided tutorial for self learning if such a thing exists.

Many thanks,

Rick
User avatar
antus
Site Admin
Posts: 8237
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: XDF Creation / Editing - How To????

Post by antus »

there is no one and only way to figure it out. sometimes people compare 2 files where they know something specific is different. sometimes people find it in the code (less often). sometimes people make edits in commercial software or official tools and observe the differences. any way you can come up with to figure it can be used. its not easy, and not necessarily something you can learn from a text book. people often do it and dont share their methods. its more a way of thinking about the problem. look at the tools you have and resources available and think about how you might be able to learn from or with them.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
B52Bombardier1
Posts: 42
Joined: Sun Jan 26, 2020 11:41 pm
cars: 1970 Chevy El Camino with an LM7 modern GM engine.

2013 Chevrolet SS Camaro

Re: XDF Creation / Editing - How To????

Post by B52Bombardier1 »

Hello,

OK, thanks. I was beginning to think its exactly how you described it and it makes me wonder how on Earth we have gotten the library of XDF files already in existence. Maybe someday I will be a "high priest" of knowledge here but I think I've got a long way to go. Very . . . long . . . way.

Rick
User avatar
Gampy
Posts: 2331
Joined: Sat Dec 15, 2018 7:38 am

Re: XDF Creation / Editing - How To????

Post by Gampy »

We all started someplace ... Dive in and take it one bite at a time!
Intelligence is in the details!

It is easier not to learn bad habits, then it is to break them!

If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: XDF Creation / Editing - How To????

Post by ironduke »

So... I think I know the answer to the question, but I want to ask the experts..

I happen to have 2 bin files of the same tune, 1 has had a code turned off and that is the only change.. If I do a simple hex compare I can see where a byte was changed from 0x06 to 0x02.. Obviously the CRC and SUM are changed as well but that is a result of the 1 byte change.

Now can that change be applied to ANY tune with that OS??

What if the other segments are different?? Operating system is the exact same, but the engine diagnostic segment is a different number and the byte was changed inside that segment. Is that going to turn off the same code??
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: XDF Creation / Editing - How To????

Post by Tazzi »

ironduke wrote:So... I think I know the answer to the question, but I want to ask the experts..

I happen to have 2 bin files of the same tune, 1 has had a code turned off and that is the only change.. If I do a simple hex compare I can see where a byte was changed from 0x06 to 0x02.. Obviously the CRC and SUM are changed as well but that is a result of the 1 byte change.

Now can that change be applied to ANY tune with that OS??

What if the other segments are different?? Operating system is the exact same, but the engine diagnostic segment is a different number and the byte was changed inside that segment. Is that going to turn off the same code??
Sooo think of it like this..

Every tune is actualy multiple calibrations (Segments) all put together.. so we have:
Operating System
System Cal
Fuel Cal
Speed Cal
Engine Diag
Engine Cal

Now for example, if the modification you made was in the system cal, which is at offset 0x21C, and it changes it from 00 to 01 (Turning something on possibly). Now that offset and value change should be valid for all system calibrations that suit that ecu and operating system, and usually suits other compatible operating systems too.

The CVN and sum should both update as well with every change.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
ironduke
Posts: 579
Joined: Thu Feb 13, 2020 11:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: XDF Creation / Editing - How To????

Post by ironduke »

Tazzi wrote:
ironduke wrote:So... I think I know the answer to the question, but I want to ask the experts..

I happen to have 2 bin files of the same tune, 1 has had a code turned off and that is the only change.. If I do a simple hex compare I can see where a byte was changed from 0x06 to 0x02.. Obviously the CRC and SUM are changed as well but that is a result of the 1 byte change.

Now can that change be applied to ANY tune with that OS??

What if the other segments are different?? Operating system is the exact same, but the engine diagnostic segment is a different number and the byte was changed inside that segment. Is that going to turn off the same code??
Sooo think of it like this..

Every tune is actualy multiple calibrations (Segments) all put together.. so we have:
Operating System
System Cal
Fuel Cal
Speed Cal
Engine Diag
Engine Cal

Now for example, if the modification you made was in the system cal, which is at offset 0x21C, and it changes it from 00 to 01 (Turning something on possibly). Now that offset and value change should be valid for all system calibrations that suit that ecu and operating system, and usually suits other compatible operating systems too.

The CVN and sum should both update as well with every change.
So... If I interpreted your response correctly, the change I noted in the Engine Diag segment should carry over to another bin file that has the same operating system even if that segment itself has a different ID number. This is always the same ECU(E38).. One thing that seems to come into play that you mention is the offset, not simply the address of the byte?? So far my experience which is VERY limited is that all the tunes with the same operating system all have the same offsets for the rest of the segments. I do see how an offset from the start of the segment could be more accurate at locating a particular byte depending on how it is accessed..

This is definitely going to be a slow learning experience.. lol

If anyone wants to show me where I can find bins to download please feel free to send me some links, not as plentiful as I would like in the google forest.. E38 bins is what I am looking for..
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: XDF Creation / Editing - How To????

Post by Tazzi »

Yeah so different operating systems can sometimes cause a shift in the offset for parameters in a calibration. Once the offset it found again, generally everything lines back up again.

Some operating systems will have the same offsets for its segments, whereas others may be shifted.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
antus
Site Admin
Posts: 8237
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: XDF Creation / Editing - How To????

Post by antus »

Yes - the each OS as defined by OSID looks for data in the same locations in the calibration segments. The calibration segment IDs refer to the data thats in the file not the addressing, a software accessory part number for the OS.

For example the transmission segment ID 1234567 might be the calibration aka tune for a particular vehicle configuration. trasnmission segment ID 567891234 might be for a different vehicle. Both might suit OSID 111122222 and if they do, both will have the VSS pulses per revolution (and all other calibration items) at the same locations. This is why you can do a segment swap between the same OSID if you convert a car from factory manual to the same factory auto platform the car was released with.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
Post Reply