Обновить
-6
Алексей@java3000

Администратор windows умеющий в программирование

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

Исследование Crackme Chiwaka1

Время на прочтение14 мин
Охват и читатели15K
imageВ данной статье сделана попытка подробно описать исследование одного занимательного crackme. Занимательным он будет в первую очередь для новичков в реверс-инжиниринге (коим и я являюсь, и на которых в основном рассчитана статья), но возможно и более серьезные специалисты сочтут используемый в нем приём интересным. Для понимания происходящего потребуются базовые знания ассемблера и WinAPI.
Читать дальше →

Исследование Oracle Form при помощи Java Development API(JDAPI)

Время на прочтение2 мин
Охват и читатели8.5K
Для поиска зависимости форма от обьектов базы данных мне нужно было разобрать файл Oracle Form(в дальнейшем — fmb файл).
Fmb — это псевдотекстовый файл, если очень нужно, PL/SQL код можно увидеть и искать как используются обьекты БД там, но все равно трудно понять тип триггера или программы и к какому элементу формы он относится. Можно использовать конвертацию в FMT, но не думаю, что разбор fmt файла легче чем использование API, который дает Оракл.
Тем более, что вся остальная часть моей программы была написана в Java Swing, логичней было использовать JDAPI, который позволяет разобрать форм по полочкам и видеть весь код PL/SQL и properties, которые меня интересовали.
Читать дальше →

Реверс-инжиниринг полёта Бэтмена

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


Этим летом вышла очередная игра из серии Batman Arkham, в ПК версии которой оказалось столько багов, что было принято беспрецедентное решение снять её с продаж. Я решил посмотреть, что же там такого ужасного.

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

На скриншоте изображён этот момент: вместо того, чтобы лететь вперёд, Бэтмен повернулся вниз головой, демонстрируя полнейшее пренебрежение к происходящему. Аналогичный баг был в предыдущей игре (Arkham Origins), и он до сих пор не исправлен. Видимо тот же самый кривой код был перенесён в новую игру. Попробуем найти, какие ошибки делают программисты в играх такого уровня, и исправить их.
Читать дальше →

Обезвреживаем бомбу с Radare2

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

Доброго времени суток, %username%! Сегодня мы отправимся изучать бесчисленные возможности фреймворка для реверсера — radare2. В виде подопытного я взял первую попавшую бомбу, она оказалась с сайта Университета Карнеги Меллон.
Читать дальше →

Взлом Kaspersky Crackme: исследование защитного механизма (Часть 1)

Время на прочтение32 мин
Охват и читатели24K
Недавно закончился конкурс обратной разработки ZeroNight2015, проводимый «Лабораторией Касперского». Сама организация конкурса, с моей точки зрения, хромала, но статья не об этом. На конкурсе была представлена интересная задача под названием «Смартфон», разбору которой и будет посвящена данная серия статей. Эта статья будет посвящена описанию условия задачи и поиску защитного механизма. Вторая статья затронет оптимизацию скорости работы взламываемой программы посредством внедрения X-кода. В третьей статье будет описан процесс поиска ошибок во внедренном коде с использованием юнит-тестирования.
Читать дальше →

Исследование распространенной малвари под Android

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

Часто вирусы для android приходят к нам при помощи рассылок. Раньше это были СМС, а теперь еще и современные мессенджеры. Мне было интересно посмотреть, что же сейчас на рынке вредоноса, поэтому зарегистрировалась и подала пару объявлений на avito.
Читать дальше →

Реверс-инжиниринг и замедление «Казаков»

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


В известной игре «Казаки: Снова Война» присутствует баг, сводящий удовольствие от сетевой игры к нулю: Нечеловеческая скорость игрового процесса на современных компьютерах. При этом изменение скорости игры в настройках, прекрасно работающее в режиме одиночной игры, никак не влияет на происходящее в игре по сети. Этот вопрос обсуждается на множестве форумов, но самые популярные советы это:

  1. Искусственно загрузить ядро процессора, на котором запущена игра
  2. Запускать игру в виртуальной машине с ограниченными ресурсами
  3. Играть не по локальной сети, а по интернету — там задержки побольше
4. Только дизассемблинг, только хардкор!

Примеры работы с Google Map API, используя Java

Время на прочтение12 мин
Охват и читатели72K
Добрый день, хабровчане.

