Tuning Wiki

Bosch ME7 is a good example of why a tool may report many checks instead of one. The ME7Sum project publishes a report from a stock ME7.1.1 image and shows how checks can overlap. The numbers below describe that published example and tool output, not every ME7 image.

Reading a real report

In the project's sample stock image, ME7Sum reports 70 checksums and no errors. One main data entry covers 0x026A00–0x02FFFC and reports calculated and stored values 00A3404B at 0xDAC20. Another main program entry shows 0x020000–0x0FFFFF, with stored and calculated values A00DBC04 at 0xFFFE0. These are examples from the project's report; the image is not supplied here and the calculation has not been reproduced independently.

The report is more informative than a bare “pass”: it says what range was examined, what value was found and what value the tool calculated. A pass means those comparisons matched under the tool's interpretation. The report also includes checks that are skipped or otherwise treated specially; read the whole output rather than equating the count with 70 independent proofs.

How one change creates several errors

The project demonstrates a bad edit where a ROMSYS startup check at 0x8038 shows stored 0000BDFF and calculated 0000BDFE. In the same check run, its main program and multipoint checks also report discrepancies. Its fix-mode example then corrects the startup item and reports the dependent checks as matching. The published checksum map explains why: the startup check field lies within another protected multipoint region. A change to that field is itself a change in the enclosing region.

The lesson is to understand the dependency and let an implementation that recognises the exact image calculate in its required order. Do not assume three warnings imply three independent edits, and do not manually substitute these example values into another ECU.

Check, correct, check again

  1. Keep the original image and identify the ECU, software, file size and read method. Run the supported checker on the unmodified image first; retain the report.
  2. Edit a separate copy. ME7Sum documents a check-only mode, a separate output-file correction mode and a report showing ranges and overlaps. Its usage page gives the current command syntax.
  3. Run correction only on an image the tool explicitly supports; examine its complete output and compare the corrected file with your edited input. The project says it does not output a file when it cannot completely detect the necessary locations.
  4. Use the independent ME7Check verification recommended by the project. A remaining error is a reason to investigate coverage and dependencies, not to presume programming will succeed.

The project README warns that prior tuner modifications can alter checking algorithms and escape detection, and that some images need further investigation. Support varies with software and release. Establish the supported recovery method and backup before programming.

Checksums and signed areas

The project describes multiple CRC, checksum and RSA/MD5-related cases, depending on the image and tool version. Do not infer that recalculating an additive sum or CRC establishes a valid digital signature. NIST's Digital Signature Standard explains the separate signature-verification concept. The exact ECU's boot and authentication requirements need their own evidence.

Sources: ME7Sum project, usage and example reports and repository. Interpretation is editorial; no ECU image or hardware was tested for this page. See also ME7 reading, writing and checksums.

Directly applicable articles

Technical articles assigned to this context will appear here.