Я пытаюсь создать граф потока управления с сажевым API из Android APK. Я читал много, но я чувствую себя немного беспомощным, как начать с нуля. Я использую ночную сборку сажи (скачан здесь: https://ssebuild.cased.de/nightly/soot/lib/), потому что я читал, что версия 2.5.0 устарела. Я нашел много с Google, например:График потока управления APK APA с сажей
https://mailman.cs.mcgill.ca/pipermail/soot-list/2014-September/007303.html
Сначала нужно загрузить файл Android APK. По ссылке это сделано с:
SetupApplication app = new SetupApplication(...)
Но вот уже первая проблема, нет SetupApplication в ночные сборки soot.jar.
Я сделал это с помощью командной строки, как здесь:
http://www.abartel.net/dexpler/
, которая работала почти, но построение графика потока управления является только первым шагом. После этого я должен манипулировать графами и использовать его как вход для некоторых других фреймворков. Поэтому для меня нет командной строки. Я бы предпочел сделать это с помощью Java!
Может кто-нибудь помочь саже новичок?
Он попросил график потока управления, а не граф вызовов –
@Pbasak граф вызовов является межпроцессным потоком управления потоком. Я не думаю, что генерация внутрипроцедурного cfg беспокоит его с момента извлечения их, ничего особенного. –