Обновить
35
0
Василий Е@bazilxp

DevOps

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

Точки соприкосновения JavaScript и Reverse Engineering

Время на прочтение8 мин
Охват и читатели26K


Если вы посмотрите описания вакансий на позицию Reverse Engineer, то вряд ли встретите там требование знания JavaScript. А если и встретите, то только в контексте его деобфускации на разных вредоносных страницах, обычно используемых эксплойт-паками.
И возможно ли вообще сосуществование JS (который некоторые даже называют веб-ассемблером) и мира low level с Assembler во главе?

Читать дальше →

Exploit Exercises: Введение в эксплуатацию бинарных уязвимостей на примере Protostar

Время на прочтение20 мин
Охват и читатели22K


Всем доброго времени суток. Продолжаем разбор заданий с сайта Exploit Exercises, и сегодня будут рассмотрены основные типы бинарных уязвимостей. Сами задания доступны по ссылке. На этот раз нам доступны 24 уровня, по следующим направлениям:

  • Network programming
  • Byte order
  • Handling sockets
  • Stack overflows
  • Format strings
  • Heap overflows
Читать дальше →

Детектим виртуальную машину на C#: 1 уровень

Время на прочтение14 мин
Охват и читатели27K

Одним жуть каким прохладным январским утром от знакомого прилетел вопрос — как на C# определить, не запущена ли программа в ОС (оконное приложение в ОС Windows 7 или новее) на виртуальной машине.


Требования к такому детектору были достаточно жёсткими:

  1. Должен быть полностью в исходных кодах,
  2. Должен собираться с помощью Visual Studio,
  3. Должен работать из-под аккаунта непривилегированного пользователя (нельзя использовать методы, требующие, к примеру, установки драйверов устройств, или иных операций, для которых нужны права администратора),
  4. Разрешено использовать .NET Framework 4.5 и никаких лишних зависимостей (типа Visual C++ Redistributable Package).


Под катом описание реализованного детектора на C# (в следующей части — с некоторыми элементами C++) и приличным количеством неприличного кода с использованием Visual Studio 2015 Community.


Структура публикации


  • 1 уровень. Изучение матчасти и простейших существующих решений:

    • немного теории касательно виртуализации,
    • реализация проверки ВМ с помощью данных из Windows Management Instrumentation (WMI).

  • 2 уровень. Поиск статей и публикаций про детектирование запуска в виртуальных машинах:

    • допиливаем реализацию с WMI,
    • работа с инструкцией CPUID.

  • 3 уровень. Поиск материалов с хакерских конференций:

    • допиливаем работу с CPUID,
    • делаем сводную таблицу параметров и результатов тестирования.
Читать дальше →

Краткая история развития игровых движков

Время на прочтение8 мин
Охват и читатели33K

О разработке игр и становлении игровой индустрии


image

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

Общая для игр функциональность — графические решения, игровые механики, расчет физики и другое — стала выделяться в отдельные библиотеки, но, для того чтобы быть «игровым движком» было еще далеко. Во многом это было связано с серьезным различием программно-аппаратных платформ и неопределенности в самих играх. Ведь жанры и типы игр еще предстояло изобрести, при том, что многие первые игры были текстовыми. Собственно, именно для ранних адвенчур и платформеров и стали возникать игровые движки, особенно с развитием графики — хорошим примером можно назвать Adventure Game Interpreter (AGI). При разработке King’s Quest в далеком 1984 году, программисты Sierra On-Line столкнулись с неудобством низкоуровневой разработки столь сложной и перспективной по графике в те времена игры — и разработали набор решений, которым и стал AGI. Всего на нем было выпущено 14 различных игр за 5 лет на 7 различных платформах, поэтому понятие “кроссплатформенность” было важным уже тогда.

Однако, движки того времени редко выходили за пределы изначальной компании-разработчика и, как правило, были достаточно узкоспециализированными под конкретный жанр игры.
Читать дальше →

Семь отличных ускорителей сайтов для Linux и Unix

Время на прочтение4 мин
Охват и читатели27K
«Производительность веб-проектов» — это, с точки зрения пользователя, скорость, с которой страницы загружаются и отображаются браузером. Что даёт повышение скорости работы некоего сайта? На самом деле – много всего. Здесь и увеличение продаж, и повышение лояльности клиентов, и улучшение впечатлений пользователей от работы с ресурсом. Скорость, с которой веб-ресурс реагирует на запросы, особенно важна для тех пользователей, которые сидят на медленных каналах связи или занимаются веб-серфингом со смартфонов или планшетов.

Читать дальше →

59 способов монетизировать вашу инди-игру

Время на прочтение14 мин
Охват и читатели44K

У вас нет ни гроша? Питаетесь Дошираком? Отчаянно пытаетесь заработать пару баксов своим инди-детищем? Все мы были в точке невозврата в разработке, когда хотели получить какой-нибудь доход от игр, но не знали в какую сторону двигаться. На самом деле, иногда мы даже не представляли всех возможностей…
Читать дальше →

