Next Article in Journal
A Generic WebLab Control Tuning Experience Using the Ball and Beam Process and Multiobjective Optimization Approach
Next Article in Special Issue
Attacker Behaviour Forecasting Using Methods of Intelligent Data Analysis: A Comparative Review and Prospects
Previous Article in Journal
Development of Control Experiments for an Online Laboratory System
Previous Article in Special Issue
A Novel Low Processing Time System for Criminal Activities Detection Applied to Command and Control Citizen Security Centers
Open AccessArticle

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

1
Department of Computer Science and Software Engineering, Laval University, Pavillon Adrien-Pouliot 1065, avenue de la Médecine, Quebec City, QC G1V 0A6, Canada
2
Automatic Control, Computers and Electronics Department. Petroleum-Gas University of Ploiesti, 100680 Ploiesti, Romania
*
Author to whom correspondence should be addressed.
Information 2020, 11(3), 130; https://doi.org/10.3390/info11030130
Received: 31 January 2020 / Revised: 25 February 2020 / Accepted: 26 February 2020 / Published: 27 February 2020
(This article belongs to the Special Issue Advanced Topics in Systems Safety and Security)
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. View Full-Text
Keywords: Android applications; multi-threading; operational semantics; reverse engineering; Smali+ Android applications; multi-threading; operational semantics; reverse engineering; Smali+
Show Figures

Figure 1

MDPI and ACS Style

Ziadia, M.; Fattahi, J.; Mejri, M.; Pricop, E. Smali+: An Operational Semantics for Low-Level Code Generated from Reverse Engineering Android Applications. Information 2020, 11, 130.

Show more citation formats Show less citations formats
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Access Map by Country/Region

1
Back to TopTop