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

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

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

Универсальный дампер/инжектор Unity3D (Mono, Android)

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

Приветствую!

Не так давно я увлекся исследованием игр под android. Как оказалось, весьма немалое количество разработчиков используют Unity3D(наверное, процентов 50-60 игр, которые мне были интересны, базируются на этом движке). Сразу оговорюсь — я не специалист по взлому и даже практически не знаю C++/asm(не смотря на небольшое знакомство с этой темой), так что просьба не швыряться унитазами при помощи гравипушек. Также небольшое уточнение — я исследовал практически только ММО/полу-онлайновые игры в стиле «крабишь сюжетный данж до посинения, а потом сражаешься на арене с другими игроками, причем полу-оффлайн). Оффлайновые игры на Unity3D исследовать просто-напросто скучно.

Собственно, насколько мне известно игрушки под Unity3D используют 2 технологии: Mono и Il2cpp.
В пределах данного материала я хочу рассмотреть процесс подмены .NET dll'ок и дампа даже шифрованных версий этих самых dll'ок напрямую из игры.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 14

Снова об Electron или рисуем музыку ВК

Время на прочтение 7 мин
Количество просмотров 27K
image

Добра всем!
Electron — эта такая забавная штука, про которую мало статей на хабре(сходу нашел только habrahabr.ru/post/272075 и habrahabr.ru/post/278951). Давно хотел написать что-нибудь такое-эдакое, вот руки и дошли — заодно и одним велосипедом в мире станет больше.

Итак, если вкратце: electron — это такой гибрид node.js и chromium'а. Зачем? Очень разнообразный диапазон применений — мощное GUI(html/js/css), нехилая расширяемость(в том числе с возможностью использования других языков вроде C++ или C#), всякие приятности вроде jQuery и т.д. В-общем, удобная штука для разработки и дистрибуции standalone кроссплатформенных приложений.
Теперь о приложении. Оно реализует базовый пример расширения функционала стороннего сайта, базовые принципы работы с Raphael.js(графическая библиотека для отрисовки/анимации svg), Dancer.js(библиотека для визуализации звука, в данном случае — получения audio waveform).

Читать дальше →
Всего голосов 20: ↑16 и ↓4 +12
Комментарии 149

NW+Edge.js+Fiddler или сказ о стыкуемости нестыкуемого

Время на прочтение 4 мин
Количество просмотров 4.8K
Привет всем.
Не так давно прочел статью Что нам стоит сайт распарсить. Основы webdriver API и вспомнил, что давно собирался довести хотя бы до относительно рабочего состояния одну забавную задумку. Руки все-таки дошли, а значит пора поведать, что же получилось.
Есть такая замечательная программа — Fiddler, позволяющая перехватывать и модифицировать http/https запросы. Есть замечательная штука под названием NW.js, она же node-webkit, позволяющая тыр… парсить разнообразные сайты в том числе. Вы красивы, я прекрасен — почему бы нам не подружиться?
Собственно, затея вот в чем: можно было бы, конечно, отдельно поднять Fiddler, написать в нем логику и гонять через него трафик с node-webkit-но это не так интересно. А значит, будем совмещать все под одной крышей, благо у Fiddler есть библиотека на C# — FiddlerCore.
Под ноду есть отличный модуль — Edge.js. Это такая хитрая штука, которая позволяет исполнять код C# (и не только). Есть под ноду? Замечательно, можно завести и под nw.js, благо даже мануал есть — да вот же он!

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

Frida-node или немножко странного кода

Время на прочтение 8 мин
Количество просмотров 16K
Приветствую всех, кто читает эту статью.
Как-то так сложилось, что на хабре практически нет упоминаний про замечательную штуку под названием Frida. Самое толковое из них заключается в паре строк кода и общем описании(HabraFrida, из которой, собственно, я и узнал про существование этой штуковины, за что отдельное спасибо автору).
Если вкратце, то Frida занимается тем, что инжектит JS-движок от Гугла(V8) в таргетный процесс(при отсутствии защиты, конечно же), причем встроенный js-код умеет работать с памятью, перехватывать вызовы функций, делать эти самые вызовы и заниматься прочими непотребствами.
Если честно, с реверсом я знаком крайне посредственно и, в-основном, из MMORPG Runes of Magic, с которой я и начал учиться кодить и с которой связанна немалая часть моих текущих познаний в программировании. Собственно, до сих пор время от времени развлекаюсь написанием всяких разностей под нее(дырявая, кстати говоря, игрушка… Каких только шикарных багов в ней не находили, начиная от рисовки предметов и заканчивая sql-inject'ом). Вот для нее я и написал немножко тестового кода на Frida, позволяющего делать… разное.
Почему node.js? Прост. В конце-концов, это же хаб ненормального программирования)
Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 8

