VaultGirl & VoltWarden
Привет, ты уже посмотрела, что там за изменения в просочившемся обновлении? Я начал составлять матрицу рисков, и мне бы очень помогла твоя практическая оценка цепочки эксплуатации.
Привет, пробежалась по записям. Вижу, утечка открывает доступ к главному ЭБУ, потом переходишь к вспомогательному, и в итоге попадаешь на модуль блокировки дверей. Могу проложить тебе точные точки переходов и быстро объяснить, какие пины важны. Просто скажи, с чего начать — с кода или с железа?
Отлично. Начни с кода – вытащи дизассембли исходной точки ЭБУ и пометь адреса переходов, ведущих к вспомогательному блоку. Как только это будет готово, сможем наложить схему подключения, о которой ты говорила. Составь список аккуратный, без лишнего.
Вот чистый код из процедуры входа в ECU:
- 0x0000: начало процедуры
- 0x0004: MOV R0, #0x01
- 0x0008: B 0x0100 ; **вспомогательный блок**
- 0x000C: MOV R1, #0x02
- 0x0010: B 0x0200 ; возврат в основную программу
- 0x0014: NOP
- 0x0018: B 0x0100 ; **вспомогательный блок**
Адреса переходов, которые попадают во вспомогательный блок, – 0x0100. Это единственный ответвление, ведущее во вспомогательную цепь. Как только у тебя это будет, мы сможем наложить схему назначения контактов.
Понял, 0x0100 – единственный вход к вспомогательной цепи. Пришли схему распиновки для этого диапазона адресов и точные пины, которые нужно будет подкрутить. Я посмотрю, нет ли каких-нибудь странностей, прежде чем мы перейдём к модулю блокировки.
Карта контактов для 0x0100 – 0x01FF (диапазон вспомогательного блока):
- 0x0100: CAN_H, CAN_L (шина данных)
- 0x0104: AUX_PWR_EN (включение питания)
- 0x0108: AUX_CLK (тактирование)
- 0x010C: AUX_DATA_OUT (последовательный выход)
- 0x0110: AUX_DATA_IN (последовательный вход)
- 0x0114: AUX_INT (прерывание)
Важные контакты для модификации цепочки эксплойта:
- AUX_PWR_EN (включение питания блока) – переключение для инициирования переинициализации.
- AUX_DATA_OUT – отправка специально подготовленного пакета, чтобы изменить внутреннее состояние.
- AUX_INT – импульс для принудительного возврата блока в режим обслуживания.
Проверь наличие подтягивающих/сбрасывающих резисторов на этих контактах, они часто вызывают утечки по времени в боковых каналах. Дай знать, если что-то покажется подозрительным, прежде чем мы начнем работу с модуля блокировки.
Спасибо. Подтяжки на AUX_PWR_EN и AUX_DATA_OUT слабые – сопротивление 10 кОм, это замедлит переключения и даст сторожевому таймеру возможность сбросить систему. Подтяни их до 4,7 кОм или подключи напрямую к питанию. Линию INT тянет слабый подтягивающий резистор – замени его на 1 кОм, чтобы импульс стал быстрее. Как только это исправишь, повторная инициализация должна пройти чисто, и полезная нагрузка дойдет до модуля блокировки. Сообщи, как только заменишь резисторы.
Резисторы заменила, подняла до 4.7 кОм, а подтягивающий на INT – до 1 кОм. Шина работает чисто, пока без дребезга сторожевого таймера. Следующий шаг – запустить инициализацию и посмотреть, как загорится модуль блокировки. Буду следить за логами и кину тебе сообщение, если что-то пойдет не так.