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

Пользователь

Отправить сообщение

Взломать мобильную онлайн игру? Легко!.

Время на прочтение 24 мин
Количество просмотров 637K
Привет, хабр! Сегодня я расскажу вам о том, с чем вы можете столкнуться, если вдруг решите залезть в дебри чужого приложения на Android (в данном случае, онлайн игры). Приключения с просмотром Java-классов в .dex, изучение оп-кодов Dalvik и даже программирование в двоичном коде. Но обо всем по порядку.

Под катом трафик на ~800кб, 293 из которых – скриншоты кода (!)
Господи, кто же сохраняет код скриншотами
Всего голосов 118: ↑116 и ↓2 +114
Комментарии 29

Создание прокси-dll для проверок эксплуатации dll hijack

Время на прочтение 7 мин
Количество просмотров 9.6K
Когда я исследую безопасность ПО, то одним из пунктов проверки является работа с динамическими библиотеками. Атаки типа DLL hijack («подмена dll» или «перехват dll») встречаются очень редко. Скорее всего, это связано с тем, что и разработчики Windows добавляют механизмы безопасности для предотвращения атак, и разработчики софта аккуратнее относятся к безопасности. Но тем интереснее ситуации, когда целевое ПО уязвимо.

Если описать атаку коротко, то DLL hijack — это создание ситуации, в которой некоторый исполняемый файл пытается загрузить dll, но атакующий вмешивается в этот процесс, и вместо ожидаемой библиотеки происходит работа со специально подготовленной dll с полезной нагрузкой от атакующего. В результате код из dll будет исполнен с правами запускаемого приложения, поэтому в качестве цели обычно выбираются приложения с более высокими правами.

Чтобы загрузка библиотеки прошла корректно, необходимо выполнить ряд условий: битность исполняемого файла и библиотеки должна совпадать и, если библиотека загружается при старте приложения, то dll должна экспортировать все те функции, которые это приложение ожидает импортировать. Часто одного импорта мало — очень желательно, чтобы приложение продолжило свою работу после загрузки dll. Для этого необходимо, чтобы у подготовленной библиотеки функции работали так же, как и у оригинальной. Реализовать это проще всего, просто передавая вызовы функций из одной библиотеки в другую. Вот именно такие dll называют прокси-dll.



Под катом будет несколько вариантов создания таких библиотек — как в виде кода, так и утилитами.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 21

Модификация к игре на основе dll-wrapper'a

Время на прочтение 4 мин
Количество просмотров 5.3K
Имеется игра In Verbis Virtus с необычной механикой — творить заклинания с помощью микрофона.

Это не симулятор Амаяка Акопяна, это головоломка от первого лица с нетипичным управлением.
Для этого в игре используется библиотека распознавания речи Sphinx.

Задумка выглядит интересной, но реализация вышла так-себе (распознавание очень часто промахивается), да и кастовать после первых 20 минут откровенно надоедает.
О том, как это выглядит со стороны — вообще молчу.

Разработчики, к сожалению, не оставили возможности управления заклинаниями с клавиатуры, и я решил это исправить.
Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Комментарии 4

Любая интернет-компания обязана тайно изменить программный код по требованию властей

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

Любая интернет-компания обязана тайно изменить программный код по требованию властей


6 декабря 2018 года парламент Австралии принял Assistance and Access Bill 2018 — поправки к Telecommunications Act 1997 о правилах оказания услуг электросвязи.

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

По сути это аналог российского «закона Яровой», который требует от интернет-компаний обязательной расшифровки трафика по запросу правоохранительных органов. В отдельных моментах австралийский закон даже более суровый, чем российский. Некоторые эксперты недоумевают, как такое законодательство вообще могло быть принято в демократической стране и называют его «опасным прецедентом».
Всего голосов 79: ↑73 и ↓6 +67
Комментарии 461

Пробрасываем вызовы Steam API из Wine в GNU/Linux и обратно с помощью Nim

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

У игроков на платформе GNU/Linux множество проблем. Одна из них — необходимость устанавливать отдельный клиент Steam для каждой Windows игры из Steam. Ситуация усугубляется необходимостью установки ещё и родного клиента Steam для портированных и кроссплатформенных игр.

Но что если найти способ использовать один клиент для всех игр? За основу можно взять родной клиент, а игры для Windows пусть обращаются к нему так же как, например, к OpenGL или звуковой подсистеме GNU/Linux — средствами Wine. О реализации такого подхода и пойдёт речь далее.

Читать дальше →
Всего голосов 59: ↑56 и ↓3 +53
Комментарии 10

Поиск уязвимости методом фаззинга и разработка шеллкода для её эксплуатации

Время на прочтение 9 мин
Количество просмотров 22K
Для поиска уязвимостей все средства хороши, а чем хорош фаззинг? Ответ прост: тем, что он дает возможность проверить, как себя поведёт программа, получившая на вход заведомо некорректные (а зачастую и вообще случайные) данные, которые не всегда входят во множество тестов разработчика.

Некорректное завершение работы программы в ходе фаззинга позволяет сделать предположение о наличии уязвимости.

В этой статье мы:

  • продемонстрируем, как фаззить обработчик JSON-запросов;
  • используя фаззинг, найдём уязвимость переполнения буфера;
  • напишем шеллкод на Ассемблере для эксплуатации найденной уязвимости.

