Как стать автором
Обновить
106
Дима Коваленко @dimakovalenkoread⁠-⁠only

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

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

Отключение ASLR при отладке third-party приложения под iOS

Время на прочтение2 мин
Количество просмотров4.2K
В этой статье дается простая короткая инструкция как пропатчить third-party приложение под iOS что бы отключить ASLR при отладке. Предполагается что у читателя в наличии:

  1. iOS 7.0-7.0.4 устройство с evasi0n jailbreak и компьютер с Mac OS X 10.9.4, установленным XCode 5.1.1 и МаchOView 2.4 (скорее всего для других версий тоже будет работать, но я не пробовал)
  2. некоторый опыт в отладке third-party приложения для iOS, ну и желательно знать что такое ASLR и понимать зачем его отключать

Что ж, приступим.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии4

Пару слов о перехвате HTTP/HTTPS трафика iOS приложений

Время на прочтение3 мин
Количество просмотров47K
В этой статье я расскажу о простом методе заработка в сети перехвата HTTP/HTTPS трафика iOS приложений, включая трафик приложений использующих certificate pinning (а это например Twitter, Facebook и куча других приложений). От прочих методов, где бедным людям рекомендуют в командной строке руками генерировать какие-то сертификаты и куда-то их запихивать, этот метод отличается (относительной) безгеморройностью, хотя кое-какие телодвижения сделать конечно прийдется.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии17

Про Сталина, Дурова, печеньки и параметр EncryptedPasswd

Время на прочтение5 мин
Количество просмотров30K
В ходе неудачной попытки хабрасуицида в комментах к статье про психологическую помощь травмированному СМС-ками ребенку, я поведал о своем сне в котором Сталин кормил связанного Дурова шоколадными печеньками, а из трубки у Сталина вместо дыма выходил публичный ключ Google Play в base64. Этот сон мне приснился после длинного и нудного реверсинга мобильного протокола Google Play. Там же, в комментах, мне предложили написать об этом отдельную статью. Ну вот собственно эта статья и есть. В ней я предлагаю поговорить о моем сне, а также о параметре EncryptedPasswd в POST запросе к android.clients.google.com/auth.
Читать дальше →
Всего голосов 95: ↑78 и ↓17+61
Комментарии40

Критический баг в CoreGraphics в iOS

Время на прочтение5 мин
Количество просмотров10K
В этой статье мы ищем (и, что характерно, находим!) критический баг в CoreGraphics в iOS. Сразу скажу, что на полноценную уязвимость этот баг конечно не тянет — его эксплуатация не приводит, например, к arbitrary code execution. Однако этот баг позволяет аварийно завершать приложения которые используют WebKit: Mobile Safari, Google Chrome для iOS, всяческие почтовые клиенты и т.п., что тоже может быть полезно для хакера в некоторых ситуациях. Итак, приступим к поискам.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии30

Twitter следит за тобой, анонимус

Время на прочтение4 мин
Количество просмотров41K
Часто приходиться слышать о том, что крупные корпорации вроде Google, Facebook или LG следят за каждым пуком несчастных пользователей. И исследовав некоторое из их software, я должен признать что таки да — они следят.

Вчера я исследовал самый свежий (на момент написания этой статьи) официальный iOS-клиент Twitter версии 5.13.1. Мне, кроме всего прочего, было интересно посмотреть на трафик между клиентом и сервером. Поскольку клиент Twitter использует certificate pinning, его трафик довольно трудно перехватить с помощью Fiddler2 и подобных программ. Поэтому я написал define-команду для GDB, которая цепляется на точку останова в [NSURLConnection start] и дампит в консоль интересные мне поля NSURLConnection непосредственно перед вызовом этого самого start. Такой нехитрый в общем-то фокус позволяет видеть что именно программа посылает на сервер ещё до того как это «что именно» будет зашифровано для дальнейше передачи по HTTPs.

