Как стать автором
Обновить
150.55

Реверс-инжиниринг *

Расковырять и понять как работает

Сначала показывать
Порог рейтинга
Уровень сложности

Использование старого фискального регистратора в качестве термопринтера

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K
Приветствую всех!
Один из самых частых вопросов касательно старого оборудования, что мне обычно задают, звучит так: можно ли печатать произвольные данные на старых кассовых аппаратах? Действительно, несмотря на то, что после 2017 года старые ККМ были запрещены для торговли, чековые принтеры в них ещё не выработали свой ресурс, так что было бы странным не попробовать использовать их в своих проектах.



Итак, в сегодняшней статье разберёмся, как это делать. Заодно разберёмся, какие кассы поддаются переделке, а с какими всё будет сложно, посмотрим на начинку нескольких фискальных принтеров и увидим ещё много интересного.
Читать дальше →

Новости

Реверс-инжиниринг китайской камеры

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.7K

Около полутора лет назад я решил начать свое путешествие в область реверс-инжиниринга IoT-устройств. Сегодня я хотел бы рассказать о своем опыте и результатах исследования уязвимостей в китайской IP-камере Tenda CP3.

Что я подразумеваю под реверс-инжинирингом IoT-устройств?

Читать далее

Апгрейд по реверс-инженерски: хакаем прошивку кнопочного телефона и пишем для него программы

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.8K

Осторожно: в данной серии статей я рассказываю о реверс-инжиниринге и хакинге простых кнопочных звонилок. Цель простая: расширить скудный функционал телефонов ценой до 1 000 рублей и сделать их привлекательной платформой для самых разных гиков. Если вам интересно узнать, как происходит процесс взлома и изучения прошивок, а также написания новых программ для кнопочников — жду вас под катом!

Читать далее

Как я «случайно» получил root-доступ к платёжному терминалу

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.9K

Этот проект я посвятил реверс-инжинирингу платёжных терминалов, так как из-за сопряжённых с их использованием финансовых рисков они представляют особый интерес в плане безопасности. И хотя эта отрасль для меня была не особо знакома, я считал, что в таком устройстве должна быть куча всяких защит. По факту так оно и оказалось, в какой-то степени…
Читать дальше →

Оживляем топливомер из кабины «Боинга»

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.7K
Приветствую всех!
В большинстве статей о запуске старых авиаприборов речь идёт о стрелочных экземплярах. Цифровые же попадаются значительно реже ввиду их дороговизны и сложности в подключении. Самое время немного восполнить этот недостаток информации и рассказать что-нибудь и про них.



Так получилось, что мне достался вот такой цифровой измеритель уровня топлива из кабины Boeing 737-300. В ходе сегодняшней статьи разберём его, посмотрим, как он устроен и узнаем, как он работает. Как водится, будет много интересного.
Читать дальше →

Один на один с Rust

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.4K

Всем привет! Я Влад Лунин, занимаюсь анализом сложных угроз в экспертном центре безопасности Positive Technologies. В последнее время часто приходится сталкиваться с вредоносным ПО (ВПО), написанном на Rust, поэтому хочу поделиться своим опытом реверса исполняемых файлов, написанном на этом языке. ВПО бывает как очень простое, так и очень сложное в своей реализации, и чаще всего эта сложность обусловлена особенностями Rust. Расскажу, какие подходы применяю для успешного реверса, а также про сложности, с которыми сталкивался, и как их преодолевал.

Начинаем

Цифровые домофоны. Гость из Польши в российских подъездах

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров6.9K
Приветствую всех!
Уверен, эти девайсы знакомы многим из вас. Даже если вы не живёте в Москве или Питере, где расположена большая их часть, вероятность, что в вашем городе есть хотя бы один такой экземпляр, весьма высока. В своё время их ставили повсеместно: от «элитных» жилых комплексов до простых панельных пятиэтажек. И, конечно же, я никак не мог обойти их вниманием. Сложно найти ряд насколько разных, настолько же и идентичных между собой домофонов.



Сейчас мы поговорим об этих, казалось бы, простых, но на деле скрывающих много примечательного штуках. Увидим много интересного от Arduino в продакшне до бэкдоров и секретных кодов, заставим работать несколько экземпляров и посмотрим, как они устроены.
Читать дальше →

Greddy Multi DA — ремонт, ставший разработкой

Время на прочтение3 мин
Количество просмотров2K