Заражение кэша DNS-серверов провайдеров за счет манипуляции DNS-ответами от легитимных авторитетных DNS-серверов

Время на прочтение6 мин
Охват и читатели17K
Серьезной проблемой современности являются сетевые угрозы ИБ, то есть классы угроз, реализуемых с использованием протоколов межсетевого взаимодействия. Одним из таких протоколов является протокол системы доменных имен — DNS.

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

Отследить модификацию пакетов DNS-транзакций, при потенциально высокой опасности реализации в информационных системах атак довольно непросто, поэтому становятся возможными такие атаки как:

  • анализ сетевого трафика;
  • подмена доверенного объекта сети;
  • навязывание ложного маршрута;
  • внедрение ложного объекта сети.

Тема заражения кэша DNS-серверов провайдеров уже давно изъезжена, однако на практическом примере покажем, как довольно просто заставить «ходить» клиентов конкретного интернет-провайдера по нужному нам IP-адресу, вместо правильного, для заданного домена, ничего при этом не взламывая и не заражая троянами, тем самым давая нам полный контроль над трафиком, связанным с конкретной DNS-зоной.
Читать дальше →

Тяжелое расставание с Net-Tools

Время на прочтение7 мин
Охват и читатели109K

Не секрет, что Net-Tools пора на почетную отставку. Да, многим админам и мне в том числе, до условного рефлекса Павлова знакомы команды ifconfig, route, netstat. На первый взгляд нет причин что-то менять, а лучшее как всегда враг хорошего.




Давайте узнаем почему Net-Tools уже не тот и как безболезненно с него перейти на iproute2 .

Читать дальше →

Создание зашифрованной флешки Kali Linux Encrypted Persistence

Время на прочтение3 мин
Охват и читатели50K
В данной статье описывается метод создания загрузочной флешки с системой Kali Linux, функционал которой позволяет создать зашифрованный раздел, где будут храниться все её параметры, установленные программы и данные. Шифрование производится посредством алгоритма aes c ключом 256 бит (настроить шифрование вы можете на свой вкус, изучив команду cryptsetup).

1. Создание загрузочной флешки


Для записи образа используйте программу Rufus. Выберите устройство, на которое будет распакован образ, далее выберите iso-образ системы и из выпадающего списка выберите DD-образ.

image

После развертывания образа структура разделов флешки примет следующий вид:

image
Читать дальше →

Создайте свои собственные “Нейронные Картины” с помощью Глубокого Обучения

Время на прочтение3 мин
Охват и читатели21K


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

Сегодня я собираюсь познакомить вас с тем как это делается. Прежде всего, убедитесь, что у вас обновленная копия Ubuntu (14.04 — та, что использовал я). Вам необходимо иметь несколько гигов свободного пространства на жестком диске и в оперативной памяти, хотя бы не менее 6 GB (больше оперативки для больших выводимых разрешений). Для запуска Ubuntu как виртуальной машины, вы можете использовать Vagrant вместе с VirtualBox.
Читать дальше →

Подборка фреймворков для машинного обучения

Время на прочтение7 мин
Охват и читатели51K


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

Очередная дыра в системе безопасности Skype

Время на прочтение2 мин
Охват и читатели117K

ПРЕДИСЛОВИЕ

Осенью 2012 года уважаемое сообщество уже обсуждало уязвимость в Скайпе. Обсуждение прошло по всем крупным новостным сайтам и получило широкую огласку т.е. прошло очень удачно, в результате Майкрософт наконец-то закрыл эту уязвимость. Цель этой статьи аналогична — привлечь к проблеме как можно больше внимания в надежде что Майкрософт отреагирует и исправит свою систему безопасности в Скайпе.

В чем суть проблемы

Как найти поддомены за считанные минуты?

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

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

В случае последнего из череды инцидентов весь код сайта Vine можно было загрузить с незащищенного поддомена.

Если вы владелец сайта или изучаете вопросы информационной безопасности, вы можете воспользоваться следующими инструментами чтобы найти поддомены любого домена.

image
Читать дальше →

Лёгкая интеграция tor в android приложение на примере клиента для рутрекера

Время на прочтение7 мин
Охват и читатели21K
Мне давно было интересно, можно ли легко добавить проксирование через тор в Android приложение. Вроде бы довольно очевидная задача, плюс тор браузеры уже под эту платформу давно есть… Но есть много задач, которые сложнее, чем кажутся. Для нетерпеливых сразу скажу — да, можно, и получается довольно легко, быстро и классно. В особенности если не копать с нуля, а воспользоваться моими наработками.

