Redirigiendo al acceso original de articulo en 16 segundos...
Inicio  /  Information  /  Vol: 11 Par: 3 (2020)  /  Artículo
ARTÍCULO
TITULO

Smali+: An Operational Semantics for Low-Level Code Generated from Reverse Engineering Android Applications

Marwa Ziadia    
Jaouhar Fattahi    
Mohamed Mejri and Emil Pricop    

Resumen

Today, Android accounts for more than 80% of the global market share. Such a high rate makes Android applications an important topic that raises serious questions about its security, privacy, misbehavior and correctness. Application code analysis is obviously the most appropriate and natural means to address these issues. However, no analysis could be led with confidence in the absence of a solid formal foundation. In this paper, we propose a full-fledged formal approach to build the operational semantics of a given Android application by reverse-engineering its assembler-type code, called Smali. We call the new formal language Smali+ + . Its semantics consist of two parts. The first one models a single-threaded program, in which a set of main instructions is presented. The second one presents the semantics of a multi-threaded program which is an important feature in Android that has been glossed over in the-state-of-the-art works. All multi-threading essentials such as scheduling, threads communication and synchronization are considered in these semantics. The resulting semantics, forming Smali+ + , are intended to provide a formal basis for developing security enforcement, analysis and misbehaving detection techniques for Android applications.