Я Java-программист и не так давно начал изучать Java для Android. Сегодня на мой планшет попало весьма любопытное уведомление «Надо обновить Flash Player», если бы не профессиональный интерес к платформе Android, то скорее всего я бы пропустил его и продолжил отдыхать, однако сегодня холодный воскресный вечер и я решил решил посмотреть что у вируса «под капотом».
Кстати, парни хорошо подгадали момент выпуска своего «FlashPlayer»: буквально за час до этого я обновлял нормальный FlashPlayer от Adobe на стационарнике.
Если Вам интересно — прошу под кат. Под катом есть несколько скриншотов.
Читать полностью »
Рубрика «reverse engineering» - 16
Reverse-engineering одного вируса для Android
2012-09-17 в 11:53, admin, рубрики: android, flash player, reverse engineering, вирусы, Вирусы (и антивирусы), метки: android, flash player, reverse engineering, вирусыОтладка приложений для Android без исходного кода на Java: пару слов о breakpoints
2012-09-04 в 19:36, admin, рубрики: android, apktool, debugging, reverse engineering, smali, информационная безопасность, отладка, метки: android, apktool, debugging, reverse engineering, smaliО чем эта статья
Это продолжения моей вчерашней статьи об отладке приложений для Adnroid без исходного кода на Java (если кто-то её не читал — я очень советую начать с неё). Вчера я давал пошаговую инструкцию как настроить и начать использовать связку Apk-tool плюс NetBeans. Два последних пункта там звучали примерно так:
13. Установите breakpoint на интересующую вас инструкцию… blah-blah-blah...
14. Сделайте что-нибудь в приложении, что бы ваша breakpoint сработала. После этого вы сможете делать пошаговую отладку, просматривать значения полей и переменных и т.д.
Дальше, в разделе «Подводные камни», я рассказывал почему мы не может начать отладку приложения с самого начала, например поставив breakpoint на какую-нибудь инструкцию метода onCreate(...)
в activity, с которой начинает выполняться приложение.
В этой статье я расскажу как всё же можно начать отлаживать приложение без исходного кода на Java с самого начала. Эта статья опять-таки не для новичков. Нужно как минимум понимать синтаксис ассемблера Smali и уметь ручками патчить .smali файлы, грамотно вписывая туда свой код.
Отладка приложений для Android без исходного кода на Java
2012-09-04 в 8:15, admin, рубрики: android, apktool, debugging, reverse engineering, smali, информационная безопасность, отладка, метки: android, apktool, debugging, reverse engineering, smaliО чем статья
В этом статье я сжато, без «воды», расскажу как отлаживать приложения для Android не имея их исходного кода на Java. Статья не совсем для новичков. Она пригодиться прежде всего тем кто более или менее понимает синтаксис Smali и имеет некоторый опыт в reversing engineering приложений для Android.
Исследуем iOS SDK и используем недокументированные API
2012-08-20 в 21:46, admin, рубрики: hack, iOS, iOS SDK, reverse engineering, разработка под iOS, метки: hack, iOS, iOS SDK, reverse engineeringИз этой главы, да и из всей этой книги понятно, что самые лакомые куски программирования под iOS включены в публичные фреймворки, но не в SDK. Неофициальная политика Apple насчет этого проста: вы можете всё это использовать, но только на свой страх и риск. Ваш код может сломаться при следующем обновлении прошивки. Вам самим придётся искать компромисс между риском и прибылью.
Erica Sadun, The iPhone Developer's CookBook
Дисклеймеры
- Приведенные здесь куски кода работают на обычных iPhone (включая 4S) и iPad (включая new iPad) и не требуют jailbreak.
- Все решения написаны и протестированы на iOS 5. Все решения также протестированы на совместимость с iOS 4.3, т.е. работают с iOS 4, если не сказано обратное. Основная часть статьи была написана до выхода iOS 6, так что приведенные решения не тестировались на совместимость с iOS 6.
- Использование недокументированных API может привести к тому, что ваше приложение не допустят в AppStore. А может и не привести :-)
Для тех, кому интересно, как Apple опрделяет использование приваетных API:«Как Apple узнаёт, что ты используешь приватные API?» - Apple может изменить реализацию вместе со следующим релизом iOS, и в вашем коде что-то сломается. Впрочем, это решаемо, и ничем принципиально не отличается от реализации обратной совместимости для документированных API. Ниже я рассмотрел эту проблему чуть подробнее.
- Я не могу гарантировать, что у найденных мной API нет побочных эффектов. Используйте на свой страх и риск.
- Лицензионное соглашение Apple Developer Program запрещает реверс-инжинеринг iOS.
- Статья в процессе доработки. Конструктивная критика приветствуется!
Краткая инструкция по поиску в SDK
Допустим, вам нужно сделать что-то, выходящее за рамки официальной документации. Читать полностью »
Определение IP адреса пользователя Skype
2012-04-27 в 12:50, admin, рубрики: php, python, reverse engineering, skype, skypekit, метки: PHP, python, reverse engineering, skype, skypekit
Вводим логин — получаем IP: http://skype-ip-finder.tk
Поиск происходит абсолютно незаметно для юзера.
Слева внешний IP через который клиент выходит наружу, справа локальный.
Если они совпадают значит у пользователя не используется NAT.
Если запущено одновременно несколько клиентов — будут показаны все.
Если возвращается только локальный IP вида 10.* или 192.168.* значит используется старая версия клиента, например Linux 2.0.0.72
IP показываются еще спустя несколько часов после того как пользователь отключился.
Определение IP адреса пользователя Skype (теперь банановый)
2012-04-27 в 12:50, admin, рубрики: php, python, reverse engineering, skype, skypekit, метки: PHP, python, reverse engineering, skype, skypekit
Вводим логин — получаем IP: http://skype-ip-finder.tk
Поиск происходит абсолютно незаметно для юзера.
Слева внешний IP через который клиент выходит наружу, справа локальный.
Если они совпадают значит у пользователя не используется NAT.
Если запущено одновременно несколько клиентов — будут показаны все.
Если возвращается только локальный IP вида 10.* или 192.168.* значит используется старая версия клиента, например Linux 2.0.0.72
IP показываются еще спустя несколько часов после того как пользователь отключился.
Где тонко, там и взломают
2012-04-26 в 19:56, admin, рубрики: cracking, OS X, reverse engineering, информационная безопасность, метки: cracking, OS X, reverse engineering Как известно, надёжность какой-либо системы в целом определяется надёжностью её самого слабого звена. Сейчас мы рассмотрим защиту от копирования одной популярной выпущенной на днях для OS X игрушки и способ её обхода. И на этом примере увидим на практике, как неуделение должного внимания (по непонятной мне причине) каждой части реализации защиты сводит на нет солидность применённых решений в целом. Ну и просто посмотрим на один из вариантов реализации защиты от копирования. Разумеется, исследование проведено в целях исследования и от нечего делать, хорошие программы и игры следует покупать и всё такое.
Читать полностью »
SkypeKit вылечен от жадности
2012-04-16 в 18:38, admin, рубрики: reverse engineering, skype, skype api, skypekit, метки: reverse engineering, skype api, skypekit
Есть такая замечательная штука как Skypekit. В двух словах это полноценный Skype без GUI, обёртку для которого предполагается написать самому.
Теоретически на основе Skypekit можно было бы:
- Создавать полноценные Skype-клиенты под все платформы
- Добавить поддержку Skype в мультипротокольные клиенты
- Запускать Skype на сервере для интеграции с SIP/Flash
и многое другое, если бы не условия использования.
Во-первых, для того чтобы скайп позволил вам распространять свой продукт нужно заплатить овер 9000$ за сертификацию вашего продукта. Во-вторых, сертификат в любой момент может быть отозван если скайп решит что вы нарушаете условия использования.
Но благодаря целебному воздействию реверс-инжиниринга этот недуг удалось вылечить.
Skype 5.5 расшифрован для реверс-инженеринга
2012-03-26 в 11:39, admin, рубрики: Delphi, ida, reverse engineering, skype, взлом, реверс-инженеринг, метки: Delphi, ida, reverse engineering, skype, взлом, реверс-инженеринг
25 марта был опубликован расшифрованный бинарный файл Skype v. 5.5. Теперь появилась возможность запускать Skype в отладчике, чего нельзя было делать раньше, так как оригинальная версия сильно обфусцирована. Цель проекта — создать Skype с открытым исходным кодом.
Сообщение об этом появилось в блоге Ефима Бушманова, который год назад расшифровал протокол Skype версии 1.x/3.x/4.x и опубликовал рабочую версию программы.
Читать полностью »
Высокая производительность / Анализируем проприетарное приложение на OpenCL, написанное с использованием AMD APP SDK
2012-03-06 в 11:51, admin, рубрики: amd app, opencl, reverse engineering, метки: amd app, opencl, reverse engineeringРассмотрим следующую ситуацию: есть приложение, которое использует AMD GPU для своих вычислений. Как правило, на GPU выносятся самые ресурсоемкие операции. Поэтому если приложение работает быстрее своих конкурентов, то может возникнуть желание узнать, какой же алгоритм реализован в этой программе. Но что делать, если программа является проприетарной и распространяется по лицензии, запрещающей reverse engineering и дизассемблирование?
Чтобы не нарушать лицензии, можно воспользоваться одной маленькой хитростью, оставленной разработчиками AMD APP SDK. Однако чтобы эта хитрость сработала, необходимо выполнение еще одногоЧитать полностью »