Итак.
На примере выше приведённой прошивки от уно-спорт:
открываем её в hex-редакторе, ищем по текстовой строчке разделы MSDOS, их там оказалось 4 штуки, после них ещё 2 отдельных блока с картинками, одна в джпег формате, вторая в бмп.
То что это картинки вне разделов мсдос - можно понять по тому, что они расположены именно как отдельные блоки, с определёнными смещениями и, что самое главное, после последнего блока с разделом мсдос. Размеры разделов мсдос где-то в их заголовках прописываются (где точно - не знаю, я в этом не копенгаген, надо смотреть описание заголовка диска, там можно увидеть, где прописывается размер диска).
Короче, в картинках:
поиск по слову MSDOS

даёт нам 4 результата:
Далее поиск по слову JFIF

даёт 1 результат:
И потом поиск по слову BM6

даёт тоже 1 результат:
По итогу составляем табличку смещений, что где в файле:
msdos1 C0F820
...
C4F81F
msdos2 C4F820
...
FA181F
msdos3 FA1820
...
FB181F
msdos4 FB1820
...
FC181F
JPEG FC1820
...
FD181F
BMP FD1820
...
EOF
Как видно, везде в конце смещений присутствует 20-ка.
Это те самые первые 20 байт контейнера, которые я предлагал изначльно безжалостно вырезать, ибо в изучении они только мешают, а после внесений правок нафиг ненужны, ибо становятся не актуальны.
Но раз все против, то проделал на этих примерах всё с файлом "как есть".