Вторичный файл загрузчика Sbl не найден
Обновлено: 21.11.2024
Роскошный кроссовер среднего размера Volvo XC90 дебютировал в 2002 году на автосалоне в Детройте. Признанный своей безопасностью, практичностью и комфортом, XC90 является популярным автомобилем во всем мире. XC90 оказался очень популярным и очень хорошим для продаж Volvo с момента его появления в 2003 модельном году (Северная Америка).
Замена Vida CEM
хорошо. Теперь у меня есть Vida на моей книге Mac. Подключается и читается без проблем. Я пытаюсь найти окончательный отчет о копировании и установке программного обеспечения на CEM. DICE без костей, лол
может ли кто-нибудь сказать мне или указать мне правильное направление? заранее спасибо.
oragex Сообщений: 5347 Присоединился: 24 мая 2013, 06:20 Год и модель: S60 2003 Откуда: Канада Поблагодарили: 102 раз Поблагодарили: 339 раз Контакт:
Это ваш ответ на все вопросы. можно ли это сделать с Vida? Исправил сгоревшую цепь на плате. Сейчас он работает, поэтому я могу перезагрузить или обновить CEM. xemodex хотел 650$ в основном, когда вы закончите с доставкой, так что это не было в бюджете моего друга..
RickHaleParker Сообщений: 6808 Присоединился: 25 мая 2015 г., 14:30 Год и модель: см. подпись ниже. Местонахождение: Канзас Поблагодарили: 7 раз Поблагодарили: 860 раз
Клонирование Xemodex CEM для этой модели стоит 299 долларов США. Клонирование — одна из тех вещей, где . если вам нужно спросить как, вы не квалифицированы для этого.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸸♸⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙♸⸙⸙♸♸♸♸♸ ⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, пакет Special Edition.
2003 S40, B4204T3, 14T Twin Scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 Полный привод. Преобразование Yamaha V8
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.
Круто, @ Рик, потому что ты не знаешь, как что-то делать, это не значит. Это смехотворно. Эта платформа (Vida) для меня новая, я владелец мастерской в третьем поколении. Megasquirt, тюнеры hp, сканеры snap on и полный тюнинг не новы для меня. Пример: если вы соответствуете требованиям для новой работы и вас нанимают, разве вас все равно не придется обучать этой должности? Хорошо
oragex Сообщений: 5347 Присоединился: 24 мая 2013, 06:20 Год и модель: S60 2003 Откуда: Канада Поблагодарили: 102 раз Поблагодарили: 339 раз Контакт:
Я не могу обойтись только Vida, которая есть у многих владельцев Volvo. Однако я заметил, что Xemodex ни в коем случае не дешевая компания. Для меня цена за передачу программного обеспечения слишком велика. Xemodex не единственный.
RickHaleParker Сообщений: 6808 Присоединился: 25 мая 2015 г., 14:30 Год и модель: см. подпись ниже. Местонахождение: Канзас Поблагодарили: 7 раз Поблагодарили: 860 раз
Звучит немного грубо
Есть причина, по которой вы говорите ему, где это сделать, а не как это сделать.
Изгнание:
1. Обратный инжиниринг печатной платы CEM.
2. Прочитай Эпром.
3. Сделайте образ ПЗУ.
4. Запишите образ ПЗУ в новый CEM.
Для этого процесса нет поваренной книги.
⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸸♸⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙♸⸙⸙♸♸♸♸♸ ⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙⸙
1998 C70, B5234T3, 16T, AW50-42, Bosch Motronic 4.4, пакет Special Edition.
2003 S40, B4204T3, 14T Twin Scroll AW55-50/51SN, Siemens EMS 2000.
2004 S60R, B8444S TF80 Полный привод. Преобразование Yamaha V8
2005 XC90 T6 Executive, B6294T, 4T65 AWD, Bosch Motronic 7.0.
yagger Сообщений: 358 Присоединился: 24 марта 2016, 16:29 Год и модель: S60 2005 2,5T Откуда: DreamLand Поблагодарили: 6 раз Поблагодарили: 34 раз
Увы, мой английский не самый лучший и я, к сожалению, не совсем правильно прочитал правила форума, если я им не следовал, то прошу модераторов не относиться ко мне строго, а просто удалить мое сообщение. Спасибо за понимание.
Не уверен, что "световые лучи сошлись" только на одной фирме (я имею в виду канадских специалистов). Есть гораздо более дешевые и быстрые варианты решения проблем с электроникой Volvo. Например, можно попробовать использовать Total Auto Tech от CA. Есть очень большой опыт по ремонту электроники volvo, могу программировать и клонировать модули, диагностировать и проверять любые системы. Имеется собственное стендовое испытательное оборудование и собственный софт для тестирования и программирования любых модулей. Вы можете спросить меня об этом, если интересно. ))
Центральная конфигурация/дополнительный загрузчик SBL
Центральная конфигурация/дополнительный загрузчик SBL
У меня текущая версия 2.3.15
Где найти дополнительный загрузчик? Или что я делаю не так??
Похоже, в программное обеспечение FORScan нужно добавить что-то еще, чтобы включить или добавить вкладку центральной конфигурации.
breed6903 написал: Здравствуйте,
У меня текущая версия 2.3.15
Где найти дополнительный загрузчик? Или что я делаю не так??
Похоже, в программное обеспечение FORScan нужно добавить что-то еще, чтобы включить или добавить вкладку центральной конфигурации.
Это F150 15 года выпуска? Если да - не беспокойтесь - это НЕ транспортное средство типа Central Config. Давай, спроси меня, откуда я знаю
Как вы могли упустить эту маленькую деталь? Все это выложено на этом стикере.
У меня есть код DTC в модуле подушки безопасности, который имеет центральную конфигурацию. Запрограммировал новый модуль, и он дал мне код U2300:64-8B Central Configuration. Я уже откалибровал датчик ускорения, теперь остался только код.
f-wolf Сообщений: 1147 Присоединился: сб, 18 апреля 2015 г., 0:41. Автомобиль: *** Ford *** Местоположение: третья планета от солнца
Интересно. Другими словами:
<р>1. F150 '15+ остается автомобилем без CC; не использует SBL и не нуждается в каких-либо дополнительных VBF. Попытка реализовать то же бесплодна. Это факт. <р>2. ЕСЛИ какие-либо модули раскрывают коды «Uxxx CC», они не могут быть исправлены Forscan на этой платформе, насколько я знаю. <р>4. На массивном липком Форскане «вон там» нет ни одного упоминания о каких-либо проблемах, связанных с CC — во всяком случае, я смог их найти. Так что это будет первое (именно поэтому я упомянул здесь подтверждение того, о каком конкретном транспортном средстве идет речь).Обратите внимание, что Fusion также не является транспортным средством CCC. Я думаю, что формулировка «Центральная конфигурация» в строке ошибки является чем-то вроде отвлекающего маневра/неправильного названия и на самом деле не связана с функциональностью CCC в Forscan. Просто предположение.
Наконец, если это F150 15 года выпуска, разве на него еще не распространяется гарантия?
fordsmax471 Сообщений: 1142 Присоединился: Пн, 07 августа 2017 г., 17:29 Автомобиль: Ford S-Max 2.0 TDCi 2017 PowerShift
FORScan сам возьмет правильный файл
Stian Сообщений: 5 Присоединился: Вт, 21 января 2020 г., 21:57 Автомобиль: 2010 Galaxy GHIA 2.0TDCI 140 л.с. PowerShift Место: Норвегия
FORScan сам возьмет правильный файл
Привет. Я новичок в FORScan, использовал программу для чтения/очистки кодов неисправностей и выполнения обучения системы сцепления. Только что купил расширенную лицензию и надеялся получить больше преимуществ от программного обеспечения, но я сталкиваюсь с той же проблемой, которую объясняет treadstarter, когда пытаюсь получить доступ к «BCMii
Central Configuration (Main)» в «Configuration and Programming».
У меня Ford Galaxy 2.0 tdci 140 л.с. 2010 г. с переключением под нагрузкой. Не могли бы вы объяснить, что вы подразумеваете под «Скачать все»? Сайт запрашивает имя файла?
smartguy69 Сообщений: 215 Присоединился: 21 сентября 2020 г., 20:27 Автомобиль: Kuga Titanium, 2-литровый дизель, 150 л.с., 2015 г.
FORScan сам возьмет правильный файл
Привет. Я новичок в FORScan, использовал программу для чтения/очистки кодов неисправностей и выполнения обучения системы сцепления. Только что купил расширенную лицензию и надеялся получить больше преимуществ от программного обеспечения, но я сталкиваюсь с той же проблемой, которую объясняет treadstarter, когда пытаюсь получить доступ к «BCMii
Central Configuration (Main)» в «Configuration and Programming».
У меня Ford Galaxy 2.0 tdci 140 л.с. 2010 г. с переключением под нагрузкой. Не могли бы вы объяснить, что вы подразумеваете под «Скачать все»? Сайт запрашивает имя файла?
Если вам будет предложено загрузить дополнительный загрузчик, а затем будет сказано, что загрузка запрещена, вам необходимо загрузить файлы калибровки. Мне повезло, когда я сделал свою, так как моя машина стояла на подъездной дорожке, которая находится прямо рядом с моим роутером в доме. Убедитесь, что ваш ноутбук подключен к Интернету, и Forscan загрузит файлы, необходимые для вторичного загрузчика.
Stian Сообщений: 5 Присоединился: Вт, 21 января 2020 г., 21:57 Автомобиль: 2010 Galaxy GHIA 2.0TDCI 140 л.с. PowerShift Место: Норвегия
Хорошо, спасибо. Навес для автомобиля находится слишком далеко для сигнала WiFi, поэтому, думаю, в следующий раз, когда я подключу компьютер к машине, мне придется использовать свой телефон в качестве точки доступа WiFi.
Загрузчик Android — это довольно неизведанная область. То немногое, что известно, во многом связано с частичным открытым исходным кодом, а для некоторых устройств, особенно Amazon и Samsung, даже это недоступно. Большинство мододелов обычно оставляют это как есть, и (учитывая разблокированный загрузчик) начинают с boot.img (ядро + RAM-диск) и следуют различным модификациям в
В «Поваренной книге кондитера» процессу загрузки посвящена целая глава, в которой я затрагиваю (среди прочего) формат и структуру загрузчика. Тем не менее, стремясь к простоте, я стараюсь избегать обратного проектирования и дизассемблирования — в основном потому, что первая часть книги предназначена для опытных пользователей, а не для разработчиков или хакеров. Однако очевидно, что более продвинутые методы приносят большую пользу, поэтому обсуждение отложено до сопутствующей статьи на веб-сайте книги. Это упомянутая статья.
Для тех из вас, кто не читал книгу, я кратко излагаю ключевые моменты из главы, посвященной загрузке. Затем я продолжаю обсуждение того, как реконструировать двоичный файл, что особенно удобно при работе с проприетарными загрузчиками.Далее следует обсуждение особенностей архитектуры ARM, а затем дополнительные наблюдения, которые я обнаружил до сих пор.
Подведение итогов: драматические персонажи процесса загрузки Android
Рисунок 1. Обобщенный процесс загрузки Android (из ACC, глава 3)
загрузочный раздел (bootimg)
BootROM загружает несколько других компонентов, каждый из выделенного раздела. Главным из них является вторичный загрузчик (SBL), который отвечает за преодоление жестких ограничений ПЗУ — ограниченного места и невозможности обновления. Когда вы «прошиваете загрузчик», вы прошиваете эти разделы (как описано в книге). Однако сейчас мы сосредоточимся на собственном загрузчике Android, который часто находится в разделе под названием «Aboot».
aboot — это собственный двоичный файл ARM, заключенный в очень тонкий заголовок, длина которого обычно составляет 40 байт. Этот заголовок предоставляет метаданные, которые используются SBL в процессе проверки и загрузки при загрузке. Обратите внимание, «проверка и загрузка» — именно в таком порядке — потому что SBL, скорее всего, отклонит загрузочный образ, который не подписан должным образом поставщиком. Это работает для расширения цепочки доверия, которая начинается с ПЗУ, вплоть до загрузки, которая далее расширяет ее до boot.img (если загрузчик не «разблокирован»). Другими словами, ПЗУ имеет встроенный ключ (который по своей природе не может быть изменен), используемый для проверки предшественников SBL. Те, в свою очередь, проверяют SBL, который проверяет при загрузке, тем самым защищая последовательность загрузки и предотвращая любое изменение вредоносным ПО (или попытки несанкционированного рутирования). aboot является первым компонентом, который может решить разорвать цепочку — и это то, что подразумевается под «разблокировкой загрузчика»: разблокировка просто отключает проверку подписи в следующей части последовательности загрузки, которая загружает ядро и RAM-диск. из загрузочного раздела (прошитого из boot.img).
Однако не все загрузчики можно разблокировать, так как это остается на усмотрение поставщика. Для тех, кто это делает, обычно все просто — устройство помещается в режим загрузчика (adb reboot bootloader), а затем требуется разблокировка fastboot oem. Устройства Amazon Fire (FireTV, FirePhone и Kindle Fire) не позволяют этого, как и некоторые версии загрузчика Samsung. Samsung, кажется, более конкретна в том, что некоторые международные версии своих устройств можно разблокировать, а другие нет. Как обсуждалось в главе 21, блокировка загрузчика является важной частью безопасности Android, но сама по себе в большинстве случаев недостаточна для предотвращения рутирования.
Таким образом, SBL загружается при загрузке и проверяет свой заголовок, чтобы найти "направления" для загрузки. Вы можете получить загрузку из заводского образа (используя imgtool для разделения bootloader.img) или непосредственно из загрузочного раздела устройства (конечно, при условии, что устройство имеет root-права). Вы можете узнать номер загрузочного раздела, обратившись к
(где доступно) или (в JB и более поздних версиях)
/dev/block/platform/название платформы/by-name/aboot
<р>. С помощью busybox cp или dd скопируйте раздел в файл (скажем, «aboot»). Продолжая эксперимент в книге, мы имеем:Вывод 1: загрузка из заводского образа
Первый байт загрузочного двоичного образа определяется значением "eaXXXXXX". В книге упоминается, что это инструкция ARM B (ранчо), но не дается объяснения ее значения, что объясняется далее.
Кратко о загрузке процессора ARM
Процессоры ARM используют вектор исключения в течение своего жизненного цикла. Этот вектор представляет собой набор из 6 или семи адресов, установленных операционной системой и указывающих процессору, что делать при обнаружении определенных ловушек. Эти ловушки определяются архитектурой, поэтому индексы векторов всегда одинаковы во всех операционных системах ** . Это показано в Таблице 1:
Offset | Exception/Trap | Происходит когда |
---|---|---|
0x00 | Сброс | Процессор сбрасывается |
0x04 | Undef | Обнаружена неопределенная инструкция. Обычно это связано с ошибочной ветвью или повреждением кода, но также может использоваться для эмуляции наборов инструкций на процессорах, которые не поддерживают их |
0x08 | Swi | Командой SWI/SVC генерируется «программное прерывание». Чаще всего это используется для выполнения системных вызовов: код в пользовательском режиме вызывает инструкцию, а процессор переходит в режим супервизора к предварительно определенному обработчику системных вызовов |
0x0c | PrefAbt | Отмена предварительной выборки инструкций |
0x10 | DataAbt | Отмена данных |
0x14 | AddrExc | Обнаружено исключение адреса (недопустимый адрес) |
0x18 | IRQ | Запрос на прерывание сигнализируется: ЦП останавливает все и передает управление обработчику прерывания. |
0x24 | FIQ | Оповещается запрос быстрого прерывания: ЦП останавливает все и передает управление обработчику прерывания. Другие прерывания блокируются на это время. |
Таким образом, загрузчики и операционные системы имеют простой режим работы: когда компонент хочет передать управление другому компоненту, он загружает его в память, в процессе перезаписывая вектор исключения вектором следующего этапа. Выдается инструкция сброса процессора, которая заставляет процессор перейти к точке входа следующего этапа.
Вооружившись этой информацией, мы теперь готовы приступить к осмысленной разборке загрузки
Разборка загрузки
- Удалить заголовок изображения. Это можно сделать с помощью команды dd if=/dev/aboot of=aboot.sans.header bs=40 skip=1 .
- Обрезать изображение до байтов CodeSize: это можно сделать с помощью команды split -b CodeSize aboot.sans.header . Вы получите две части:
Выполнив эти шаги и загрузив результат в дизассемблер (например, IDA или Hopper), вам все равно потребуется изменить базу изображения на значение ImgBase, указанное в заголовке (которое вы раздетый). Вы увидите что-то похожее на это:
Приведенный выше код можно увидеть в поддержке LK ARM, дословно. Если вы будете следовать ветвям к различным обработчикам исключений, вы, вероятно, также увидите код поддержки исключений LK ARM. Все загрузчики, которые я проверял (включая Samsung и Amazon), по-видимому, происходят от LK (фактически печатая «добро пожаловать в lk\n\n» из своего kmain), хотя Amazon предпринимает шаги для отключения fastboot, как и Samsung, который затем использует свое собственное приложение под названием Odin. Это имеет смысл, так как LK разработан Qualcomm для использования с SnapDragon (msm), который был общим знаменателем для моих тестовых устройств (у меня не было возможности проверить устройства на базе Exynos).
О потоке загрузки
Поток Aboot охватывает несколько файлов. Однако это односторонний поток, поскольку возврат функций не ожидается. Этот полезный лакомый кусочек позволяет находить точки останова во время загрузки, то есть «B .» (т.е. перейти сюда) инструкции в коде, которые эффективно останавливают процессор в тех случаях, когда что-то в потоке идет не так. Это на самом деле упростило процесс разборки в первую очередь *** . Звонки в dprintf help, хотя на удивление Nexus 5 из всех устройств их обнажает. Поток загрузки LK показан в таблице 2. Для удобства функции сопоставлены с файлами, которые их содержат.
LK-файл | Функция | Описание | < /th>
---|---|---|
arch/arm/crt0.S | reset | Обработчик сброса инициализирует процессор с помощью различных низкоуровневых инструкций. (MRC, который читает из сопроцессора, и его аналог, MCR, который записывает обратно значения после модификации битов). |
stack_setup | Настраивает стек для различные режимы процессора (IRQ, FIQ, ABT, UND, SYS и SVC). Это делается путем входа в каждое состояние (используя MSR CPSR_c) и изменения значения указателя стека (R14). Ветка отсюда до kmain — это BLX, который преобразует сборку из ARM в Thumb2 (и из Assembly в C). | |
kernel/main.c | kmain | Основная функция инициализации. Вызывает последовательность других функций (далее) по порядку. |
lib/heap/heap.c | heap_init | Инициализировать LK динамическая память (свободный список) |
kernel/thread.c | thread_init | Обычно пусто — обрабатывается thread_init_early |
kernel/dpc.c | dpc_init | Запускает поток "dpc". Это один из двух потоков, порожденных aboot (второй — bootstrap2) |
kernel/timer.c | timer_init | Инициализировать список таймеров и запросить периодический такт от архитектуры |
kernel/main.c | bootstrap2 | Поток закрутился выкл из kmain, вызовом thread_create(), затем thread_resume. Имя потока («bootstrap2») появляется во всех вариантах LK, что упрощает поиск всех задействованных функций. Адрес bootstrap2 можно узнать по его загрузке в R1 (в качестве второго параметра thread_create) |
После создания потока bootstrap2 основной поток повторно разрешает прерывания и становится бездействующим. Самый последний вызов kmain обрабатывает бездействующий поток, как видно из следующего разбора. Адреса те же, что и у S5 (как видно по 0F8xxxxx). Код N5 идентичен, вплоть до адресов, поэтому приведенный ниже код имеет метки:
Поток, таким образом, продолжается в bootstrap2..
LK-файл | Функция | Описание |
---|---|---|
платформа /.. | platform_init | Функции, специфичные для платформы.Оставлен с dprintf на большинстве загрузчиков |
target/.. | target_init | Специфические функции для таргета (устройства). Реализация различается. |
app/app.c | apps_init | Инициализировать приложения загрузчика. Они также зависят от устройства. |
LK-файл | Приложение |
---|---|
app/aboot/aboot.c td> | aboot: вызывает boot_linux для загрузки Linux с MMC или Flash |
app/fastboot/fastboot.c | Поддержка протокола Fastboot: создает два потока (fastboot, fastboot_menu). Последний отключается простой проверкой в Kindle, и оба заменяются в Samsung на Odin. |
app/recovery/recovery.c | Режим восстановления |
Это должно помочь вам начать собственное исследование загрузчика Android. Материалы поддержки платформы не так интересны (USB является своего рода исключением из-за его использования в качестве потенциального вектора атаки). Приложения, в частности, безусловно, важны. Особый интерес представляет Odin, которому я надеюсь когда-нибудь посвятить отдельную статью. Как обычно, отзывы и/или запросы приветствуются - info@ (этот домен).
В: Как вы раскрыли формат заголовка?
Конечно, оказывается, что это все тоже в файле C в каком-то непонятном каталоге LK. :-П
В: Что такого в перемещении изображения?
A: Нужен, только если вы планируете загружать дизассемблер, т.е. ИДА. Когда вы это сделаете, вы увидите, что все адреса ветвей относятся к ПК, но есть довольно много жестко запрограммированных адресов (для LDR..), которые все абсолютны, поэтому вам нужно знать, что такое ImgBase. Даже если вы этого не сделаете, вы увидите, что эти адреса начинаются с 0xF9 или аналогичного, что дает вам основу образа. Что приятно, так это то, что если вы ошибетесь, адреса не будут иметь смысла (т.е. окажутся за пределами изображения). Если вы это сделаете, все буквально встанет на свои места.
Сноски
* - По крайней мере, на устройствах ARM. На нескольких устройствах Intel, с которыми мне довелось работать, использовался BIOS. Intel, вероятно, пытается продвигать UEFI для своих устройств, хотя я лично не видел. Если у вас есть устройство Intel и вы хотите отправить мне дамп его загрузочного раздела, я был бы признателен.
** — iOS использует один и тот же метод на всех этапах загрузки, включая iBSS, iBoot и XNU. Это описано в другой книге, в главах 6 и (с разборкой) 8.
*** - (что я сделал по глупости, прежде чем я узнал о доступности источника - говорить о часах моей жизни, которые я выиграл не вернусь).
Читайте также: