Android apps call graph construction and obfuscation investigation

dc.contributor.advisor Guan, Young
dc.contributor.advisor Ben Othmane, Lotfi
dc.contributor.advisor Newman, Jennifer
dc.contributor.advisor Le, Wei
dc.contributor.author Baz, Abdelrahman M
dc.contributor.department Department of Electrical and Computer Engineering
dc.date.accessioned 2022-11-08T23:53:10Z
dc.date.available 2022-11-08T23:53:10Z
dc.date.issued 2021-08
dc.date.updated 2022-11-08T23:53:10Z
dc.description.abstract Static program analysis for Android apps is one of the main mechanisms used to examine the code structure and gather information about function calls and relations, all without executing the code. Since the Android operating system supports Java, an object-oriented programming language, Android apps are made of classes that include a set of fields and methods that can call other methods and manipulate code. The relation between method calls (when a method makes a call to another method) can be captured in a call graph structure. The motivation behind this work is to enhance the call graph construction process for Android apps in terms of running time and to understand the challenge of code obfuscation for static analysis for Android, which is a common strategy used to obscure the source code of a program. This work presents MiniDroid, a time-efficient tool for call graph construction for Android apps. MiniDroid is based on FlowDroid, a static taint analysis tool for Android that models the Android’s lifecycle. This work also investigates how different obfuscation techniques affect the output of static analysis tools. We use Obfuscapk, an open-source automatic obfuscation tool for Android applications, to perform obfuscation. We use the output of EviHunter, a tool to automatically identify evidentiary data in the permanent storage of an Android device, to evaluate the results.
dc.format.mimetype PDF
dc.identifier.doi https://doi.org/10.31274/td-20240329-67
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/6wBlEKEr
dc.language.iso en
dc.language.rfc3066 en
dc.subject.disciplines Computer engineering en_US
dc.subject.disciplines Computer science en_US
dc.subject.keywords Android en_US
dc.subject.keywords Obfuscation en_US
dc.subject.keywords Static analysis en_US
dc.title Android apps call graph construction and obfuscation investigation
dc.type thesis en_US
dc.type.genre thesis en_US
dspace.entity.type Publication
relation.isOrgUnitOfPublication a75a044c-d11e-44cd-af4f-dab1d83339ff
thesis.degree.discipline Computer engineering en_US
thesis.degree.discipline Computer science en_US
thesis.degree.grantor Iowa State University en_US
thesis.degree.level thesis $
thesis.degree.name Master of Science en_US
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Baz_iastate_0097M_19638.pdf
Size:
822.19 KB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
0 B
Format:
Item-specific license agreed upon to submission
Description: