Pull to refresh
-1
0
Виктор @vitecd

User

Send message

Модернизация IDA Pro. Исправляем косяки процессорных модулей

Reading time10 min
Views5.1K


Привет всем,


Спустя довольно-таки продолжительное время с момента написания первой статьи я всё-таки решил, пусть и по чуть-чуть, но писать статьи на тему модификации/улучшения IDA Pro.


В этой статье пойдёт речь о том, как правильно исправлять косяки в тех процессорных модулях, исходников которых у вас нет, а косяки прям-таки жить не дают. К сожалению, не все указанные ниже проблемы можно отнести к косякам, поэтому разработчики вряд ли станут их реализовывать.

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments1

Запуск Тетриса на осциллографе из 90-х

Level of difficultyMedium
Reading time20 min
Views11K

В этой статья я хочу рассказать о том, как я запустил Тетрис на старом цифровом осциллографе. Без пайки и бега по граблям не обошлось... Зачем я это сделал — просто Just for fun.

Читать далее
Total votes 112: ↑111 and ↓1+110
Comments8

Разбираем ресурсы Twisted Metal 4 (PSX) в Ghidra. Часть 1

Reading time9 min
Views3.5K


Всем привет,


В данной статье я расскажу о реверс-инжиниринге ресурсов игры Twisted Metal 4 для первой Playstation. В качестве основного инструмента я буду использовать Ghidra.


Наверняка вы слышали об игровой серии Twisted Metal. А кому-то, наверное, довелось и поиграть (мне нет). По словам тех, кто играл в четвёртую часть, в игре имеются некоторые неприятные баги. Так вот, реверс-инжиниринг должен помочь исправить их. Поехали…

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments6

Модернизация IDA Pro. Учимся писать загрузчики на Python

Reading time33 min
Views12K


Привет всем,


цикл статей по написанию разных полезных штук для IDA Pro продолжается. В прошлый раз мы исправляли процессорный модуль, а сегодня речь пойдёт о написании модуля-загрузчика (лоадера) для одной винтажной операционной системы, а именно — для AmigaOS. Писать будем на Python. Также я постараюсь раскрыть некоторые тонкости при работе с релоками (они же relocations), которые встречаются во многих исполняемых файлах (PE, ELF, MS-DOS и т.п.).

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments5

.NET+Safeguard: Реверсинг без ассемблера

Reading time5 min
Views2.1K

Сегодняшняя статья будет посвящена реверсингу приложений, написанных с использованием фреймворка .NET. Сначала мы немного поговорим о том, что такое .NET, чем код на нем отличается от других сред разработки и затем разберем один обфусцированный Crackme, попутно рассмотрев ряд полезных инструментов для реверсинга .NET.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments0

Книга «Аппаратный хакинг: взлом реальных вещей»

Reading time16 min
Views7K
imageПривет, Хаброжители!

Встроенные системы трудно атаковать. Различных конструкций плат, процессоров и операционных систем слишком много, и это затрудняет их реверс-инжиниринг. Но теперь все станет проще — вас обучат два ведущих мировых эксперта по взлому аппаратного обеспечения. Пройдите ускоренный курс по архитектуре и безопасности встроенных устройств, узнайте об электрических сигналах, анализе образов прошивок и многом другом. Авторы объединяют теорию с практическими инструкциями, которые вы можете применить на реальном железе. Книга завершается описанием атак на такие устройства, как Sony PlayStation 3, Xbox 360 и лампы Philips Hue. В приложении приведен список всего оборудования, которое понадобится вам для домашней лаборатории, независимо от того, планируете ли вы модифицировать печатную плату или собирать и анализировать графики потребляемой мощности.

Для кого эта книга
Мы предполагаем, что вы берете на себя роль атакующего, который хочет взломать некую систему (исключительно из благих намерений). Мы также предполагаем, что в вашем распоряжении относительно недорогое аппаратное обеспечение, например простые осциллографы и паяльное оборудование, и компьютер с установленным Python.

Мы не ждем, что у вас дома найдется лазерное оборудование, ускорители частиц или другие вещи, которые любителю не по карману. А если такое оборудование у вас есть, например в лаборатории вашего университета, то книга станет еще полезнее. Что касается целевых встроенных устройств, то мы предполагаем, что у вас есть физический доступ к ним и что вам интересно с ними поэкспериментировать. И самое главное: мы предполагаем, что вам нравится изучать новые методы, вы мыслите в рамках обратного проектирования и готовы к глубокому погружению в тему!
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments4

