Skip to content

GSOC 2018 PROJECT

Semi-automated DroidBot: Semi-automated Android UI testing

The solution will consist of an Android app, that will read the input provided by the user, and generate an interaction model, which can be read by...

Contributor
Anant Joshi
Mentors
Hanno Lemoine, Yuanchun Li
Organization
The Honeynet ProjectSecurity
Program
GSoC 2018Completed · Advanced difficulty

About this project

Description from the program archive

<p>The solution will consist of an Android app, that will read the input provided by the user, and generate an interaction model, which can be read by DroidBot, and used for automating the appropriate view.</p> <p>Firstly, for every new page, a layout will be generated. The dumpWindowHierarchy method can be used to dump the layout to a file, and this file can be read to understand the events associated with it. This will be useful later, when the input events need to be reconciled.</p> <p>Touch input events will be recorded using the getevent tool. Simple touches and gestures will be differentiated. Only events that are contained within the layout area will be processed by the system.</p> <p>Since getevent isn't reliable for keypress input, it cannot be used. Instead, an IME that logs text input will be implemented. This reduces logical complexity by not having to parse getevent logs for keyboard input, when keyboard layouts can vary wildly.</p> <p>The input events will be reconciled with the UI, by performing the input actions on the innermost element that the X and Y values of the input were contained within.</p> <p>Interactions can be sent to droidbot either as a script, or by directly deserializing the UTG class.</p>

Tags

From the people who did it

No proposal or progress posts shared yet

Worked on this project? Share the proposal that got you selected and the posts you wrote.

Claim this project
  1. Honeypot Detection Tool

    Vlad FloreaMentored by Marcin Szymankiewicz, Adel Karimi

  2. Google Protocol Buffers Serialization

    Pietro TirennaMentored by Aldo Cortesi, Maximilian Hils, Thomas Kriechbaumer

  3. SNARE/TANNER

    Viswak Hanumanth G KMentored by Evgeniia Tokarchuk, Lukas Rist

  4. Implementing Yara rules in Honeytrap

    CapacitorSetMentored by Remco Verhoef

  5. DRAKVUF - Stealthiness Improvement

    Stewart SentanoeMentored by Tamas K Lengyel, vpb

  6. LibVMI extensions: Bareflank hypervisor support

    Boddu Manohar ReddyMentored by Tamas K Lengyel, Rian Quinn

  7. Droidbot with AI

    Saumo PalMentored by Hanno Lemoine, Yuanchun Li

  8. #9 - DRAKVUF: Support for Dynamic Malware Analysis on ARM

    Ulrich FourierMentored by Sergej Proskurin, Tamas K Lengyel

  9. Automated Malware Relationship Mining

    ctsungMentored by Huang Xiao, Bojan Kolosnjaji

  10. Port LibVMI to Xen MiniOS

    Lele MaMentored by Steven Maresca, Tamas K Lengyel

  11. Thug: Python 3 Port and PyV8 Replacement

    Arushit MudgalMentored by Angelo Dell'Aera

  12. New exploiters in Infection Monkey

    VakarisMentored by Daniel Goldberg, Ofri Ziv

  13. #15 - CONPOT: Protocols Wave #2

    Abhinav SaxenaMentored by Johnny Vestergaard, /)/)

  14. Mitmproxy improvements

    Roman SamoilenkoMentored by Aldo Cortesi, Maximilian Hils, Thomas Kriechbaumer

  15. DRAKVUF : Process Injector Enhancement

    Mathieu DolmenMentored by Tamas K Lengyel, vpb

Data: Google Summer of Code public archive. This project in the official archive