07-2013 GM BCM

gmtech825
Posts: 302
Joined: Fri Feb 24, 2017 1:27 am

Re: 07-2013 GM BCM

Post by gmtech825 »

just extract them to .bin format using 7zip or something similiar. in the operating system file header you will see the address layout for the different segments.
koolky
Posts: 15
Joined: Mon Sep 29, 2025 4:19 am

Re: 07-2013 GM BCM

Post by koolky »

I extracted them to .bin format, and now they match the file sizes of the decompressed Suburban file that Ironduke posted on page 13. I can’t find the segment addresses in either OS segment when opening them with a hex editor. I loaded bcm-07-013.xml and bcm-07-013-platform.xml in UniversalPatcher, but I still couldn’t figure out how to assemble the segments. Under the Extract Segments tab, clicking Rebuild brings up a window looking for a .CSV file. Is there a way to format a spreadsheet to assemble the segments?
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: 07-2013 GM BCM

Post by ironduke »

What's your OS?? Might be easier to show by example.
I believe it was gmtech that showed me, different than I was used to. Can post up the OS bin or the first 0x100 bytes.
In the start of the OS it tells you where each segment starts and the length. Confusing because if I remember right the OS is broken up to 2 segments. just so you know building a bin this way is ok but it won't have the boot segment since that isn't programmed with sps.
gmtech825
Posts: 302
Joined: Fri Feb 24, 2017 1:27 am

Re: 07-2013 GM BCM

Post by gmtech825 »

the OS should start at 0x080000. here's some of the header data at 0x10 of an OS file: 00 08 00 00 00 06 ff f0 00 0f 80 00 00 00 7f f8
so the first portion of the OS starts at 0x00080000 and is 0x0006fff0 in size. the second part starts at 0x000f8000 and is 0x00007ff8 in size. the rest of the segements are laid out in a similiar way starting at offset 0x28 from the OS file start, but each segment is seperated by the bytes: 00 01 00 00 . hope that helps.
koolky
Posts: 15
Joined: Mon Sep 29, 2025 4:19 am

Re: 07-2013 GM BCM

Post by koolky »

I’m working with OS 20935351 at the moment. I followed what gmtech825 mentioned and compared that to what I could see with Universal Patcher (bcm-07-13.xml, File Info tab). I copy and pasted each segment to the shown start address with a hex editor. Opened the finished file with UP and it all looks correct.

I’m wondering if the extra data in the OS segment is necessary? I only copied the data within 80000 – EFFEF and F8000 - FFFF7.

Also, what is the extra file for? Part number 20867015 and does that data need to be integrated into the file?
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: 07-2013 GM BCM

Post by ironduke »

koolky wrote: Sun Jan 18, 2026 7:21 am I’m working with OS 20935351 at the moment. I followed what gmtech825 mentioned and compared that to what I could see with Universal Patcher (bcm-07-13.xml, File Info tab). I copy and pasted each segment to the shown start address with a hex editor. Opened the finished file with UP and it all looks correct.

I’m wondering if the extra data in the OS segment is necessary? I only copied the data within 80000 – EFFEF and F8000 - FFFF7.

Also, what is the extra file for? Part number 20867015 and does that data need to be integrated into the file?
Not sure what you mean about extra data in the OS segment.. It's all used/placed into the complete bin. There's 2 pieces of the OS.
1st part of the OS is the segment from 0x0 to 0x6fff0 and that gets copied to the bin 0x80000-0xeffef.
2nd part of the os is the segment 0x6fff0 to 0x7ffe7 and that gets copied to the bin 0xf8000 - 0xffff7.
That's the entire OS segment copied to 2 different parts of the .bin file, isn't it?

20867015 is the utility file that is used to program the OS and cals to the BCM using sps2 or DPS. If you open that in a hex editor you'll see the steps starting at 0x18 with step 1, then step 2 at 0x28 and so on. It is not part of the bin or flash.

