Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

«Hello, world!» на вашем iPhone уже сегодня

Смартфоны
Блог TUAW пишет о завершении своеобразного прорыва, который совершила группа волшебников программного кода, собравшаяся вокруг IRC-канала #iphone. Ими наконец-то выпущена в свет бинарная версия и исходники первой неофициальной программы для мегадевайса Apple iPhone.

По вполне понятным причинам, программа только демонстрирует саму возможность установки и работы стороннего ПО на iPhone и потому не делает ничего кроме традиционного выведения приветствия «Hello, world!» через GUI гаджета. Возможно это не самый яркий пример обратной разработки в компьютерной области, но он совершенно точно заслуживает внимания.
Всего голосов 31: ↑21 и ↓10 +11
Просмотры 480
Комментарии 11

Вирус в «Одноклассниках»

Антивирусная защита *
Спасибо, вам, о Хабралюди, за небольшую прибавку к карме. Теперь я наконец-то смогу написать про вчерашние события на Одноклассниках с техническими подробностями.

Читать дальше →
Всего голосов 65: ↑61 и ↓4 +57
Просмотры 4.2K
Комментарии 53

Продолжая тему трояна в Одноклассниках

Антивирусная защита *
Начало тут: vilgeforce.habrahabr.ru/blog/43746.html

Так или иначе, на компьютере жертвы оказывался файл WinNt32.dll, который загружался в память и тем самым его код исполнялся. Этот файл качал из сети два шифрованных файла, один из которых запускал, а второй инжектил в svchost (назовем его Injected).

Анализ первого файла (Dropper) показал следующее. Первые стадии его работы идентичны таковым для WinNt32.dll — Sysenter, расшифровка, загрузка в память и исполнение. Только в данном случае зашифровано было 3 файла. Первый — непосредственно полезная нагрузка, а второй и третий использовались полезной нагрузкой. В чем же заключается полезная нагрузка? Функционал просто и незамысловатый — скинуть два уже расшифрованных ранее файла на диск, один из них — под именем WinNt32.dll, а второй под случайным именем с расширением Sys. Прописать оба файла в реестре, причем *.sys прописывается сервисом. После чего запустить соответсвующий сервис и вызвать одну из функций DLL. Функционал драйвера я не исследовал — сложное это дело, увы. А вот дропнутая DLL — та самая, с которой все и начиналось! То есть Downloader качает Dropper, а Dropper сохраняет и запускает Downloader. Такой вот «замкнутый круг».

Файл, который инжектится в svchost (Injected) не зашифрован, в отличии от Downloader'а и Dropper'а и даже не разбираясь в его работе, только по текстовым строкам, можно понять что он работает с почтой. Скорее всего, рассылает спам. В файле прописано несколько почтовых серверов — и отечественных и зарубежных, и даже сервер google.
Таким образом, спам-рассылка, скорее всего, была предназначена для создания армии спамботов, и пострадать от нее могли не только пользователи Одноклассников, но и все остальные.
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 1.3K
Комментарии 0

Нецензурный троян.

Антивирусная защита *
В общем, с этим трояном все было понятно с самого начала: что-то он из сети качает. Но в силу некоторых причин (одна из них — детект каспером как P2P-Worm.Win32.Socks.s) я решил его «разобрать». Под катом — технические подробности вскрытия трояна. Внимание, наличествуют не совсем цензурные слова и много технических подробностей!

Читать дальше →
Всего голосов 114: ↑111 и ↓3 +108
Просмотры 3.5K
Комментарии 51

Потомок «нецензурного» трояна или как воруют пароли на FTP.

