Рубрика «reverse engineering»

Эта статья завершает цикл статьей про формат сегментных NE файлов
для Microsoft Windows 1.x-3x и OS/2 1.x.
Эта часть содержит значительно больше информации, о несостыковках
с официальными документами. Это не только обзор, сколько
попытка открыть глаза на то, что "Не все так просто, как кажется на первый взгляд."

Я специально собираюсь писать обо всём, строго после эксперементов
и фиксаций. Анализ импортов оказался сложнее ожидаемого, но результаты стоили усилий.
Теперь после эксперементов с Microsoft LINK.EXE и Watcom, я готов объявить и описать,
всё с чем я столкнулся.

Содержание

Всем привет, меня зовут Алексей Ляховский, я на протяжение последних 10 лет занимаюсь изучением, разработкой и развитием экосистемы часов Xiaomi для глобального сообщества.

Сегодня у меня в работе самый популярный продукт линейки часов Xiaomi - Mi Band 9.
Предыдущее поколение часов этой серии, но это не так важно, поскольку текущий Mi Band 10 не сильно отличается от нашего обозреваемого пациента.

Читать полностью »

Я сражаюсь с Wwise (фото в цвете, восстановлено)

Я сражаюсь с Wwise (фото в цвете, восстановлено)

Преамбула

Читать полностью »

Еще пара слов об устройстве NVRAM в UEFI-совместимых прошивках (про Dell DVAR) - 1

Здравствуй, читатель. С моих прошлых статей про Читать полностью »

Всем привет!

Меня зовут Алферов Валентин, я руководитель отдела маркетинга компании Е-Флопс. В этой статье хочу поделиться с вами опытом наших программистов, которые рассказали мне эту историю в красках и продемонстрировали результаты.

Дано:
Серверная плата с самым свежим чипом от Aspeed. На плате распаяны два видео-разъема, идущих напрямую с чипа: VGA и DisplayPort. Видео через древний аналоговый VGA-разъём воспроизводится замечательно, а вот современный быстрый и цифровой DP работать не хочет. Не то чтобы совсем не хочет... так, редкие нестабильные промаргивания картинки.

Задача:
Читать полностью »

Когда-то давно, году в 2013-м, мне на глаза попался следующий код:

>>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++
++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[
[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]
<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+
<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+
>>-[<<+>++>-[<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>
]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>>]<<[>+>]<<[+<<
]<]

Это интерпретатор языка Brainfuck, написанный на самом Brainfuck. Ссылки на оригинал у меня не осталось, только код, так что автора я назвать не смогу.
Читать полностью »

Имеем Nissan Murano 2005 года выпуска. Американец. Ни блютуза ни, уж тем более, цифровой приборной панели, а хочется. Если с блютузом проблема решается прикручиванием устройств подобных этому:

Реверс инжиниринг приборной панели Nissan Murano Z50 - 1

…то оцифровать приборную панель уже будет посложнее. Однако, глаза боятся, а руки делают.

Для экспериментов я приобрел приборку от европейца, но принципиально она ничем от американца не отличается, кроме как расположением кнопок одометра и стоп-сигнала, и настройками тока для стрелочки спидометра (а еще она не такая жирная и не пытается найти у меня нефть). Дело в том, что у европейца и американца отличается максимальная скорость на спидометре, соответственно при 240км/ч на американце, европеец покажет приблизительно 210. Таким образом, графическая накладка не взаимозаменяемая:

Реверс инжиниринг приборной панели Nissan Murano Z50 - 2

Далее, согласно документации на приборную панель (файл Приборка.pdf, все архивы оставлю в конце) подключаем питание к приборке.  Контакты 22, 23, 24 черные провода, на схеме обозначены буквой «B» подключаем к минусу (один или все вместе неважно), и контакты 21«Y/R» — желтый с красной полосой и 20«O» — оранжевый (оба сразу) к + 12 вольтам. Контакт 15«R/W» красный с белой полосой это освещение приборки, то же 12 вольт, но подключать не обязательно. Важное замечание: фактический номер контакта может отличатся от указанного в схеме, ибо инженеры нисан – японцы на всю голову и менуют номер контакта по японскому! То есть на плате три штекера — один основной для подключения к тачке и два для подключения кнопок стоп-сигнала и сброса одометра. Так вот вместо того, чтобы обозначить в каждом штекере контакты от 1 и до максимального, они объединили номера всех трех штекеров в одну группу, таким образом первый по номеру контакт находится на первом штекере, а последний на третьем. Короче ориентируйтесь по цветам и моим картинкам. Вот фото задней части:
Читать полностью »

image

Новая линейка компьютеров Apple Mac содержит в себе разработанную самой компанией SOC (систему на чипе) под названием M1, имеющую специализированный GPU. Это создаёт проблему для тех, кто участвует в проекте Asahi Linux и хочет запускать на своих машинах Linux: у собственного GPU Apple нет ни открытой документации, ни драйверов в open source. Кто-то предполагает, что он может быть потомком GPU PowerVR, которые использовались в старых iPhone, другие думают, что GPU полностью создан с нуля. Но слухи и домыслы неинтересны, если мы можем сами заглянуть за кулисы!

Несколько недель назад я купила Mac Mini с GPU M1, чтобы изучить набор инструкций и поток команд, а также разобраться в архитектуре GPU на том уровне, который ранее не был публично доступен. В конечном итоге я хотела ускорить разработку драйвера Mesa для этого оборудования. Сегодня я достигла своего первого важного этапа: теперь я достаточно понимаю набор команд, чтобы можно было дизассемблировать простые шейдеры при помощи свободного и open-source тулчейна, выложенного на GitHub.
Читать полностью »

Программируемая Логическая Интегральная Схема (ПЛИС) может реализовать произвольную логику, что угодно, от микропроцессора до генератора видеосигнала или майнера криптовалюты. ПЛИС состоит из множества логических блоков, каждый из которых обычно состоит из триггера и логической функции, а также из сети проводников, соединяющей логические блоки. Что делает ПЛИС особенной, это то, что она является программируемым аппаратным обеспечением, вы можете сконфигурировать каждый логический блок и соединения между ними. В результате вы можете построить сложную цифровую схему без физического соединения каждого логического элемента и триггера, что обошлось бы вам в стоимость разработки заказной интегральной схемы.

Обратная разработка XC2064 — первой микросхемы FPGA - 1
Фотография показывает один из 64 блоков микросхемы XC2064. Слои металлизации убраны, мы видим кремний и поликремниевые транзисторы, лежащие под металлизацией. По ссылке вы можете увидеть фото в большем масштабе: siliconpr0n.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js