Capture/Replay And Heatmap Generation Framework for Android
Version 0.1
- The paper is available at https://dl.acm.org/citation.cfm?id=3098231&CFID=817670001&CFTOKEN=90212699
- The demonstration video is available at https://www.youtube.com/watch?v=eMSNAKM1Bj4
- Rewrite sendevent so that it accepts multiple commands at once
- Explore the possibility to reject starting activities that outside the package scope
- Make instrumentation more uniform and explain how to instrument apps for the framework.
-
Ubuntu16.04 or later -
Access to
/dev/kvm:chmod 777 /dev/kvm -
docker17.03 or later -
docker-compose1.12.0 or later
- Execute
git clone https://github.com/stlab-unt/Caret-HM.git - Modify
.env:
- Set
USER_ID,GROUP_IDto your user and group id - Set
EMU_NUMto a number of desired emulators (usually, number of cores - 2) - Set
TEST_DIRandSQL_DATAto the desired directories
-
Set permissions of
TEST_DIRandSQL_DATAto777:chmod 777 (YOUR_TEST_DIR) (YOUR_SQL_DATA) -
If VNC password needs to be modified, change it in .env and conf/pgsql/002-create-admin-user.sql
Alternatively, you can change VNC password only in
.envand change it in the Guacamole web interface later. -
Start
dockerd, if necessary:sudo dockerd -
In the folder, execute:
docker-compose build -
Verify that /dev/kvm is accessible, otherwise give permissions:
chmod 777 /dev/kvm -
Start containers:
docker-compose up -
Once all containers are up, you should be able to access the framework at:
http://localhost/ - for emulator access
http://localhost/jsac - for heatmap generation
-
If your
EMU_NUMis larger than1, you will need to add additional virtual machines to Guacamole. To do so, login asguadminto Guacamole and add additional virtual machines. The ports start from6001to6000+EMU_NUM -
Additional configuration options available in
confand the corresponding-dockerfolders.
- VNC Password:
s3cr3t99- Where to change
.env, andconf/pgsql/002-create-admin-user.sql
- Where to change
- Access to emulator:
- Username:
emu - Password:
android - Where to change
- Encrypted in
conf/pgsql/002-create-admin-user.sqlusing SHA256, more information is at Guacamole website, or - Guacamole admin inteface
- Encrypted in
- Username:
- Guacamole adminstration login
- Username:
guadmin - Password:
guadmin - Where to change
- Encrypted in
conf/pgsql/002-create-admin-user.sqlusing SHA256, more information is at Guacamole website, or
- Encrypted in
- Guacamole user settings inteface (administrator cannot change its password from Guacamole admin inteface)
- Username:
- Add your apk to
uscr-docker/uscr/apk - Copy and modify one of the configuration files at
uscr-docker/uscr/conf
Make sure that your user in docker group, the detailed answer is available here.
Make sure that permissions for TEST_DIR and SQL_DATA are set to 777.
- The first place to start is always to check permissions.
- Verify that your
USER_IDandGROUP_IDare corresponding to your user and group ids. - If nothing helps, please submit a new issue.