Below is a bin I built using your OS.. There's 8 extra zero's at the end just because I had the program create a 0x100000 size file.. either delete the extra at the end so universal patcher will auto detected it or you can turn off auto detect and do it manually.
Complete.bin
Not all bins will have the same layout, maybe bcm's will but I won't take that for granted. Below is taken from the start of your OS starting at 0x0c.
00 02 00 00 // First segment(OS) has 2 segments
00 08 00 00 00 06 ff f0 // First
00 0f 80 00 00 00 7f f8 // Second
00 0a 00 00 // There are 0x0a (10) segments left.
00 01 00 00 00 0f 00 00 00 00 02 58 // System
00 01 00 00 00 0f 06 00 00 00 03 fc // Charging
00 01 00 00 00 0f 0c 00 00 00 03 28 //Lighting
00 01 00 00 00 0f 12 00 00 00 00 f0 // Wiper Cal
00 01 00 00 00 0f 18 00 00 00 02 c0 //Locking Cal
00 01 00 00 00 0f 1e 00 00 00 00 c0 // Theft Cal
00 01 00 00 00 0f 24 00 00 00 00 94 //HVAC cal
00 01 00 00 00 0f 2a 00 00 00 01 50 // Pwrtrn Cal
00 01 00 00 00 0f 30 00 00 00 00 d8 // Chassis Cal
00 01 00 00 00 0f 36 00 00 00 00 20 // Driveline Cal

Each segment is showing the start location and then the size..
You do not have the required permissions to view the files attached to this post.
koolky
Posts: 15
Joined: Mon Sep 29, 2025 4:19 am

Re: 07-2013 GM BCM

Post by koolky »

Looks like I missed the first bit of data starting at 06FFF0 in the OS Segment that should have been pasted to 0F8000 in the complete file. I’m confident enough to attempt to flash the BCM with EFILive now, Thanks.

What is the file size supposed to be? EFILive won’t open the file unless it’s 0x100000? A .CAM file was added to the EFILive Jan 18, 2026, V8.4.85 public Release - Update 4 so I was able to load .CAX8 user defined parameters. I laid out the remote start parameters and will be looking for the keyless entry stuff.
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: 07-2013 GM BCM

Post by ironduke »

koolky wrote: Sun Jan 18, 2026 9:08 pm Looks like I missed the first bit of data starting at 06FFF0 in the OS Segment that should have been pasted to 0F8000 in the complete file. I’m confident enough to attempt to flash the BCM with EFILive now, Thanks.

What is the file size supposed to be? EFILive won’t open the file unless it’s 0x100000? A .CAM file was added to the EFILive Jan 18, 2026, V8.4.85 public Release - Update 4 so I was able to load .CAX8 user defined parameters. I laid out the remote start parameters and will be looking for the keyless entry stuff.
You can add 8 bytes at the end and it should be good for efilive. Can you post a pic of what parameters it pulls up. Curious what they have figured out.
koolky
Posts: 15
Joined: Mon Sep 29, 2025 4:19 am

Re: 07-2013 GM BCM

Post by koolky »

Screenshot 2026-01-18 175322.png
You do not have the required permissions to view the files attached to this post.
koolky
Posts: 15
Joined: Mon Sep 29, 2025 4:19 am

Re: 07-2013 GM BCM

Post by koolky »

It’s exciting that EFILive is able to read and write these BCM’s. Being able to full flash would be nice seeing as GM used a lot of OS part numbers over the years. It would be nice if there was a way to read them and have them in BIN instead of encrypted CTZ. Is there a way to get all of segments to build these files? I have a few vans with OS 22915541 that I will read with EFILive this week. I guess I will pay for a few SPS VINs, compare them and find the switches to enable cruise control, remote start and keyless. One of the vans that I used to own has the same BCM OS and was loaded with forward collision warning, lane change assist and blind spot monitoring, which I would like to add to the van that I have now.