Спешу поделиться небольшим опытом использования Google Maps API Web Services.
В этой статья я расскажу как использовать службы для геокодирования, геодекодирования.
Так же как можно находить расстояния и маршруты между точками. И конежно же коснусь решения задачи «куда сходить ближе туда или туда».
Читать дальше →

Максим Котин: И ботаники делают бизнес

Время на прочтение3 мин
Охват и читатели16K
Я пишу конспекты с хороших книг. На этот раз книга из второго списка от Milfgard. Эта статья по книге о молодом провинциальном инновационном предпринимателе. История читается на одном дыхании и во время чтения всё время переживаешь за героя: что же будет дальше и когда же наступит крах =)


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

Принципы Getting Real (Часть 1)

Время на прочтение12 мин
Охват и читатели26K
Продолжаем читать хорошие книги вот из этого списка от Milfgard и я продолжаю писать конспекты. Сегодня это, пожалуй, одна из самых важных книг в жизни IT-специалиста: Getting Real от 37signals. Она переворачивает мозги и даёт прекрасные рабочие принципы организации работы небольших компаний.


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

Принципы Getting Real (Часть 2)

Время на прочтение10 мин
Охват и читатели8.1K
В первой части статьи мы затронули первые 25 принципов, описанных в книге Getting Real от 37signals. Книга очень концентрированная, и содержит весь набор рекомендаций, необходимых для успешного старта небольшой команды. Так что пришлось укладывать всё в две статьи. Продолжаем.


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

Принципы Rework

Время на прочтение7 мин
Охват и читатели7.1K
В предыдущих двух статьях я писал о книге 37signals «Getting Real». Это своего рода философия и успешный подход к разработке программного обеспечения. Я видел отзывы, что все эти принципы работать не будут, однако ни в первой книге, ни во второй не нашёл ни одного противоречия. Во второй книге много повторений из первой, но всё равно есть смысл прочитать обе книги в оригинале. Ниже я привёл идеи Rework, которые не описаны в Getting Real.


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

Краудфандинг, краудинвестинг, краудлендинг: ликбез по крауд-терминам для ИТ-предпринимателя

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


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

Мы в Ackuna решили познакомиться ближе с современными крауд-технологиями и посмотреть, чем они могут быть полезными для ИТ-предпринимателей.

Дальше

Откуда брать действительно работающие идеи для стартапов

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


Идет по Руси-матушке скрип мозгов великий. Сидят за столами своими богатыри труда умственного и думу думают. Какую бы новую идею родить, да в программу или сервис её облечь, да стартап сильномогучий замутить.
А потом богаче заморского Билла Гейтса стать да на чудо-яхте в море-окияне с красотками смуглокожими плавать.

Наверняка у каждого из вас есть хотя бы один знакомый, горящий желанием разбогатеть (создать свой бизнес, стать знаменитым и т. п.) именно таким образом.
А вот скольких людей у которых получилось воплотить в жизнь придуманную идею вы знаете?
Вот то-то и оно…
Стив Бланк и Боб Дорф в своем объёмном труде «Стартап. Настольная книга основателя» говорят, что в основе любого стартапа должна лежать гипотеза. Гипотеза о том, что данный продукт будет необходим и востребован потребителем.
Критерием успешности гипотезы является успех. Либо коммерческий, когда продукт удается монетизировать, либо рост клиентской базы (если конечно этот факт может быть положительно оценен потенциальными инвесторами / покупателями компании).
Если гипотеза оказывается неверной, то необходимо её быстро модифицировать и продолжить работы в новом направлении. И так пока не добьетесь успеха.
Читать дальше →

Опыт Alawar: как увеличить eCPM рекламы в игре на 150%

Время на прочтение4 мин
Охват и читатели7.1K
Компания Alawar существует с 1999 года. Она известна своими hidden object games (игры про поиск предметов) – в аккаунте компании в Google Play доступно более 40 таких приложений. Игры Alawar выходят во всех ключевых мобильных сторах (Google Play, App Store, Windows Store, Amazon, Samsung), продаются в Steam и распространяются через партнерские программы. Ниже история о том, для чего и как использовать рекламу в freemium-играх.
Читать дальше →

«Самоограничение права»: суверенные свободные лицензии против обычных. Ликбез по «проблемам» лицензий

