Skip to content

Latest commit

 

History

History

lib

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

VW_Flash libraries

lib directory for scripts used at different times throughout the flashing process

simos_flash_utils.py is the main "controller" file for Simos flashing. This controller compresses, encrypts, and controls the overall flashing process.

dsg_flash_utils.py is the main "controller" file for DSG flashing. This controller compresses, encrypts, and controls the overall flashing process.

flash_uds.py implements the actual data-flashing actions over UDS.

constants.py contains constants used throughout the program.

modules contains definitions for the flash layout, checksum locations, addresses, encryption keys, and SA2 scripts for specific control modules.

checksum.py provides CRC checksum verification and correction for Simos18 block payloads, as well as ECM3->ECM2 summation verification and correction.

encrypt.py provides AES encryption for Simos18 ECU block payloads.

lzss is a directory that contains an implementation of lzss Thanks tinytuning!

lzss_helper.py is a wrapper to call the lzss binary

lzss.py is a python implementation of lzss. this turned out to be quite slow and isn't currently used.

j2534_connection.py provides support for the J2534 connection type to UDSonCAN

j2534.py wraps the J2534 standard with Python, using ctypes

patch_cboot.py automatically patches the Customer Bootloader block (CBOOT) for Simos ECUs to Sample Mode, using a very naive hex patching algorithm that against all odds, seems to work great.

simos_hsl.py , brought to you by Joedubs, provides High Speed Logging using one of several backends (all which require ECU-side software patches): $23 ReadMemoryByAddress, $2C DynamicallyDefineLocalIdentifier, or a proprietary handler attached to $3E TesterPresent.

fastcrc.py contains a calculated-table "fast CRC32" implementation to checksum blocks.

extract_flash.py provides a wrapper to decrypt an FRF file, unzip it, extract flash blocks from the ODX file within, and decrypt and decompress those blocks.