Abstract | ||
---|---|---|
Dynamic analysis tools often perform instrumentation via interfaces that are implementation-specific, so are not supported by alternative implementations of a given source language. The Android mobile platform is one example: its Dalvik virtual machine executes an alternative, register-based bytecode, and lacks debugging and instrumentation interfaces that Java analysis developers rely upon. In this demonstration, we present a framework for dynamic program analysis development on Android, based on the existing ShadowVM framework for Java. By re-creating the latter's abstractions in the impoverished Android environment, it offers a high-level programming interface, load-time instrumentation, full bytecode coverage, and strong isolation, thereby avoiding common problems suffered by existing dynamic analyses on Android (offline-only instrumentation, lack of support for dynamic loading, and risk of unsound results owing to gaps in coverage). We will demonstrate our system with an Android-specific network traffic analysis, deployed on both an ARM/Intel-based emulator and a real device. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1145/2814189.2814190 | SPLASH (Companion Volume) |
Field | DocType | Citations |
Traffic analysis,Virtual machine,Android (operating system),Computer science,Implementation,Java,Bytecode,Dynamic program analysis,Operating system,Embedded system,Debugging | Conference | 0 |
PageRank | References | Authors |
0.34 | 8 | 5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Haiyang Sun | 1 | 18 | 8.18 |
Yudi Zheng | 2 | 133 | 14.24 |
Lubomír Bulej | 3 | 165 | 20.20 |
Walter Binder | 4 | 1077 | 92.58 |
Stephen Kell | 5 | 74 | 9.06 |