Простой односторонний универсальный коннектор для Chrome

Время на прочтение 3 мин
Количество просмотров 7.5K
Мне нравится Netbeans Connector. Удобная штука, знаете ли. Редактируешь css в браузере, а IDE сохраняет и выгружает ее на сервер.
Но вот руки дошли до asp — и вот неожиданность, из вещей подобного плана для студии нашел только LiveStyle. Но чукча не читатель, чукча — писатель, так что возникла идея написать свой велосипед.
В принципе, идея простая: отлавливаем изменения в редактируемом файле, читаем содержимое файла, отсылаем в обработчик, который запишет это содержимое в нужный файл. Вот только облом — на уровне страницы это сделать проблематично(по крайней мере, так и не нашел ни 1 адекватного способа).
Хорошо, лезем курить мануалы по плагинам chrome(именно chrome потому, что мне нравится его консолька. Подозреваю, что любой нормальный браузер, поддерживающий плагины, может делать то же самое). Пара часов, что бы разобраться с нуля — и простенький плагин готов(нужен будет посложнее — база уже есть). Отсылка реализована через post, но способ — на ваше усмотрение(к примеру, NetBeans Connector использует веб-сокеты).

Итак, собственно код.
Читать дальше →
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 0

Поиск-фильтр по сообщениям скайпа

Время на прочтение 6 мин
Количество просмотров 8.3K
Вчера внезапно узнал, что логи скайпа хранятся в .sqlite. Отлично, подумал я, будет занятие на выходной.
Сегодня посмотрел хабру, нашел тему, посвященную описанию самой базы — тема, а также по восстановлению этой самой базы — тема и упоминание программки SkypeLogViewer. Замечательно, подумал я, пора писать очередной упоротый велосипед.
Идея проста: выборка и фильтрация чатов через lua — для тех, кто желает немножко попрактиковаться в использовании lua, sql-запросах и lua-аналога linq, а также тем, кого не устраивает стандартный поиск скайпа. Само приложение написано на C#(WPF).
Что получилось — смотрите под катом.
Читать дальше →
Всего голосов 16: ↑10 и ↓6 +4
Комментарии 4

Ресурсы в архиве или как уменьшить количество подгружаемых файлов

Время на прочтение 3 мин
Количество просмотров 7K
Ранним жарким утром спросонья пришла в голову идея. Подозреваю, что у этой идеи есть минусы либо ее уже реализовали куда более годным способом — но, авось да пригодится кому-нибудь.

Очень часто веб-разработчики сталкиваются с проблемой большого количества мелких файлов. Картинки, скрипты, css — неудобно, все дела. Нужно как-то бороться с этим. import, спрайты, блаблабла — это хорошо, но можно попробовать и иначе. Мой вариант — упаковка всех необходимых ресурсов в архив на стороне сервера(реализация — на php), получение данных на клиенте, установка ресурсов в нужных местах.

Проблемы на данный момент: не придумал толком, как кешировать полученный архив, таким способом не стоит паковать динамический контент или большие файлы.
Для распаковки архива на клиенте использована библиотека JSZip, для удобства — jQuery.

Читать дальше →
Всего голосов 40: ↑19 и ↓21 -2
Комментарии 38

Оберточная библиотека-перехватчик

Время на прочтение 5 мин
Количество просмотров 5.5K
Доброго времени суток всем!
Недавно я выкладывал свою реализацию перехватчика(тут).
Получился он, чего уж греха таить, громоздким и коряво работающим. В 1 же из комментариев отписался уважаемый k_d и упомянул о своей обертке над mhook(MHook vs Zuma).
Конечно, меня заинтересовала альтернатива, работающая с перехватом не только __cdecl'а но и, более того, позволяющая ставить перехват практически в любом месте кода.
Решение понравилось и я решил переписать свою библиотеку, которую использую для различного рода перехватов, начисто, с использованием материала от k_d. Текущий вариант умеет перехватывать все, до чего дотянутся загребуще-экспериментальные ручки программиста и парсить аргументы из стека(по крайней мере, потенциально идея это все умеет. Наверное.)
Представляю Вашему вниманию то, что получилось.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 4

[В разработке] Перехватчик функций с неизвестными аргументами

Время на прочтение 3 мин
Количество просмотров 5.5K
Так уж случилось, что время от времени я развлекаюсь анализом клиентов ММО-игр на тему различного рода полезностей или получения информации о действии тех или иных игровых аспектов. Основное количество информации приносит разбор клиента в IDA Pro или OllyDbg.
Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 16

Информация

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