Антивирусная защита *
Вчера я разбирал «нецензурный» троян (http://vilgeforce.habrahabr.ru/blog/44130.html), а сегодня разделываю его потомка — ftp34.dll. Эта тваринка, кстати, куда как интереснее подавляющего большинства троянов. Хотя бы тем, что ворует информацию не с диска, а прямо из сетевого траффика. Как? Смотрите под кат.

Читать дальше →
Всего голосов 75: ↑72 и ↓3 +69
Просмотры 2.6K
Комментарии 49

Вирусная стеганография

Антивирусная защита *
Для начала — пара вводных замечаний. Замечание первое: в связи с заштопанной правой рукой печатать мне неудобно, посему опечатки могут быть. Замечание второе: для кого-то все ниженаписанное может не быть в новинку, но что уж поделать! Зато остальным, надеюсь, будет интересно. Поехали!

Многие пользователи считают файрволлы и фильтры траффика надежной защитой от вирусов. В общем, настроить эти средства можно так, чтобы существенно усложнить жизнь вирусам, но это будет довольно непростой проблемой. О паре моментов, с которыми придется столкнуться я и расскажу. Под катом, как всегда, много технических подробностей, кода и местами бессвязных мыслей.
Читать дальше →
Всего голосов 54: ↑52 и ↓2 +50
Просмотры 3.1K
Комментарии 56

Ежегодное соревнование KHallenge

Assembler *
Сабж, товарищи! www.khallenge.com

Что это такое? Соревнование по Reverse Engineering от F-Secure :-)

Первый тур прост, второй я начал, запуталсо и отложил на потом. Удачи всем!
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 818
Комментарии 1

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

Assembler *Системное программирование *Реверс-инжиниринг *
В мире ПО существует огромное количество программ, забытых своими разработчиками. Хорошо, когда уже есть хорошая альтернатива. А если ее нет? В программе может катастрофически не хватать каких-то мелочей, некоторые досадные ошибки могут годами доставлять массу неудобств пользователям, а на новых версиях ОС программа и вовсе может отказаться работать. Далеко не всегда имеются исходные коды, чтобы привести программу в порядок. Если программа простая — не составит труда за короткий срок создать альтернативу. Но если программа большая и сложная, что же делать в таком случае? Не всегда рационально тратить время и деньги на разработку полного аналога, ведь расширить в разумных рамках функциональность и исправить большинство ошибок можно уже в готовом исполняемом файле.
В этой статье будут продемонстрированы методики модификации исполняемых файлов на примере расширения функциональности легендарной игры Age of Empires II (стратегия реального времени).
Читать дальше →
Всего голосов 204: ↑203 и ↓1 +202
Просмотры 39K
Комментарии 120

Реверс-инжениринг схемы базы данных с использованием Ant и Hibernate Tools

Чулан
Часто у программистов Hibernate возникает задача по первоначальной конфигурации XML-маппингов и созданию POJO-классов на основе схемы из существующей базы данных.

Несомненно, наилучшим способом решения проблемы, как в плане понимания структуры базы, так и в плане чистоты кода, будет описание классов и маппингов вручную.
Но когда схема базы приличного масштаба, то очень хочется этот процесс автоматизировать… Или хотя бы создать скелеты POJO-классов и XML-файлов, которые можно будет вручную скорректировать позже.
Для автоматизации процесса (и не только) существует пакет Hibernate Tools, позволяющий описать задачи для реверса схемы существующей БД в файлы сущностей Hibernate, используя возможности инструмента сборки Java приложений Ant.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 1K
Комментарии 2

Коварный и ужасный sndrec32.exe

Assembler *Системное программирование *Реверс-инжиниринг *
Sound RecorderВ этом топике вы найдете немного ностальгии, каплю гнева и килограмм реверс-инжиниринга. Посвящается тем, кто знаком с программой «Звукозапись» не понаслышке :)

Когда небо было голубее, Солнце светило ярче, а Интернет был таким недоступным… Короче, в далеком детстве мне почему-то полюбилась стандартная программа «Звукозапись» из Windows 98. Не глядя на минимальную функциональность, я даже умудрялся делать в ней простейшие «ремиксы» ей же записанных мелодий из игр.

Шли годы. Железо становилось мощнее, а ОС функциональнее. Но «Звукозапись» не менялась. Даже в Windows XP она оставалась такой же, как и тогда. Пришло время обновить железо. 3 гигабайта оперативной памяти — раньше и мечтать о таком не приходилось. Этого уж точно должно хватить всем! Так и было, пока дело не дошло до той самой «Звукозаписи». После попытки записать небольшой звук программа невозмутимо возразила, что ей недостаточно оперативной памяти.
Читать дальше →
Всего голосов 183: ↑177 и ↓6 +171
Просмотры 20K
Комментарии 98

GMABooster? Разгоняем?

Компьютерное железо


Решился опубликовать результаты моего исследования программы GMABooster, которая была представлена хабражителям буквально вчера. Сразу скажу, анализ не был бы проведен столь быстро, если бы не совершенно незнакомый хабраюзер Werat, который удаленно тестировал из под админа мой код на своем Acer Aspire One a150 (отважился же человек).

Своим топиком мне хотелось бы подчеркнуть важность открытых продуктов, свободы обмена информации между людьми [а еще напомнить всем жалующимся и плачущим, что Хабр — торт!].

Disclaimer: Анализ приведен исключительно в обучающих и мирных целях, меньше всего мне хотелось бы снизить размер пожертвований в сторону автора программы. В любом случае им проведена работа, которая заслуживает уважения. Также, я вынужден рассмотреть «альтернативное» решение для некоторых платформ, в силу того, что GMABooster не удобен по ряду критериев, особенно для пользователей Linux и Mac.

Расследование внутри
Всего голосов 112: ↑110 и ↓2 +108
Просмотры 14K
Комментарии 24

Реверс-инжиниринг обфусцированной сборки .NET

.NET *
Из песочницы

Вступление


В этой статье я хочу поделиться с уважаемым хабраобществом своим опытом анализа и модификации обфусцированной .NET сборки на примере COMET-библиотеки PokeIn.

Reverse Engineering

Несколько дней назад я заинтересовался COMET решениями для ASP.NET и нашел несколько интересных библиотек, среди которых некогда бывшая бесплатной PokeIn. Очевидно она пользовалась некоторой популярностью, так как авторы перевели ее из разряда open source в платную. На сайте бибилиотеки есть возможность скачать бесплатную версию с некоторыми ограничениями, среди которых, пожалуй, самое важное — это ограничение в 10 одновременных соединений. С ним мы и будем бороться.
Читать дальше →
Всего голосов 65: ↑58 и ↓7 +51
Просмотры 21K
Комментарии 19

AS3 Vector в AMF3: приподымаем занавес

Adobe Flash
Начиная с версии flash player 10.0, появилась поддержка нового вида списков — vector. Vector — это типизированный, упорядоченный список. Более подробно можно почитать на сайте Adobe. Тесты показывают неплохой прирост по скорости чтения/записи по сравнению с простыми массивами. (Не так давно soulburner опубликовал свои тесты). К несчастью, ни одна библиотека на PHP (да в прочем и на других языках, не считая AS3) не поддерживает этот тип данных.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 2.8K
Комментарии 5

Вирусный анализ на примере — исследуем Trojan-Downloader.Win32.Zanoza.ab

Антивирусная защита *
Из песочницы
Вы когда-нибудь задумывались о том, какова судьба вируса, пойманного антивирусными компаниями? О том, что происходит с ним ещё до добавления сигнатур в базу? А конкретнее, о вирусном анализе. Может показаться, что самому заниматься вирусным анализом сложно, ненужно и опасно, но на самом деле это совершенно не так. Лишние умения никогда не повредят, да и полезно, иногда, посмотреть перед запуском, что из себя представляет скачанный с интернета исполняемый файл. Для начала работы сгодятся любые знания ассемблера, отладчик с дизассемблером и виртуальная машина на выбор.

Образцы вирусов для анализа можно, конечно, поискать самостоятельно в интернете, но мы с Вами для начала пойдём другим путём. Огромную коллекцию уже готовых для анализа вирусов можно взять на сайте vx.netlux.org. Первым приглянувшимся мне вирусом стал Trojan-Downloader.Win32.Zanoza.ab. Его подробнейшим анализом мы сейчас и займёмся. Кстати, неплохие описания вирусов можно посмотреть на сайте securelist.com.

Читать дальше →
Всего голосов 82: ↑81 и ↓1 +80
Просмотры 23K
Комментарии 30

Разработка функций RvaToRaw и RawToRva

Системное программирование *
Из песочницы
Tutorial

Цель статьи


Целью этой статьи является желание автора показать некоторые нюансы по разработке функций RvaToRaw/RawToRva, которые являются важными для системных утилит работающих с исполнимыми файлами формата PE.

На кого нацелена статья?


  • Читатель знаком с форматом файлов «Portable Executable»
  • Читатель >= 1 раза писал парсер этого файла
  • Читатель отлично знает что такое «RvaToRaw»

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

Расшифровывая Siri

Софт Искусственный интеллект
Из песочницы
Ребята из французской компании Applidium ровно через месяц после релиза iPhone 4S отреверсили протокол персонального помощника Siri. Ниже перевод статьи, в которой описан сам процесс реверс-инжинеринга и те интересные факты, которые открылись исследователям.
Читать дальше →
Всего голосов 124: ↑113 и ↓11 +102
Просмотры 5.5K
Комментарии 34

Анализ keygenme от TPoDT #2

Assembler *
Всем доброго дня.
Это снова я, и снова несу темы reverse engineering в широкие массы. Так как, по некоторым причинам, я не могу освещать в своих статьях анализ коммерческих протекторов или программ, поэтому на сегодня нашим подопытным кроликом будет keygenme от группы T.P.o.D.T. Не сказать, что сложный, но пару часов не жалко было потратить на него.
Читать дальше
Всего голосов 79: ↑74 и ↓5 +69
Просмотры 2.2K
Комментарии 24

Анализ Crackme #1 от PE_Kill

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

Предисловие



Я уже долгое время ничего не исследую, так сказать ушел на покой. Но тут мне на глаза попалась очередная поделка немало известного в определенных кругах PE_Kill'a. Т.к. мне довелось решать его предыдущую поделку в рамках CRACKL@B Contest 2010, которая в свою очередь была довольно интересна, я решил взглянуть на его новое «детище».

Что вас ждет под катом: подделка CRC32, брут ключа для RC4, факторизация для RSA, а также использование коллизии для MD4 и генерация двух разных сообщений с одинаковыми хешеми. Всё это и многое другое под катом.
Читать дальше
Всего голосов 148: ↑143 и ↓5 +138
Просмотры 11K
Комментарии 31

Обратная разработка коммерческой программы: кейген для Zuma Deluxe

Assembler *
Из песочницы



Вступление

Здравствуйте, Хабралюди.
Судя по последним статьям в блоге Assembler, тема кейгенов становится здесь весьма популярной. Что ж, внесу и я свои пять копеек.
Наш сегодняшний подопытный — игра Zuma Deluxe, на которую я никак не мог отгуглить себе кейген (не подумайте, что я игроман: на всё данное исследование меня вдохновил тов. k_d с его самоиграйкой для Zuma). И сразу дисклеймер: данный взлом от начала и до конца проделан в образовательных целях и не имеет целью нести убытки компании PopCap Games.
Читать дальше →
Всего голосов 224: ↑208 и ↓16 +192
Просмотры 29K
Комментарии 72

Анализируем проприетарное приложение на OpenCL, написанное с использованием AMD APP SDK

Высокая производительность *GPGPU *
Рассмотрим следующую ситуацию: есть приложение, которое использует AMD GPU для своих вычислений. Как правило, на GPU выносятся самые ресурсоемкие операции. Поэтому если приложение работает быстрее своих конкурентов, то может возникнуть желание узнать, какой же алгоритм реализован в этой программе. Но что делать, если программа является проприетарной и распространяется по лицензии, запрещающей reverse engineering и дизассемблирование?

Чтобы не нарушать лицензии, можно воспользоваться одной маленькой хитростью, оставленной разработчиками AMD APP SDK. Однако чтобы эта хитрость сработала, необходимо выполнение еще одного условия (помимо использования разработчиками приложения указанного SDK): приложение должно использовать OpenCL для вычислений на GPU.

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 3.7K
Комментарии 17