Время на прочтение6 мин
Охват и читатели3.5K
Уже известный нам господин Калятин, который то ли не понимает что делает, то ли понимает, но делает специально, никак не успокоится. 19 мая 2011 года в здании Торгово-промышленной палаты РФ по адресу ул. Ильинка, д.6 прошёл научный круглый стол «Свободные лицензии» или самоограничение права?». В течении трёх часов обсуждались предлагаемые поправки в Гражданский кодекс, а именно введение свободных лицензий по-русски — суверенного «самоограничения права» (та самая история с государственной регистрацией Linux на сайте Роспатента — подставой всего сообщества свободного ПО и свободной культуры, правда теперь уже на сайте Минкультуры). Господин Калятин выступил с докладом, в котором продолжал утверждать, что для того, чтобы лицензии, подобные лицензиям Creative Commons, стали действовать в России, одного лишь консенсуса в сообществе специалистов недостаточно. «Эта модель требует долгой и сложной локализации». Такой процесс может занять несколько лет, и предлагаемый альтернативный механизм «самоограничения права» может стать хорошим компромиссным решением в условиях, пока применимость свободных лицензий в условиях российского законодательства остается спорной.

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

Знакомство с WebGL

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

Введение


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

Схема работы:
  1. Получаем WebGL контекст из canvas'а.
  2. Загружаем программу шейдеров. А именно:
    • создаем программу шейдоров;
    • получаем исходный код отдельно для вершинного и фрагментного шейдеров;
    • компилируем коды шейдеров;
    • присоединяем к программе;
    • активируем программу.

  3. Устанавливаем две матрицы: model-view и projection.
  4. Размещаем, заполняем, активируем буферы данных вершин.
  5. Рисуем.

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

Платформа для экспериментов на Three.JS и WebGL

Время на прочтение6 мин
Охват и читатели15K
Если не играть и не рассматривать фотографии знакомых девушек в контакте, то программирование является моим любимым занятием за компьютером. Особенно мне нравится «быстрое» программирование. Это такое программирование, когда проект небольшой и когда мы не занимаемся фундаментальными изысканиями, а планирование не нуждается в документации. К слову, на работе все проекты не такие, да ещё и ориентированы на закрытую аудиторию. В основном поэтому вы сейчас читаете мою статью, а ещё я желаю попасть на Хабр.

Хочу поделиться с вами результатами проекта моих выходных. Это чисто клиентское javascript/html приложение, которое состоит из редактора исходных кодов на языке Javascript и GLSL-шейдеров, мини-линкера, окна с Three.JS/WebGL и небольшого рантайм-интерфейса. Всё это склеено на jquery, а поверх прикручена галерея с видео. В галерее представлено несколько демонстраций. Можно выбрать понравившуюся демонстрацию и поиграть с её кодом, а также экспортировать и импортировать целые проекты из нескольких файлов через JSON.
Читать дальше →

Pixi.js — 2D движок с прозрачной поддержкой WebGL

Время на прочтение1 мин
Охват и читатели82K
Pixi.js позволяет использовать мощь WebGL для рендеринга 2D-сцен, совершенно не вникая в подробности реализации, более того, он умеет самостоятельно определять наличие поддержки WebGL и переключаться между способами рендеринга. В отсутствие WebGL рендеринг осуществляется средствами canvas. Кроме того в Pixi.js реализован граф сцены, поддержка текстур и спрайтов, чуть больше недели назад в нём появилась поддержка интерактивности — на спрайты можно повесить обработчики событий мыши и тачскрина.
Читать дальше →

Собственный движок WebGL. Статья №2. Матрица

Время на прочтение9 мин
Охват и читатели8.3K
В продолжении статьи.

Матрица


Когда только начал разрабатывать матрицу, даже не предполагал — на сколько она в дальнейшем нам упростит жизнь. У матрицы много свойств, но в нашей задаче я бы их все свел к одному — «отделение мух от котлет», то есть массива точек от общего массива координат. С точки зрения нашего кода — это будет выделение массива строк, каждая из которых является точкой и массива столбцов, массив одной из координат x,y,z или w. У меня упрощенная модель, поэтому «w» использовать не буду.

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Десктоп разработчик, Администратор серверов
Младший
От 110 000 ₽
Java
Java Spring Framework
RESTful WebServices.
PostgreSQL
SQL
Hibernate
Linux
Базы данных
Microsoft SQL Server
Разработка программного обеспечения