И знаете что я увидел? Клиент Twitter, кроме своих обычных запросов (регистрация пользователя, авторизация, твит и т.п.) часто… нет, не так… очень часто отсылал на сервер POST запросы на некий загадочный URL api.twitter.com/1.1/jot/client_event. Эти запросы шли на сервер почти по любому поводу. Я запустил клиент — запрос пошел. Я нажал кнопку «Sign in» (ещё не залогинился, просто кнопку жмакнул) — запрос пошел. Вылез экран логина, поле «Username» получило фокус — запрос пошел. Я свернул клиент — запрос пошел… Я конечно удивился и полез разбираться.
Разобраться
Всего голосов 136: ↑107 и ↓29+78
Комментарии51

Как мирный reverse engineering помог чуть-чуть улучшить приложение Яндекс.Деньги

Время на прочтение12 мин
Количество просмотров50K
Существует стереотип, что reverse engineering — это занятие для злых хакеров в темных очках и блестящих кожаных пальто. Под покровом ночи, в перерывах между беготней по стенам и рукопашными схватками с толпами спецназовцев, эти компьютерные нелюди творят страшные взломы программ, пентагонов и прочих баз данных. Сами взломы как правило не требуют никакой предварительной подготовки и занимают считанные секунды. Ну и конечно в процессе практически любого взлома по чОрным экранам адских хакерских ноутбуков с непонятной ОС ползут зелёные кракозяблы и/или крутится какая-то 3D-фиговина…



Сегодня я хочу отойти от затасканных голливудских штампов про злых компьютерных взломщиков и поведать вам, дорогие читатели, о том как мирный reverse engineering помог чуть-чуть улучшить приложение Яндекс.Деньги. Надеюсь эта история пошатнет устойчивый стереотип, что reverse engineering — это обязательно плохо и нужно только нехорошим людям.
Читать дальше →
Всего голосов 178: ↑169 и ↓9+160
Комментарии35

Отладка приложений для Android без исходных кодов: native методы

Время на прочтение6 мин
Количество просмотров26K

О чем эта статья


В двух предыдущих статьях я рассказывал как отлаживать приложения для Android без исходного кода на Java и о некоторых особенностях установки breakpoints. Если уважаемый читатель ещё не ознакомился с этими статьями — я настоятельно рекомендую начать с них, а уже потом читать эту статью.

Так уж вышло что до сих пор я рассказывал исключительно об отладке байткода Dalvik и ни словом не обмолвился об отладке native методов. А ведь именно в native методах часто скрывается самое вкусное — хитрые защиты, интересные malware фичи, уязвимости нулевого дня. Поэтому сегодня я сжато, без «воды», расскажу как отлаживать native методы без исходного кода на C/C++ (ну или на чем, уважаемый читатель, они у вас там написаны).
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии5

Отладка приложений для Android без исходного кода на Java: пару слов о breakpoints

Время на прочтение5 мин
Количество просмотров18K

О чем эта статья


Это продолжения моей вчерашней статьи об отладке приложений для Android без исходного кода на Java (если кто-то её не читал — я очень советую начать с неё). Вчера я давал пошаговую инструкцию как настроить и начать использовать связку Apk-tool плюс NetBeans. Два последних пункта там звучали примерно так:

13. Установите breakpoint на интересующую вас инструкцию… blah-blah-blah...

14. Сделайте что-нибудь в приложении, что бы ваша breakpoint сработала. После этого вы сможете делать пошаговую отладку, просматривать значения полей и переменных и т.д.

Дальше, в разделе «Подводные камни», я рассказывал почему мы не может начать отладку приложения с самого начала, например поставив breakpoint на какую-нибудь инструкцию метода onCreate(...) в activity, с которой начинает выполняться приложение.

В этой статье я расскажу как всё же можно начать отлаживать приложение без исходного кода на Java с самого начала. Эта статья опять-таки не для новичков. Нужно как минимум понимать синтаксис ассемблера Smali и уметь ручками патчить .smali файлы, грамотно вписывая туда свой код.

Всё равно хочу послушать!
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Отладка приложений для Android без исходного кода на Java

Время на прочтение4 мин
Количество просмотров53K

О чем статья


В этой статье я сжато, без «воды», расскажу как отлаживать приложения для Android не имея их исходного кода на Java. Статья не совсем для новичков. Она пригодиться прежде всего тем кто более или менее понимает синтаксис Smali и имеет некоторый опыт в reversing engineering приложений для Android.

Хочу послушать
Всего голосов 21: ↑21 и ↓0+21
Комментарии22

Информация

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