+ Reply to Thread
Results 1 to 12 of 12

Thread: Отладка Android-приложений. Без исходников и с нативными библиотеками.

  1. #1
    0wl's Avatar

    Lightning Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Отладка Android-приложений. Что может быть проще? dex2jar + procyon + intellij idea и дело в шляпе. И все действительно так до тех пор пока на сцену не выходят они. Нативные .so библиотеки . И тут начинается небольшой ад. IDEA в них заходить не хочет (а может я просто не смог ее научить). Статический анализа с помощью IDA cъедает кучу времени и даже HexRays тут не спасает. Что делать в такой ситуации? Стреляться не выход, проблему нужно решать =) Пробовал Gikdbg.art, но он какой-то глючный и только подразнил возможностью отладки внутренностей библиотек. А как в такой ситуации действуют матерые реверсеры?
    /duscuss

  2. #2
    Darwin's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Смешанный код не приходилось отлаживать, но я не думаю, что там сильно большие отличия от чистого нативного. Поэтому GDB, ARM DS-5 или IDA Pro в помощь.

    ARM DS-5 может apk из коробки дебажить, но он платный и как по мне глюковатый. Мне легче было в GDB работать.

    Как подготовить запуск для GDB и IDA Pro (это для .apk, сам никогда не пользовал, нативные спокойно запускаются gdbserver'ом):
    http://stackoverflow.com/questions/2...with-gdbserver

    Как запустить IDA Pro:
    http://forum.xda-developers.com/show....php?t=2050393

    Года пол назад, хотел написать туториал, но все лень было. Сейчас уже таксков таких нет и я подзабыл детали. Надо будет вспомнить, да напилить статью что ли.

  3. 2 пользователя(ей) сказали cпасибо:
    0wl (27-11-2014) root (02-12-2014)
  4. #3
    ARCHANGEL's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Так там же android_server для иды ещё есть. Натив прекрасно дебажится им. Смешанный, не смешанный - приатталичись к процессу, проанализировали .so, поставили бряки, поехали.
    Добрым быть просто - достаточно обратить свой гнев на негодяев...

  5. #4
    Darwin's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Про android_server сказано по ссылке выше.

  6. #5
    0wl's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Quote Originally Posted by ARCHANGEL View Post
    Так там же android_server для иды ещё есть. Натив прекрасно дебажится им. Смешанный, не смешанный - приатталичись к процессу, проанализировали .so, поставили бряки, поехали.
    Failed to find data segment of /system/bin/linker - вот такую ошибку пишет в консоле запущенноого android_server'а когда подключаюсь к процессу из IDA.

  7. #6
    ARCHANGEL's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Добрым быть просто - достаточно обратить свой гнев на негодяев...

  8. 3 пользователя(ей) сказали cпасибо:
    0wl (27-11-2014) Dark Koder (28-11-2014) ximera (28-11-2014)
  9. #7
    0wl's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    История сражений с дебаггером продолжается =) При отладке с помощью связки IDA+gdbserver возникает следующая аномалия. Когда пытаюсь пошагово выполнять программу в консоле появляется ошибка
    ptrace: I/O error.
    И все перестает работать. Ну и остановка по брейкпоинтам не происходит. Делал все так как в мануале. Дабы не превращать этот топик в чат, прошу тех кто имет опыт отладки таких смешанных приложений, написать мне в пм с целью встретиться где-нибудь в скайпе или любом друго месте и обсудить это более интерактивно. По итогам готов написать статью с картинками и выложить ее в этот форум =)

  10. #8
    ximera's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Quote Originally Posted by 0wl View Post
    История сражений с дебаггером продолжается =) При отладке с помощью связки IDA+gdbserver возникает следующая аномалия. Когда пытаюсь пошагово выполнять программу в консоле появляется ошибка

    И все перестает работать. Ну и остановка по брейкпоинтам не происходит. Делал все так как в мануале. Дабы не превращать этот топик в чат, прошу тех кто имет опыт отладки таких смешанных приложений, написать мне в пм с целью встретиться где-нибудь в скайпе или любом друго месте и обсудить это более интерактивно. По итогам готов написать статью с картинками и выложить ее в этот форум =)
    Всех желающих собираем в жаббер конфе
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  11. #9
    Darwin's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    История сражений с дебаггером продолжается =) При отладке с помощью связки IDA+gdbserver возникает следующая аномалия. Когда пытаюсь пошагово выполнять программу в консоле появляется ошибка ptrace: I/O error.
    А отладка через gdb+gdbserver работает?

    Ну и остановка по брейкпоинтам не происходит.
    Могу предположить, в IDA неправильно выставлен адрес загрузки модуля (это надо делать в ручную). В этом случае и пошаговая отладка вряд ли будет работать.
    Last edited by Darwin; 02-12-2014 at 20:42.

  12. 2 пользователя(ей) сказали cпасибо:
    0wl (07-12-2014) Dark Koder (02-12-2014)
  13. #10
    0wl's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Вопрос закрыт. Благодарю всех, кто откликнулся. Задачку решил все таки через Gikdbg.art. Как я уже говорил - он сыроват, но худо-бедно со своей задачей справился. Я тут обещал статью, но "статья" это слишком громкое название для описания результата. Если выбросить всю рефлексию, то получится этакий мини-мануал по использованию Gikdbg.art. И поэтому вопрос к аудитории: нужно ли это?

  14. 2 пользователя(ей) сказали cпасибо:
    root (07-12-2014) ximera (07-12-2014)
  15. #11
    root's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    Я тут обещал статью, но "статья" это слишком громкое название для описания результата. Если выбросить всю рефлексию, то получится этакий мини-мануал по использованию Gikdbg.art. И поэтому вопрос к аудитории: нужно ли это?
    Хватит самого упоминания Gikdbg.art.

    Пробовал Gikdbg.art, но он какой-то глючный и только подразнил возможностью отладки внутренностей библиотек. А как в такой ситуации действуют матерые реверсеры?
    А в чем глюки его проявляются?
    Успех – это путь от провала до провала без потери энтузиазма. (В. Черчиль)

    Не бойся идти медленно, бойся остановиться. (Китайская пословица)

    When you lose fun and start doing things only for the payback, you're dead. (c) TCLH (Phrack 65, Intro)

  16. #12
    0wl's Avatar

    Default Re: Отладка Android-приложений. Без исходников и с нативными библиотеками.

    А в чем глюки его проявляются?
    Не хочет работать пошаговая трассировка. При попытке трассировать код пошагово, все разваливается. При чем часто дебаггер зависат наглухо и проходится его прибивать из задач и перезапускать. Так же часто во время хождения по брейкпоинтам разваливается процесс дебага. В общем работать с этой штукой можно, но напоминает хождение по минному полю. Чуть что не так - перезапуск. Это съедает огромную кучу времени =(

  17. Пользователь сказал cпасибо:
    root (07-12-2014)
+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:28
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org