Instrumenting Android and Java Applications as Easy as abc
نویسندگان
چکیده
Program instrumentation is a widely used mechanism in different software engineering areas. It can be used for creating profilers and debuggers, for detecting programming errors at runtime, or for securing programs through inline reference monitoring. This paper presents a tutorial on instrumenting Android applications using Soot and the AspectBench compiler (abc). We show how two wellknown monitoring languages –Tracematches and AspectJ– can be used for instrumenting Android applications. Furthermore, we also describe the more flexible approach of manual imperative instrumentation directly using Soot’s intermediate representation Jimple. In all three cases no source code of the target application is required.
منابع مشابه
Comparing Android Applications to Find Copying
The Android smartphone operating system includes a Java virtual machine that enables rapid development and deployment of a wide variety of applications. The open nature of the platform means that reverse engineering of applications is relatively easy, and many developers are concerned as applications similar to their own show up in the Android marketplace and want to know if these applications ...
متن کاملTwo-factor Protection Scheme in Securing the Source Code of Android Applications
While Android has become most popular OS in mobile phone market, more and more Android app developers are suffering from intellectual property infringement because it’s easy to extract the assets stored in the Android apps and to decompile Android apps to Java source code. This issue also poses threats to users’ privacy. In this article we reviewed the existing protection approaches for the pro...
متن کاملSecurity Analysis of Permission-Based Systems using Static Analysis: An Application to the Android Stack
In recent years, mobile devices, such as smart phones, have spread at an exponential rate. The most used system running on these devices, accounting for almost 80% of market share for smart phones world-wide, is the Android software stack. This system runs Android applications that users download from an application market. The system is called a permission-based system since it limits access t...
متن کاملDeveloping and Benchmarking Native Linux Applications on Android
Smartphones get increasingly popular where more and more smartphone platforms emerge. Special attention was gained by the open source platform Android which was presented by the Open Handset Alliance (OHA) hosting members like Google, Motorola, and HTC. Android uses a Linux kernel and a stripped-down userland with a custom Java VM set on top. The resulting system joins the advantages of both en...
متن کاملPorting the Renew Petri Net Simulator to the Operating System Android
This article describes the steps to identify, extract and adapt the core parts of the Renew simulator in order to make them usable on an Android-powered device. As Renew is build in Java and has a plugin-architecture, a few plugins have to be adapted to get a working Petri net simulator for the operating system Android, which applications are widely written in Java. The result of this work is a...
متن کامل