Zeier, Y. (2024). Identifying frameworks in android applications using binary code function similarity [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2024.117246
Frameworks spielen oft eine zentrale Rolle bei der Entwicklung mobiler Anwendungen und steigern die Effizienz des Entwicklungsprozesses. Vor allem Cross-Platform Development Frameworks (CPDFs) haben aufgrund ihrer Fähigkeit die Entwicklung von Anwendungen für verschiedene Plattformen durch Verwendung einer gemeinsamen Codebasis zu beschleunigen, an Beliebtheit gewonnen. Trotz der weiten Verbreitung dieser Frameworks gibt es nur wenig Forschung, die sich auf ihre Erkennung in Anwendungen konzentriert, zudem gibt es keine Vergleiche zwischen den verfügbaren Detektoren. Die vorliegende Thesis schließt diese Forschungslücke, indem sie eine Liste aktueller Framework-Detektoren vorstellt, ihre Funktionsmechanismen untersucht und eine Vergleichsanalyse durchführt. Anhand eines Datensatzes mit 524 Android-Anwendungen, die mit verschiedenen Frameworks entwickelt wurden, setzen wir verschiedene Obfuscation-Techniken ein, um deren Auswirkungen auf die Erkennung der verschiedenen Detektoren zu bewerten. Unsere Untersuchung zeigt, dass konventionelle Detektoren durch einfaches Umbenennen von Klassen, Dateien, Verzeichnissen und Bibliotheken, mithilfe simpler Bash-Skripten, umgangen werden können. Motiviert durch diese Erkenntnisse stellen wir einen neuartigen Framework-Detektor vor, der mithilfe einer Binary Code Similarity Metrik Funktionsmerkmale vergleicht, welche aus der binären Of Ahead Time (OAT) Repräsentation der Anwendungen extrahiert wurden. Die Ergebnisse unserer Analyse zeigen das Potenzial der, aus den binären OAT Repräsentation extrahierten Funktionsmerkmalen, für die Framework-Erkennung auf und motivieren weitere Forschung in diesem Bereich.
de
Frameworks play a pivotal role in expediting the development of mobile applications, enhancing efficiency of the development process. Notably, Cross-Platform Development Frameworks (CPDFs) have garnered significant attention for their capability to facilitate the creation of applications across various platforms through a unified codebase. Despite the widespread adoption of these frameworks, there exists little research focused on detecting their usage in applications, with no comprehensive comparisons among available detectors. This thesis addresses this research gap by presenting a list of current framework detectors, delving into their operational mechanisms, and conducting a comparative analysis. Leveraging a dataset comprising 524 Android applications developed using known, diverse frameworks, we employ various obfuscation techniques to assess their impact on the performance of different detectors. Notably, our investigation reveals that conventional detectors can be thwarted by simple renaming techniques, such as class, file, directory, and library renaming, applied using simple bash scripts. Motivated by these findings, we introduce a novel framework detector that relies on binary code similarity metrics comparing function features extracted from the applications’ binary Of Ahead Time (OAT) representation. The results of our analysis underscore the potential of utilizing function features derived from binary OAT representations for framework detection, highlighting a promising avenue for further research in this domain.