Skip to content

CDFN/bmw-virtual-reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BMW Virtual Reader

A Rust-based GUI application for extracting SWFL/BTLD files using XML configuration and UCL decompression.

Prerequisites

Building

  1. Install Rust if you haven't already:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Build the application:

    cargo build --release
  3. The executable will be created at target/release/bmw_virtual_reader.exe

  4. Create portable package:

    powershell -ExecutionPolicy Bypass -File build.ps1

Usage

PSDZ Data Directory Selection (Recommended)

  1. Run the application:

    cargo run --release
  2. Click "Browse" next to "PSDZ Data Folder" to select your psdzdata directory

  3. Click "File Browser" to open the file selection window

  4. In the file browser:

    • Use the search filter to find specific files (case-insensitive, handles - and _ interchangeably)
    • Select BTLD files by clicking "Select BTLD"
    • Select SWFL files by clicking "SWFL1" and/or "SWFL2"
  5. Choose your output file location

  6. (Optional) Check "Use Desired Size" and set the desired output file size in MB - if the combined files are smaller than this size, zero data will be appended to reach the target size. Required for some ECUs (e.g. EDC17C50 needs 4MB).

  7. Click "Create binary" to process the selected files

File Structure Support

The application automatically scans and supports the following PSDZ directory structure:

psdzdata/
├── swe/
│   ├── btld/          # Bootloader files (*.bin)
│   └── swfl/          # Software files (*.bin)

About

Software that allows you to create virtual reads of BMW ECUs from PSDZ Data

Topics

Resources

Stars

Watchers

Forks