Для примера я буду использовать приложение для работы с рутрекером — никто не любит код, который работает со сферический конём в вакууме. Раньше это приложение обходило блокировку при помощи Google Compression Proxy — но увы — то ли рутрекер, то ли гугл выпилил возможность авторизации с этой проксёй. Сразу скажу, что, конечно, есть всякие впны и прочее, что вы используете для лёгкого обхода блокировки и просмотра сериальчиков. Но речь здесь идёт не про это. Как вы понимаете, тор можно использовать в мобильном приложении для огромного количества вещей — например, для доступа к веб сайтам в .onion или для реализации особо безопасного мессенджера.
Читать дальше →

Android клиент для rutracker: обходим блокировку при помощи Google Compression proxy

Время на прочтение13 мин
Охват и читатели85K
Полагаю, что все пользователя хабра так или иначе нашли способ попадать на рутрекер, но порой бывает лень включать свой тор, прокси, впн или что либо ещё. Мне вот стало лень, и поэтому я решил написать свой маленький клиент. Для обхода блокировок я решил использовать google compression proxy. Интересная, хорошая и полезная штука — странно, что по её поводу на хабре не было статей. Забегая вперёд, сразу скажу, что всё получилось, и работающую версию можно попробовать на своём девайсе. Однако в процессе возникло много всяких интересных нюансов, которые любопытны несколько больше, чем само приложение. Итак, начнём!
Подробности

Примеры кода на 39 эзотерических языках программирования

Время на прочтение8 мин
Охват и читатели97K
Кто-то ради шутки, кто-то чтобы доказать существование или опровергнуть гипотезу, кто-то для разминки мозгов (путешествуя по поверхности бутылки Клейна или в четырехмерном пространстве), но сотни людей создали «эзотерические» языки программирования. Я пролистал около 150 таких языков и больше никогда не смогу быть прежним.



«Argh!», «Oof!», «2-ill», «Nhohnhehr», «Noit o' mnain gelb», «DZZZZ», «Ypsilax», «YABALL», fuckfuck — это заклинания, поэзия только названия… под катом — примеры кода на самых вырвиглазных языках программирования.

Кроличья нора глубока.

Эзотерический язык Piet

Время на прочтение4 мин
Охват и читатели24K


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

Reverse engineering тестового crackme от Лаборатории Касперского v2.0

Время на прочтение2 мин
Охват и читатели25K
В продолжение моего предыдущего разбора «Reverse engineering тестового crackme от Лаборатории Касперского». Нашел на просторах интернета ещё один вариант crackme от Лаборатории Касперского. Автор применил брутфорс для его решения. Этот грубый «крякерский» метод нам тут не подойдёт. Нас интересует разбор алгоритма проверки лицензионного ключа. Можно, конечно, сделать огромную выборку правильных ключей и попробовать найти закономерность, но мне кажется, что лучше немного пореверсить. И так начнем. Начало у crackme такое же, как и в предыдущей статье: ключ должен содержать 19 символов, каждый 5-ый символ должен быть "-" и все символы должны быть цифрами. Перейдем к интересному. Используем в качестве пробного ключа 1234-5678-9012-3456.

image

Читать дальше →

Reverse engineering на собеседовании: как мы нанимаем на работу

Время на прочтение11 мин
Охват и читатели135K
Привет. Меня зовут Алексей Маланов, я пять лет проработал руководителем Отдела антивирусных исследований в «Лаборатории Касперского». Хочу поделиться с вами своим опытом найма вирусных аналитиков. Пост, надеюсь, будет интересен и полезен в первую очередь молодым специалистам, которые только собираются сделать первый шаг в карьере. Ну а матерым IT-шникам тоже может быть любопытно, какие же вопросы задают на собеседовании в ЛК. В свое время у меня в команде было несколько десятков человек и нанимали мы постоянно. Я стремился присутствовать на каждом собеседовании лично, чтобы быть уверенным, что человек будет что надо.


Читать дальше →

Лучшие эмуляторы игровых консолей для Android

Время на прочтение9 мин
Охват и читатели196K


Игровые приставки появились давно, многие из нас начали свой путь в мир игр с этих маленьких устройств. Часть игр, которые были популярны на SNES, Sega, PlayStation, остаются популярными до сих пор. Новые версии некоторых хитов появляются и сейчас на новейших игровых приставках. Например, вечно живой Mortal Combat. Сейчас собираются возродить и Crash Bandicoot.

Иногда хочется поиграть не в новинки, а в старые игры — те, в которые мы играли много лет назад. Это можно сделать — на рынках и в сети есть старые б/у приставки, аксессуары к ним, игры. Но есть и более доступный вариант — эмуляторы игровых консолей. Благодаря эмуляторам можно не тратиться старые приставки, картриджи, диски с играми. Программ такого рода много, они выпускаются для различных платформ. Сегодня мы рассмотрим лучшие, проверенные временем и множеством игроков версии эмуляторов игровых консолей для Android OS.
Читать дальше →

Информация

В рейтинге
5 135-й
Откуда
Chengdu, Sichuan, Китай
Зарегистрирован
Активность