Зависит от цены, если будет оправдано то разберут и заменят обращение к UID на константу. Как написал Николай все защищать и шифровать. Добавлено: Mon Nov 25, 2024 9:40 pm |
Да, этот момент, по идее, в хексе вычислить будет не сильно сложно. Добавлено: Mon Nov 25, 2024 9:52 pm |
Серый Волк. Добавь мусорного кода, который в свободное машинное время будет что-то делать. Вычислять массивы с использованием основных переменных и гнать эти данные по spi с помощью dma. Побольше операций с dma. Вместо записи в регистр шима, пиши в переменную, инициируй цикл прямого доступа к памяти, при котором эта переменная передаётся в регистр шима. Настрой ненужные ноги на использование периферии. Усложни устройство, так чтобы с пользой работала половина. Ты думаешь индусы гавнокодят от распиздяйства? Наверное тоже путаюткод. У тебя ключевое слово - легко дизассемблируется. Вот и усложняй задачу. А уже потом шифруй, причём левый код тоже. И разные куски неодинаковыми шифрами. Не надо, чтобы в программе был идеальный порядок. Накидай хлама, но так, чтобы трудно было отличить хлам от кода. Добавлено: Mon Nov 25, 2024 10:06 pm |
Не понял, а почему STM32 просто нельзя защитить после записи (чтобы только стереть все можно было)? Там вроде оно есть. В этом случае, даже код, залитый бутлоадером и запущенный из ОЗУ, при попытке чтения адресов, относящихся к флешу, прочитает одни единицы (или нули, не помню). Кстати, прошивка может это сделать и сама при первом запуске. Добавлено: Mon Nov 25, 2024 11:46 pm |
Доктор Зло писал(а): Не понял, а почему STM32 просто нельзя защитить после записи (чтобы только стереть все можно было)? Cold Boot Stepping ![]() Добавлено: Tue Nov 26, 2024 1:05 am |
Seriyvolk, а семейство какое? И кстати тут чисто праздное любопытство: почему RDP2 низя? Добавлено: Tue Nov 26, 2024 9:27 am |
Seriyvolk писал(а): Cold Boot Stepping Так это же оперативку только вычитывать. Если программа сама не прогоняет все свое содержимое через ОЗУ (например некоторые программеры любят проверять содержимое прошивки по контрольной сумме перед работой), то флеш не вычитать все равно. Или я чего-то не понимаю? N1X писал(а): почему RDP2 низя? Полное окирпичивание проца. Потом только новый припаивать. Добавлено: Tue Nov 26, 2024 1:30 pm |
Доктор Зло писал(а): Полное окирпичивание проца. Потом только новый припаивать. "потом" это имеется ввиду если загрузчика нет а обновить надо? Да, ча только сообразил, что упоминалось что "только если свой загрузчик писать", да, теперь сложился пазл вроде. Доктор Зло писал(а): Так это же оперативку только вычитывать. Да уже продемонстрировали атаку через последовательную релокацию таблицы прерываний. При RDP1 в случае исключения адрес ISR оказывается в PC. Вот через последовательное увеличение смещения в VTOR и вызов исключения из PC постепенно достают всю память. Добавлено: Tue Nov 26, 2024 1:48 pm |
Никогда не понимал, зачем вообще перемещать таблицу прерываний. Это какое-то странное программирование, грибное. Тогда совсем примитивно получается, разрабы такое не предусмотрели что-ли? А где почитать про это? Добавлено: Tue Nov 26, 2024 2:12 pm |
Доктор Зло писал(а): Никогда не понимал, зачем вообще перемещать таблицу прерываний. Ну например, чтоб засунуть эти самые прерывания в быструю оперативку с временем ожидания 0 тактов, вместо флеша, где время ожидания 4 такта в камне 170 МГц. Добавлено: Tue Nov 26, 2024 4:04 pm |
Доктор Зло писал(а): Никогда не понимал, зачем вообще перемещать таблицу прерываний. В смысле? Просто один из подходов к реализации работы с несколькими прошивками в памяти... https://blog.zapb.de/stm32f1-exceptional-failure/ Добавлено: Tue Nov 26, 2024 4:05 pm |
N1X писал(а): Seriyvolk, а семейство какое? STM32G431 Добавлено: Tue Nov 26, 2024 4:07 pm
|
Seriyvolk писал(а): STM32G431 А в этих не полечили дырки? Хотя при наличии работающего отладчика конечно гарантий нет, постоянно новые находят. Все же тогда загрузчик с шифрованием + RDP2 более менее вменяемую защиту даст наверное только. Хотел предложить криптоeeprom внешнюю и железку использовать как ключ, но это не защищает от того, что кто-то выпилит его с двух сторон (и из прилаги клиента и с железки)... Добавлено: Tue Nov 26, 2024 4:12 pm |
N1X писал(а): Хотел предложить криптоeeprom внешнюю и железку использовать как ключ, но это не защищает от того, что кто-то выпилит его с двух сторон (и из прилаги клиента и с железки)... Не, там не настолько всё серьёзно. Но от мамкиных хакеров хотелось бы уберечь. N1X писал(а): А в этих не полечили дырки? Находил видос, как без проблем через CBS читали G0. А это считай братья. База +/- одна. Частота и оснащение отличаются только. Добавлено: Tue Nov 26, 2024 4:15 pm |
Обращение к ID разными методами(как дополнение +- к константе, к адресации и т.д.) спасет от Seriyvolk писал(а): мамкиных хакеров но прошивки под разные ID придется делать разные и компоновать по разному что при количестве не вариант. Добавлено: Tue Nov 26, 2024 4:45 pm |
Ivani писал(а): спасет от А ты пробовал? =) Добавлено: Tue Nov 26, 2024 4:54 pm |
Seriyvolk писал(а): прерывания в быструю оперативку Это та, которая Core Coupled Memory? Надо проверить, кстати. Из обычной ОЗУ наоборот код вдвое медленнее работает, чем из флеша. С удивлением узнал об этом, когда писал свой бутлоадер. Добавлено: Tue Nov 26, 2024 5:13 pm |
N1X писал(а): А ты пробовал? =)От меня без серьезной мотивации спасет, не думаю что "мамкиных хакеров" настойчивее. Добавлено: Tue Nov 26, 2024 5:52 pm |
Доктор Зло писал(а): Это та, которая Core Coupled Memory? Ага, именно она. Учти, что с ней DMA не работает. Добавлено: Tue Nov 26, 2024 6:32 pm |
Ivani писал(а): не думаю что "мамкиных хакеров" От мамкиных RDP1 достаточно. Думаю Волк слегка слукавил. А если недостаточно - то уж для таких порыться в коде не проблема. Тем более что как правило задача заставить работать оригинальную прошивку не стоит. Нужно только выдрать важные куски и написать свою... Но и выловить все эти "относительные обращения" современными средствами не проблема (ну точнее чтобы выловить было сложно - на их "всовывание" нужно не меньше усилий затратить, что слегка не рентабельно, т.к. результат сомнителен) Добавлено: Tue Nov 26, 2024 7:02 pm |
Seriyvolk писал(а): Ну и как, норм CAN от внутреннего пашет? Я что-то не рискнул, ссыкотно, кварц заложил в проект с CAN-ом. На STM32F10х(105 и 107) работает без проблем. Для фильтра можно температуру кристалла мониторить и корректировать дрейф тактирования. Добавлено: Tue Nov 26, 2024 10:11 pm |
N1X писал(а): И кстати тут чисто праздное любопытство: почему RDP2 низя? Не во всех семействах оно есть. В том же STM32F10х = только Level 1 Добавлено: Tue Nov 26, 2024 10:15 pm |
Break_Neck писал(а): Для фильтра можно температуру кристалла мониторить и корректировать дрейф тактирования. Сэкономить 10 центов, чтоб поиметь гемора? Break_Neck писал(а): В том же STM32F10х = только Level 1 И только в F1. Устаревшее говно, которого я даже не касался. Хотя любители делать CAN-фильтры упарываются по этому старью до сих пор. Добавлено: Wed Nov 27, 2024 1:32 am |
Break_Neck писал(а): В том же STM32F10х = только Level 1 Да, это уже просто за скобками оставил. Сотка в плане защиты в принципе дырявая и это уже наверное не для кого не секрет... Добавлено: Wed Nov 27, 2024 7:42 am |
Есть еще 1 возможный подводный камень - у китайских клонов UI может быть одинаковый или программируемый, что то связанное с STM по поводу этого проскакивало. Добавлено: Wed Nov 27, 2024 8:31 am |
Лицензионное соглашение (c)Flyback.org.ru Российское общество любителей высоких напряжений. Использование материалов с данного сайта и форума возможно только с разрешения администрации. |