В статье рассказывается о нетривиальном процессе ремонта электронного устройства, приведшему к разработке новой платы, программированию микроконтроллеров и всяким интересным изысканиям.

Если интересно, прошу под кат.

Читать далее

Создание анализатора верхнего уровня для логического анализатора Saleae

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.9K

Компания Saleae производит логические анализаторы и предоставляет программу Saleae Logic 2 для отображения, анализа и логгирования данных. Logic 2 поддерживает разнообразные интерфейсы и протоколы и их декодирование.
Для расширения функций анализатора в Logic 2 появилась возможность создания своих обработчиков и декодеров протоколов.

В представляемом материале рассматривается создание своего декодера - анализатора верхнего уровня (HLA).

Зачем?
Например, есть последовательность передаваемых по SPI байт. Стандартно, при правильной настройке, вы увидите значения этих байт. Но, может возникнуть вопрос интерпретации полученных данных.
Декодер может помочь в выводе данных в удобном виде и/или упростить анализ (reverse engineering) неизвестного протокола.

Читать далее

Зонтичный патент: сказка для взрослых заявителей

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1K

Зонтичные патенты — миф, в который продолжают верить инженеры, управленцы и даже патентоведы. Разбираем, откуда он взялся, как работает объём охраны патента и почему ему нужна адекватная формула, а не зонт.

Читать далее

Как я случайно поучаствовал в Bug Hunting Яндекса и взломал почти все умные колонки и ТВ

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров33K

Предыстория:

Являюсь инженером и одновременно владельцем сервиса по ремонту электроники.
Однажды мне принесли Яндекс Станция Мини и попросили поглядеть. Дефект был: нет звука, но при этом слышит. Не исправен оказался DAC (i2s) цифро‑аналоговый преобразователь, но найти такой оказалось очень проблемно, поэтому была найдена точно такая же колонка, но заблокированная из за не оплаченной подписки.
Суть подписки в том, что устройство покупается в рассрочку и оплачивается ежемесячно до полного выкупа, а если пропустить платёж то устройство блокируется, пока он не будет внесен. Идея, конечно, хорошая и полезная, но этим начали пользоваться мошенники покупая колонки на подписке, а потом сбывая их за полную стоимость, пока они еще активны и в последствии жертве устройство разблокировать «НЕВОЗМОЖНО».

Пересадка DAC полностью оживила колонку, а вот плату от заблокированной отставили мне. Бросив её на полку, я благополучно о ней забыл.

Однако, через пару месяцев, была сильная просадка по работе, было прям скучно, и она мне снова попала в руки. Когда‑то давно, более 15 лет назад, я занимался портирование android 1.6 на wm телефон toshiba g900, поэтому решил оживить знания. Тогда я еще не знал, что такое кроличья нора, насколько она глубока и как туда залезть.

Оговорочка: сразу сообщаю, я не был знаком с Yandex f*ck или с кем‑то еще, всё делал сам в виде челленжа для себя, не преследуя никакую наживу. Всё было проделано исключительно в целях самообразования, а цикл статей решил написать так как Яндекс не совсем честно поступил по моему субъективному мнению, а именно не считает, что уязвимость есть и возможно не собирается/не может это исправить.

Follow the rabbit

Запускаем раритетные платы фискальной памяти

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.1K
Приветствую всех!
Давным-давно, во второй половине девяностых, с появлением больших супермаркетов начали получать распространение различные системы по автоматизации торговли, в числе которых были кассы на базе обычных компьютеров. Примерно в то же время появилось требование оснащать кассовые аппараты фискальной памятью, что в сочетании с подобными системами породило немало кажущихся сейчас забавными или просто нелогичными конструктивных решений.



Что же это были за девайсы и чем такие кассовые аппараты отличались от обычных ПК? Сейчас и узнаем: взглянем на железо пары таких компьютеров и фискальный регистратор тех же годов. И, конечно же, попробуем увидеть всё это в работе.
Читать дальше →

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров19K

Нет, это не шутка и не кликбейт. Такое действительно возможно — правда через небольшой хак.

Недавно я задался вопросом: а возможно ли написать для ARM нативную программу, которая будет бесшовно работать сразу на 4-х операционных системах без необходимости перекомпиляции для разных платформ и ABI. Мне очень хотелось реализовать возможность писать кроссплатформенные эльфы для мобильных телефонов из нулевых и попытаться портировать на них эмуляторы ретро-консолей. Погрузившись в документацию на исполняемые форматы, я пришёл к выводу, что да — это возможно и смог реализовать такую программу на практике без читерства по типу VM! Всех гиков приглашаю под кат!

