dfu: fix address destination check and add stack overwrite check in USBDFU_handle_dnload

During DFU download the destination start address is checked to not exceed the
RAM or flash end address, but it is also necessary to check if the end of the
data to be downloaded is also within the allowed range.
When downloading to RAM it is also necessary to check if the data to be
downloaded does not overwrite (i.e. corrupt) the stack.
1 file changed
tree: 146ad79dbc39c6baaf32cd9b86444300ad3041c2
  1. firmware/
  2. hardware/
  3. host/
  4. .gitignore
  5. .gitmodules
  6. clk_calc.py
  7. git-version-gen
  8. README.md
README.md

SIMtrace v2.0

This is the repository for the next-generation SIMtrace devices, providing abilities to trace the communication between (U)SIM card and phone, remote (U)SIM card forward, (U)SIM man-in-the-middle, and more.

This is under heavy development, and right now it is not surprising if things still break on a daily basis.

NOTE: Nothing in this repository applies to the SIMtrace v1.x hardware or its associated firmware. SIMtrace v1.x is based on a different CPU / microcontroller architecture and uses a completely different software stack and host software.

Supported Hardware

At this point, the primary development target is still the OWHW + sysmoQMOD device, but we expect to add support for a SAM3 based SIMtrace hardware board soon.

The goal is to support the following devices:

  • Osmocom SIMtrace 1.x with SAM3 controller ** this is open hardware and schematics / PCB design is published
  • sysmocom sysmoQMOD (with 4 Modems, 4 SIM slots and 2 SAM3) ** this is a proprietary device, publicly available from sysmocom
  • sysmocom OWHW (with 2 Modems and 1 SAM3 onboard) ** this is not publicly available hardware, but still supported

This Repository

This repository contains several directory

  • firmware - the firmware to run on the actual devices
  • hardware - some information related to the hardware
  • host - Programs to use on the USB host to interface with the hardware