Разбирать будем на примере исходных данных задания прошлого NeoQUEST. Известно, что 64-хбитный Linux-сервер обрабатывает запросы в формате JSON, которые заканчиваются нуль-терминатором (символом с кодом 0). Для получения ключа требуется отправить запрос с верным паролем, при этом доступа к исходным кодам и к бинарнику серверного процесса нет, даны только IP-адрес и порт. В легенде к заданию также было указано, что MD5-хеш правильного пароля содержится где-то в памяти процесса после следующих 5 символов: «hash:». А для того, чтобы вытащить пароль из памяти процесса, необходима возможность удалённого исполнения кода.
Читать дальше →
Всего голосов 41: ↑38 и ↓3 +35
Комментарии 6

Реверс-инжиниринг визуальных новелл (часть 2)

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

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


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


Перед тем, как погружаться в пучины бинарных дампов, давайте прикинем, как работают большинство движков визуальных новелл. Визуальная новелла сама по себе состоит из текста (реплик героев, диалогов, промежуточного повествования), графики и звуков. Для того, чтобы ее воспроизвести пользователю, явно нужно свести все это воедино с помощью какого-то управляющего воздействия. В теории можно было бы зашить это все прямо в exe-файл, но в 99% случаев (ладно, вру, в 100% виденных лично мной) так все-таки не делают, а хранят такие инструкции отдельно в виде отдельной программы-скрипта. Как правило, скрипт пишется на особенном языке программирования (специфичном для движка), который выглядит как-то так:


Читать дальше →
Всего голосов 66: ↑64 и ↓2 +62
Комментарии 33

Реверс-инжиниринг визуальных новелл

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

Хочу признаться: я обожаю визуальные новеллы. Кто не в курсе — это такие то ли интерактивные книжки, то ли игры-в-которых-надо-в-основном-читать-текст, то ли радиоспектакли-с-картинками, преимущественно японские. Последние лет 5, наверное, художественную литературу в другом формате толком не вопринимаю: у визуальных новелл по сравнению с бумажными книгами, аудио-книгами и даже сериалами — в разы большее погружение, да и сюжет регулярно куда интереснее.

Читать дальше →
Всего голосов 49: ↑49 и ↓0 +49
Комментарии 53

«Луркоморье» приостанавливает работу

Время на прочтение 2 мин
Количество просмотров 48K
image
Дмитрий Хомак (в центре). Фото: ТАСС

Сегодня создатель и текущий руководитель проекта «Луркоморье» (Lurkmore, Лурк) Дмитрий Хомак объявил о намерении приостановить работу сайта. Основная причина — конфликт с Роскомнадзором, а также внесение в список «иностранных агентов» фонда «Династия».

Планы по дальнейшей работе с «Луркоморье» Дмитрий Хомак опубликовал (в несколько эмоциональной форме) на своей странице в Facebook.
Читать дальше →
Всего голосов 89: ↑78 и ↓11 +67
Комментарии 205

Noisli: онлайн-генератор фоновых шумов, помогающих сконцентрироваться

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


Один из главных отвлекающих факторов, мешающих сосредоточиться — шум. Однако не любой шум мешает работать — очень многие гораздо легче погружаются в «поток» под музыку или в шумном кафе. Существуют даже научные исследования, подтверждающие положительное влияние умеренного шума на решение творческих и интеллектуальных задач.

Сайт Noisli содержит коллекцию фоновых шумов на любой вкус и возможность смешивать их в произвольной пропорции. Здесь есть и звуки природы — шум дождя, плеск воды, пение птиц, шуршание листьев, и звуки техногенного характера — стук колёс поезда, звук работающего вентилятора, и звуки многолюдного кафе. Есть и искусственные белый, розовый и коричневый шум. Коллекция звуков постоянно пополняется.
Читать дальше →
Всего голосов 108: ↑103 и ↓5 +98
Комментарии 64

В мозге обнаружен механизм видеокомпрессии

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


Оказывается, мозг осуществляет эффективную компрессию сигнала, который поступает от органов зрения. Учёные из института невральных вычислений при Рурском университете (Германия) доказали, что зрительная кора подавляет избыточную информацию и сохраняет энергию, передавая лишь изменения между картинками. Примерно такие же методы используются в современных видеокодеках.
Читать дальше →
Всего голосов 101: ↑87 и ↓14 +73
Комментарии 97

Десятка лучших консольных команд

Время на прочтение 2 мин
Количество просмотров 198K
imageВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
Узнать больше
Всего голосов 382: ↑346 и ↓36 +310
Комментарии 215

Облака — ещё дешевле

Время на прочтение 5 мин
Количество просмотров 115K
Наверняка вы слышали о сервисах Amazon EC2, Rackspace и им подобным. Может быть даже пользовались. Лично мне бывает нужен иногда личный VPN-сервер. Для этих целей я уже давно держал микро-инстанс на Амазоне, предоставляемый им в течении первого года бесплатно. Плюс использовал для архивов Amazon Glacier, который с его ценой «1 цент за гигабайт в месяц» можно считать тоже почти бесплатным. Но вот год закончился и за EC2 стало нужно платить. Архивы мои тоже разрослись прилично и затраты на Glacier аналогично перестали радовать.

Случайно пробежавший мимо обзор сервиса DigitalOcean по-началу оставил меня равнодушным. Ну, облачный сервис, ну виртуалки. Ну да, чуть-чуть дешевле (но не так чтобы уж очень), чего-то аналогичного Glacier вроде бы нет да и вообще оно того не стоит.

Я сильно ошибался. Ниже будет рассказано как на базе DigitalOcean сделать себе VPN-сервер в пару десятков раз дешевле такого же на Амазоне и сервис хранения архивов, в бесконечность раз дешевле Glacier.
Читать дальше →
Всего голосов 120: ↑102 и ↓18 +84
Комментарии 87

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность