В прошивках редко есть удобные символы и понятная точка входа, зато почти всегда остаются следы: строки, таблицы адресов, магические значения, обработчики прерываний и вызовы RTOS. Разбираем, как использовать эти зацепки в Ghidra, чтобы постепенно превратить сырой бинарник в осмысленную карту функций, данных и связей между ними. Понять Ghidra
Можно ли доверять ответу нейросети?Получить ответ от нейросети — только половина задачи. Не менее важно понять, насколько этому ответу можно доверять.В новой статье делюсь своим взглядом на существующие методы верификации.В статье: классификация подходов, их ограничения и рекомендации, какие методы стоит использовать, а каких лучше избегать и немного формальных рассуждений. Читать далее
Мы были уверены, что наш DRC-движок универсален.На SKY130 он совпадал с эталонным KLayout до последнего нарушения: тесты зелёные, расхождения нулевые, поведение стабильное от прогона к прогону. Из этого казалось очевидным, что движок применим к любому техпроцессу. Он же просто исполняет правила из деки и ничего не знает про конкретную фабрику.Мы эту мысль не проверили. Мы в неё поверили. И это разные вещи, как выяснилось. Читать далее
Совершенно точно каждый из нас (java-разработчиков), когда-либо встречал в своей жизни понятие "прокси" из Spring. Кто-то на уровне подготовки к собесам, а-ля "@Async создает прокси", а кто-то споткнувшись на self-invocation в собственном классе.И большинство, собственно как и я до определенного…
Я занимаюсь разработкой, и как большинство людей с техническим складом ума, когда что‑то работает не так — ищу способ это починить. Желательно программно.Более десяти лет назад я серьёзно занялся звуком. Мои попытки получить хорошее качество воспроизведения…
В прошлый раз мы поговорили о том, с какого возраста учить детей программированию (там, кстати, в комментариях разгорелась важная дискуссия о том, нужно ли вообще учить детей программированию), и разговор уже зашел у нас про форматы, так что сегодня продолжаем его же. В помощь нам
Жизнь в стране с жарким климатом волей-неволей заставляет взяться за выращивание чего-либо. Я этот путь начал с острых перцев чили, которым нужно много солнца и регулярный полив. Сняв пару урожаев, я задумался о том, что было бы здорово попробовать выращивать их на гидропонике, то
Автор и его команда на протяжении многих лет оказывали услугу по подаче уведомления в Роскомнадзор о начале обработки персональных данных, а сейчас решил бесплатно поделиться подробнейшей инструкцией (без воды, все со скриншотами и примерами заполнения).В текущий момент…
Привет! Сегодня хочу поделиться, как мне кажется, очень полезной информацией о такой важной теме, как Opaque types vs Existensial Types vs Generics — что это такое, в чем разница и что выбрать. Я действительно считаю эту тему важной, поскольку это мощнейшие инструменты, которые нам дает swift, чтобы сделать код более гибким, поддерживаемым, универсальным и без лишнего дублирования. Итак, погнали. Читать далее
Посмотрите в окно. Видите три дерева?Это первый вопрос теста «3-30-300» — стандарта, который стал основным инструментом для решения универсальной городской проблемы: достаточно ли в этом городе деревьев и расположены ли они в нужных местах?Тест «3-30-300» прост. Из каждого дома, школы…