Сказ о том, как я дизассемблировал Supaplex и почти написал клон с 3D графикой

Reading time4 min
Views39K
Картинка для привлечения внимания

Я думаю, большинство людей, кто застал времена DOS и ранних Windows 9x, играли или хотя-бы слышали о такой замечательной игре, как Supaplex. Лично для меня — это игра-легенда. Я до сих пор с трепетом вспоминаю долгие зимние вечера, проведённые в попытке пройти какой-нибудь сложный уровень на стареньком 286-м.

Так сложилось, что я программист. И не просто программист, а программист компьютерных игр. Так что, где-то в 2008 году я занялся написанием движка-«убийцы крузиса» (или что там было круто на тот момент, я уже не помню). Примерно через год меня настигло прозрение, что моих человеко-часов на проект уровня Unreal Engine не хватит. И я решил сделать легкую, «казуальную», версию движка и написать на ней пару простеньких игрушек.

Мой выбор пал на клон Supaplex. Правда, на тот момент уже существовало несколько клонов под Windows и другие платформы, поэтому просто писать все с нуля было неинтересно. Зато в мою голову заползла крамольная мысль: а что, если дизассемблировать оригинальный Supaplex и сделать игру с логикой, «идентичной натуральной». Такая задача казалась крайне заманчивой, и я взялся за её осуществление. Я заказал 3D-модельки у одного хорошего знакомого фрилансера и, пока он был занят моделлингом, я приступил к изучению пациента. Сразу предупреждаю, что я уже не помню многих деталей и могу что-то забыть или приврать, всё-таки это было довольно давно.
Читать дальше →
Total votes 75: ↑71 and ↓4+67
Comments34

CAN sniffer

Reading time9 min
Views78K
Непосредственно сама CAN шина используется уже много где, мне интересно её использование в автомобиле, хотя этой сферой можно и не ограничиваться. Тем более пару лет назад подвернулась такая возможность. Я посмотрел на общие спецификации — вроде бы ничего особо сложного нет. Посмотрел на программы, которые встречаются в интернете — и ни одна мне не приглянулась, у каждой не хватало чего-то такого, что казалось мне нужным на тот момент. Буду изобретать свой велосипед. Делаю свой CAN sniffer далее под катом.
Читать дальше →
Total votes 57: ↑57 and ↓0+57
Comments57

Искусство написания циклов на Python

Reading time4 min
Views82K


Цикл for — самый базовый инструмент потока управления большинства языков программирования. Например, простой цикл for на C выглядит так:

int i;
for (i=0;i<N;i++)
{
  //do something
}

Не существует более изящного способа написания цикла for на C. В сложных случаях обычно приходится писать уродливые вложенные циклы или задавать множество вспомогательных переменных (например, как i в показанном выше коде).

К счастью, в Python всё более удобно. В этом языке есть множество хитростей, позволяющих писать более изящные циклы, которые упрощают нашу жизнь. В Python вполне можно избежать вложенных циклов и вспомогательных переменных, и мы даже можем самостоятельно настраивать цикл for.

Эта статья познакомит вас с самыми полезными трюками по написанию циклов на Python. Надеюсь, она поможет вам ощутить красоту этого языка.
Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments41

Орион-128: радиолюбительский компьютер

Reading time9 min
Views141K
Исторически, первым массовым радиолюбительским компьютером был Радио-86РК, требовавший для построения всего 29 микросхем. Его существенным ограничением был то, что он поддерживал только текстовый режим и требовал трудно-доставаемых микросхем. Орион-128 — был логическим продолжением — также ориентирован на сборку радиолюбителями, имел больше памяти (128кб против 16/32кб) и поддерживал графический режим: 384 × 256 (в режиме 2 цвета, 4 цвета, и 2 цвета из палитры 16 цветов на каждые 8 пикселей). Ориентировочный размер популяции Орион-ов в период его пика популярности — около 30-40 тыс. компьютеров.

