Построение графика потока управления для Android APK из кода smali

Существуют ли какие-либо инструменты для синтаксического анализа кода для создания CFG? Я знаю, что Androguard делает нечто подобное, но, похоже, использует декомпиляцию файла apk, которая может стать ненадежной в ситуациях, когда apk использует методы запутывания.

1 ответ

Решение

Взгляните на https://androguard.blogspot.co.il/2011/02/android-apps-visualization.html.

Что касается ваших опасений по поводу Андрогард.

кажется, использовать декомпиляцию на файл apk

Вы имеете в виду "разборка"? Что ж, инструмент должен понимать байт-код для построения графа вызовов. Если вы имеете в виду "декомпиляцию в Java", я уверен, что этого не произойдет.

ненадежен в ситуациях, если apk использует методы запутывания

Существуют различные методы запутывания. И большинство не имеет ничего общего с графом вызовов. Например, искажение имени заменяет имя класса как org.apache.http.client.HttpClient к чему-то бессмысленному, как a.b.c, Вы все еще увидите этот класс и его функции в CFG.

Другие вопросы по тегам