Unfortunately we do not accept new members for free, Now Registration cost 30€, if you are interesting Send Email to [email protected]
SWFL Extractor Tool
21-07-2023, 18:07 PM,
Post: #1
|
|||
|
|||
SWFL Extractor Tool
Hello all,
I would like to share with you a tool I developed to parse and extract BMW SWE firmware files. It works with SWFL, BTLD, FLSL files from the psdzdata/swe/. Maybe some of you had a look over the swfl_0000uuuu.bin.uuu_uuu_uuu files and saw that some of them use a compression method. It can also be confirmed by checking the corresponding swfl_0000uuuu.xml.uuu_uuu_uuu that some segments are marked as <FLASH-SEGMENT COMPRESSION-STATUS="COMPRESSED"> and some are <FLASH-SEGMENT COMPRESSION-STATUS="UNCOMPRESSED">. BMW is actually using NRV algorithm for the compressed sections. I created a Python script to parse the .xml, extract binary blocks from corresponding .bin and call the unucl extractor app which is the open source implementation of the NRV compression algorithm and reassemble the final binary. I have included in the archive 2 builds of the UCL extractor, for x64 Linux and Windows. Windows CMD or Linux terminal usage example: python extract.py -i swfl_00004a5a.bin.010_006_040 -x swfl_00004a5a.xml.010_006_040 ! Python is required to be installed on your machine ! Have Fun! |