Читать далее

Ближайшие события

Сенсорные выключатели советской эпохи

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров23K
Приветствую всех!
Однажды на просторах форума по старой светотехнике мне попался пост про такой девайс как «Сезам» — первый (он же в каком-то плане и последний) советский выключатель света с сенсорным управлением. Тогда автору не удалось ни запустить его, ни разобраться, как он работает. И что-то меня сильно заинтересовало в них, отчего я решил раздобыть несколько экземпляров на опыты и узнать всё, что так и не смогли сделать до меня.



Итак, в сегодняшней статье посмотрим на эти интересные и во многом неоднозначные девайсы, детально разберёмся, как они устроены и работают, а также оживим доставшиеся мне экземпляры. Заодно выясним самое главное: есть ли у них какие-то шансы сегодня, или же единственная судьба у них — стать частью коллекции советской техники?
Читать дальше →

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

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.2K

Здравствуй, читатель. С моих прошлых статей про NVRAM прошло некоторое количество времени (за эти почти 10 лет мало что изменилось, и все эти форматы до сих пор с нами практически без модификаций), а моя работа на одну фруктовую компанию не позволяла мне писать статьи, тесты и посты без одобрения кучей непонятных людей, но теперь эта работа осталась в прошлом, а желание писать так и не пропало. 

Эта статья - практическая реализация этого желания, а поговорим мы в ней о формате Dell DVAR, и немного о декларативном языке для написания парсеров Kaitai Struct, на котором я недавно переписал парсеры всех известных UEFITool NE форматов NVRAM. 

DVAR я дрожащая, или право имею?

Эмулируем iPhone в QEMU

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.9K

Мы начали наше исследование по эмуляции iOS с изучения уже существующих опенсорсных решений. Ранее мы уже успешно запускали alephsecurity/xnu-qemu-arm64, но нас беспокоило то, что проект имеет статус read-only.

Затем мы попробовали TrungNguyen1909/qemu-t8030 и обнаружили в нём довольно много интересных фич:

возможность восстановления iOS (при помощи второго QEMU-«компаньона» для подключения по USB)

запуск iOS 14
самую свежую версию QEMU
удобную wiki о запуске эмулятора

Благодаря этому проекту мы быстро получили доступ к оболочке и ssh, изменив System/Library/xpc/launchd.plist, что стало отличной отправной точкой.

Читать далее

Реализация алгоритма PolyUnpack для распаковки вредоносного ПО

Время на прочтение9 мин
Количество просмотров912

Одним днём я читал отчёты по TI из различных источников. В одном из таких отчётов упоминался некий алгоритм для распаковки вредоносного ПО, под названием PolyUnpack. Мне стало интересно, и я решил изучить данную тему. Оказалось, что в Интернете очень мало информации по данному алгоритму. Из интересного я нашёл статью, в которой впервые был описан алгоритм и чью-то курсовую работу.

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

Читать далее

Децензурировать видео теперь проще, чем когда-либо

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5K

В прошлом месяце попросил ребят взломать часть моего видео на YouTube. Конкретнее — восстановить содержимое папки, которую «запиксил» начиная с отметки времени 4:57. Годами все так делают, чтобы размазать, точнее, «расквадратить» части видео с конфиденциальной информацией. И все это время слышно:

— Небезопасно же! Захотят — прочитают!

Так это правда? Как на самом деле‑то? Вопрос не праздный. Чтобы докопаться до истины, кинул клич:

— Пятьдесят баксов тому, кто скажет, что написано под квадратиками!
Читать дальше →

Прямая без препятствий. Часть 2. Защита мобильных приложений — выход найден?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров874

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

Меня зовут Николай Анисеня, и я продолжаю рассказывать о безопасности мобильных приложений. В предыдущей статье мы подробно поговорили о состоянии защищенности приложений и девайсов на настоящий момент. Если коротко — приятных новостей мало. Но выход есть. В этой статье расскажу о перспективах защиты.

Читать далее

Моя борьба с автоматикой шлагбаума SPbarrier

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров742

Стояла задача научиться управлять шлагбаумом через RS-485. Шлагбаум питерской конторы АПС-СПБ с китайской автоматикой управления. Можно управлять сухими контактами и через gsm модуль, который поддерживает управление через приложение (по факту замыкает тот же сухой контакт). Но как известно, это не наш метод!

Читать далее
1
23 ...