Орион появился у меня в 94-м году, и именно на Орионе я запускал свои первые программы (до него их приходилось писать «в стол»). К моменту приобретения первой PC-шки в 97-м — Орион начал глючить все забористее (не грузился с первого раза, приходилось много раз перезагружать...) и под конец перестал работать совсем. Отремонтировать я его тогда не мог, и все эти годы он пролежал без движения, но не забытым.

Этим летом я наконец решил попробовать его отремонтировать — что из этого получилось (а также обзор архитектуры и некоторых программных особенностей) — под катом.
Читать дальше →
Total votes 187: ↑186 and ↓1+185
Comments55

Паяем легендарную ATARI 2600 с нуля

Reading time5 min
Views14K

Atari 2600 или ее клонов у меня никогда не было, да и, в общем-то, не интересовался ею в принципе. Идея собрать свой клон с нуля родилась спонтанно после просмотра видео на Ютубе. Еще одной монетой в копилку этого проекта стала относительная простота схемы, желание напрячь мозг, ну и спортивный интерес.

Читать далее
Total votes 54: ↑54 and ↓0+54
Comments11

Проблемы утилизации отработанного оборудования зелёной энергетики

Reading time11 min
Views11K

Группа М.Видео-Эльдорадо внимательно относится к теме устойчивого развития (ESG). О том, как утилизируют электронику можно прочесть в нашем недавнем посте для Хабра. Тем любопытнее было изучить вопрос дальнейшей утилизации оборудования зелёной энергетики за рубежом.
Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments34

Современный Python: как начать свой проект с нуля при помощи Pyenv и Poetry

Reading time7 min
Views52K

Рассказываем, как начинающему разработчику установить и управлять различными версиями Python с помощью Pyenv, подготовить свой проект и создать виртуальное окружение через Poetry.

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments16

Поднимаем прозрачный прокси Squid на FreeBSD 13.0

Reading time4 min
Views13K

Хочу поделиться информацией по поднятию прозрачного HTTP и HTTPS прокси сервера Squid с фильтрацией сайтов и без подмены сертификатов на FreeBSD 13.0 RELEASE. На Хабре уже есть похожая статья по настройке прозрачного прокси сервера Squid с фильтрацией ресурсов и без подмены сертификатов на Linux. Решил актуализировать информацию на свежо установленной ОС FreeBSD 13.0 и поделиться с вами.

При использовании действий «peek-and-splice», сквид выдергивает имя ресурса с помощью SNI и клиент дальше работает с ресурсом. Т.е. не происходит подмена сертификата. Этот режим подходит для нашего прозрачного прокси.

Ставить Squid мы будем из портов, так как необходимо включить некоторые параметры в сборку, также для заворачивания трафика на порт прокси мы будем использовать пакетный фильтр PF.

Для начала скачиваем порты:

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments15

rusEFI: Hellen и новости

Reading time5 min
Views5.9K

TL,DR: gerbmerge+pdf merge+non-kicad interactivebom позволяет нам эффективно склеивать очень похожие, но при этом разные по форме и нюансам платы электронных блоков управления ДВС. Другие новости про rusEFI, до сих пор ищем единомышленников :)

В статье от 2014 года https://habr.com/ru/post/244737/ рассказ об открытом электронном блоке управления двигателями внутреннего сгорания rusEFI остановился на плате Frankenso. За четыре года мы продали 100 юнитов rusEFI, потом за последние 12 месяцев мы продали ещё 100 более современных юнитов, многому научились - но всё равно продолжаем пытаться понять, чего же именно мы хотим. Сейчас мы смещаем фокус с универсальности на устройства для конкретных семейств автомобилей с конкретными разъёмами и схожими распиновками ЭБУ, этим мы в том числе мечтаем привлекать программистов, которым не комфортно паять.

Давайте для начала я расскажу про Hellen https://github.com/andreika-git/hellen-one - это наш инструментарий разработки семейства модульных, склеенных из кусочков похожих, но всё-таки разных плат под конкретные проводки конкретных автомобилей.

