Abstract

We have developed a user-level dynamic binary instrumentation (DBI) tool on ARM architecture to enable applying various analysis techniques such as performance evaluation, profiling, and bug detection. Most of existing DBI tools are based on the x86 architecture. As demands for the similar approaches mainly performed in x86 are getting higher in an embedded device domain as well, DBI environment is strongly required for embedded devices especially ARM architecture which has a majority of market share in embedded systems. Only a few tools are currently available to ARM but they are very limited to a specific purpose. Therefore, we designed and implemented a general-purpose DBI tool on ARM to execute an arbitrary code between instructions of a target process. Our tool supports native execution environment which is required for security analysis. We have conducted some experiments with common UNIX utilities and an Android application to validate our tool by tracing and saving context information of every instruction of a desired thread. As a result, we have confirmed that it works as expected without affecting the original context of the target process.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call