Pull to refresh
  • by relevance
  • by date
  • by rating

Bus Blaster — универсальный скоростной bit-bang интерфейс для терпеливых энтузиастов

DIY
Recovery mode


Мне давно хотелось иметь какой-нибудь простой и универсальный аппаратный интерфейс с несколькими входными и выходными сигналами, функциональность которого определяется исключительно софтом, вроде достопамятного программатора PonyProg. И чтобы его можно было использовать не только как чтения/записи прошивок, но и для отладки программ через JTAG. При этом покупать что-либо промышленное, при моем нерегулярном баловстве с электроникой, избыточно и нерентабельно — требовалось что-то из серии «полуфабрикатов», на основе bit-bang.

Что такое bit bang и зачем он нужен
Кое-кто еще помнит, что в счастливые времена Windows 9x каждая системная плата и каждый ноутбук в обязательном порядке имели последовательный (COM) и параллельный (LPT) порты. В ту пору для организации интерфейса с микросхемой ППЗУ, служебными контактами мобильника или передней панели магнитолы достаточно было припаять к разъему порта несколько резисторов, диодов и транзисторов. Все остальное делали обычные пользовательские приложения, самостоятельно формировавшие сигналы нужного протокола путем выставления нулей или единиц на нужных выводах, и считывания сигналов на входах. У клятых буржуев это называлось bit-bang, а у нас — «дрыгоножество», «ногомашество» и т.п.

С переходом на 2k/XP возникли сложности с прямым доступом к портам ввода/вывода, но они успешно решались костылями вроде giveio. Гораздо сильнее портила жизнь более высокая фоновая активность в NT, из-за которой сложнее было выдержать стабильность передачи и приема.

Как известно, на современных компьютерах, тем более — ноутбуках, с аппаратными портами не густо, ибо большинству пользователей они не нужны. USB-адаптеры для подключения устройств с интерфейсами RS232 и Centronics (в просторечии — COM/LPT) хорошо работают лишь в рамках основного назначения, а делать на них «дрыгоножество» проблематично по целому ряду причин. Во-первых, большинство этих адаптеров умеет обрабатывать с хорошей скоростью только сигналы данных (те же Tx/Rx), а управляющие сигналы обрабатывает с большими задержками. Во-вторых, адаптеры различных производителей аппаратно несовместимы, а возможности нестандартного управления через драйвер производителя сильно ограничены. В-третьих, для передачи команд адаптеру почти все драйверы используют отдельные USB-пакеты, что ограничивает частоту смены состояний всего тысячей раз в секунду, чего для многих применений катастрофически мало.

К счастью, компания FTDI уже давно предлагает ряд решений для USB, ориентированных именно на скоростной обмен произвольными сигналами. Беглое изучение вопроса показало, что наиболее популярны в этом плане интерфейсы на микросхемах FT232H/FT2232H.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Views13.2K
Comments 10

Xbox Underground. Юные и беспечные

Information SecurityGame developmentGames and game consoles
Translation
Банда хакеров-подростков добыла ключи от империи видеоигр Microsoft. Потом они зашли слишком далеко.



1. Бампер


Поездка в Делавэр планировалась всего на день. Дэвид Покора, старшекурсник-очкарик из университета Торонто с неряшливыми светлыми волосами до плеч, отправился на юг, чтобы выбрать бампер для своего тюнингованного Volkswagen Golf R.

Американский продавец отказался отправлять деталь в Канаду, поэтому Покора договорился со своим приятелем Джастином Мэем, который жил в Уилмингтоне. Оба парня ярые геймеры увлекались взломом Xbox. Хотя они чатились и сотрудничали много лет, но никогда не встречались лично. Покора планировал восьмичасовую поездку в пятницу, чтобы спокойно поужинать с Мэем, а затем привезти металлический синий бампер домой в Миссиссогу, штат Онтарио, той ночью или рано утром следующего дня. Отец предложил помощь, так что они могли по очереди вести семейную «Джетту».
Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Views19K
Comments 17

Как я реанимировал устройство (JTAG-эмулятор BH-USB-560v2) через U-Boot

Data recoveryReverse engineering

У меня есть сомнения, что JTAG-эмулятор для отладки процессоров фирмы Texas Instruments — настолько распространённое устройство, чтобы его реанимация была бы кому-то интересна. Однако статья может быть полезна тем, кто пытается реанимировать что-нибудь на базе одноплатника с Linux, имея ограниченные ресурсы и информацию. Можно рассматривать это как некоторый практикум работы с U-Boot.


Blackhawk USB560v2

Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Views17.7K
Comments 9

Бюджетный отладчик к ESP-32 и его настройка

DebuggingProgramming microcontrollers
Sandbox
Tutorial

Недавно при написании библиотеки к ESP-32 возникла необходимость ловить дедлоки, которые возникали иногда из-за моей криворукости, что породило необходимость покупки платы-отладчика с интерфейсом JTAG. Что из этого вышло — читайте под катом.

Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views16.3K
Comments 12

Ода любимому компаньону. Энциклопедия владельца Dell Latitude D820/D830

GadgetsComputer hardwareOld hardwareLaptopsDIY
Tutorial

Можно научиться на своих ошибках и ошибках других, успех таких уроков не преподнесет.
Майкл Делл


Большая часть идей статей у меня рождается из обсуждения различных технических и около- тем в Facebook. Вот и на этот раз в теме батарей к ноутбукам разгорелась жаркая полуночная дискуссия. Из которой я вынес, помимо понимания о том, что не все предохранители одинаково полезны, еще и сентиментальное то… что у меня есть настоящий железный друг. Не знаю, многие ли смогут похвастаться таким из читателей.


Мой старенький ноутбук. Который кочует со мной с университетской скамьи. Которого я могу собрать разобрать с закрытыми глазами (как солдат свой автомат), который видел курсовые, романтическую переписку, чертежи проектов и… и надеюсь увидит еще многое-многое увидит...


И вот подумал я в один прекрасный момент, что было бы неправильно, не вписать в хабра-скрижали эту боевую машину, и не отметить наконец то, о чем всевозможные "обозреватели" на своих "хардварных" сайтах не пишут. Тем более, что за более 10 лет бессменной эксплуатации накопилось достаточно много полезной информации (читать "Dell Tick&Tricks"). Так что сегодня, ребята, я хочу рассказать вам про ноутбук DELL Latitude D8х0 (бонусом, как всегда — отвлеченные рассуждения на тему LPC post-карт, предательства NVidia, самодеятельной 3D печати и замены аккумуляторных банок в старых ноутбучных аккумуляторах). Есть интерес — идем под кат (прим. — читаем внимательно, в конце тест :) )


Читать дальше →
Total votes 40: ↑37 and ↓3 +34
Views24.3K
Comments 93

Аппаратный взлом жёсткого диска

Information SecurityReverse engineeringComputer hardwareData storaging
Translation

Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Address). Компьютер, к которому подключен жёсткий диск (hard drive, HD), может считывать и записывать данные в эти сектора. Обычно используется файловая система, абстрагирующая все эти сектора до файлов и папок.

Неспециалисту может показаться, что оборудование HD должно быть довольно простым: достаточно всего лишь устройства, подключаемого к порту SATA, которое может позиционировать свои головки чтения/записи и считывать или записывать данные на пластины. Однако их работа намного сложнее: разве жёсткие диски не занимаются обработкой сбойных блоки и атрибутов SMART, и не имеют кэша, с которым тоже каким-то образом нужно работать?

Всё это подразумевает, что в жёстком диске есть что-то умное, а умность устройства подразумевает возможность его взлома. Меня всегда интересовали возможности взлома, поэтому я решил узнать, как жёсткие диски работают на немеханическом уровне. Подобные исследования уже проводились с разными видами оборудования, от PCI-карт расширения и встроенных контроллеров до ноутбуков и даже клавиатур Apple. Обычно исследования проводились для того, чтобы доказать, что возможность взлома этих устройств может привести к компрометации ПО, поэтому я захотел воспользоваться тем же подходом: создавая этот хак, я стремился создать жёсткий диск, способный обходить программную защиту.
Читать дальше →
Total votes 129: ↑128 and ↓1 +127
Views103.8K
Comments 39

Использование бюджетных JTAG-отладчиков в PlatformIO

Programming microcontrollersDeveloping for ArduinoDIYElectronics for beginners
Sandbox
Tutorial

В этом туториале я хотел бы рассказать о том, как использовать ультрабюджетные JTAG-отладчики CJMCU FT232H и RV-Degugger-Lite в PlatformIO для прошивки и отладки устройств на платформах ESP32 и GD32. Полноценной инструкции на просторах интернета я не нашел, и в процессе настройки столкнулся со многими проблемами, поэтому этот туториал появляется здесь для вашего удобства. Оговорюсь сразу, что настройка прописана для Linux, но для Windows принципиальной разницы нет за исключением танцев с Zadig.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views1.7K
Comments 3
2