Примерно год назад стало понятно, что универсальные блоки слишком сложны в поддержке: возможность управлять практически любым бензиновым двигателем с почти любыми оригинальными датчиками и формами сигналов ДПКВ/ДПРВ достигается только за счёт огромных усилий по поддержке нашей очень небольшой командой экспертов. При этом результат механически и электрически обычно выглядит всё равно очень плачевно. И со своей стороны мы устали сильно много допаивать руками после изготовления платы сервисом JLCPCB. Вместо большого универсального https://rusefi.com/s/proteus и маленького универсального https://rusefi.com/s/microrusefi ЭБУ мы решили сделать пару десятков ЭБУ под конкретные распиновки конкретных популярных автомобилей, изначально оптимизированных именно под JLCPCB каталог компонентов. Не хотелось разрабатывать и поддерживать много плат под конкретные автомобили ручным копированием блоков схемы и блоков трассировки. Наше решение: Hellen One Framework, это набор скриптов для склеивания gerber, PDF схем, описаний монтажа и HTML просмотрщика плат.

читать далее
Total votes 20: ↑20 and ↓0+20
Comments11

LIDAR от Mazda. Тестируем, ставим на Lada

Reading time4 min
Views33K


Здравствуйте.
В этот раз мне в руки попал самый настоящий LIDAR от автомобиля Mazda CX5, примерно 2012г. выпуска. В этой статье я намерен разобрать модуль и включить его на столе. И самое смешное, я установлю сей LIDAR в Datsun Mido (Лада Калина в девичестве).
Total votes 46: ↑43 and ↓3+40
Comments66

Лучшие статьи автомобильной тематики для разработчиков на Хабре [170+]

Reading time6 min
Views6.8K
image


  • По данным Международной ассоциация автопроизводителей (OICA) на 2015 год в мире эксплуатировалось 947 млн легковых и 335 млн коммерческих автомобилей (источник)
  • К 2050 году на дорогах мира будет в два раза больше автомобилей, чем сегодня, за ближайшие 30 лет добавится как минимум 1,2 миллиарда машин, подсчитали аналитики Всемирного банка.
  • Число легковых автомобилей, зарегистрированных на территории Российской Федерации, — чуть более 42 миллионов. (источник)

В рамках недавно анонсированной парадигмы работы с информацией «Ontol» мы просмотрели около 1500 статей по автомобильной (automotive) тематике на Хабре и вместе с сотрудниками НПП ИТЭЛМА выбрали самые интересные и полезные, на наш взгляд, материалы (присылайте свои тоже):

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments6

Что можно сделать через разъем OBD в автомобиле

Reading time4 min
Views62K
Ни для кого не секрет, что в современных автомобилях все системы под завязку забиты различной электроникой, даже простой стеклоподъемник имеет собственный микроконтроллер и адрес в общей сети. Мне, как интересующемуся владельцу, стало интересно, что же можно сделать имея просто доступ к разъему OBD и ничего более.
Total votes 67: ↑67 and ↓0+67
Comments72

Невыдуманные истории из телекома начала 2000-х

Reading time14 min
Views45K

Эти невыдуманные истории... хотя ладно, давайте на всякий случай считать что они целиком и полностью выдуманные, а любые совпадения с реально существующими людьми, компаниями и явлениями совершенно случайны.

Так вот, эти истории произошли в одном небольшом провинциальном городе в начале-середине 2000-х годов. Что такое ИТ и интернет в начале 2000-х в провинции? Домашний десктоп с Pentium 2 и 64 мегабайтами ОЗУ – весьма неплохая машина. Pentium 3 и 128 Мб – уже очень даже мощная. Основная ОС для домашнего пользователя – Windows 98, а те, кто посмелее и поподкованее используют прекрасную Windows 2000, которая в отличие от старой NT4 повернута к пользователю лицом, а не чем-то еще, а в отличие от линейки 95/98/ME не падает в синий экран от неудачного щелчка мышкой.

Читать далее
Total votes 122: ↑120 and ↓2+118
Comments149

Восстановление 4-летнего автомобильного AGM аккумулятора

Reading time5 min
Views71K
В декабре 2019 в лабораторию прибыл аккумулятор Volvo AGM V022A 70А*ч, производство 40-я неделя 2015 года, т.е. 4 года назад. Автомобиль долгое время простаивал, АКБ соответственно разрядилась, после чего был произведён обычный подзаряд, затем автомобилем пользовались.
Осторожно, много картинок и медиа
Total votes 37: ↑37 and ↓0+37
Comments7
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity