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.
-
Ubuntu
16.04 or later -
Access to
/dev/kvm
:chmod 777 /dev/kvm
-
docker
17.03 or later -
docker-compose
1.12.0 or later
- Execute
git clone https://github.com/stlab-unt/Caret-HM.git
- Modify
.env
:
- Set
USER_ID
,GROUP_ID
to your user and group id - Set
EMU_NUM
to a number of desired emulators (usually, number of cores - 2) - Set
TEST_DIR
andSQL_DATA
to the desired directories
-
Set permissions of
TEST_DIR
andSQL_DATA
to777
: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
.env
and 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_NUM
is larger than1
, you will need to add additional virtual machines to Guacamole. To do so, login asguadmin
to Guacamole and add additional virtual machines. The ports start from6001
to6000+EMU_NUM
-
Additional configuration options available in
conf
and the corresponding-docker
folders.
- 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.sql
using 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.sql
using 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_ID
andGROUP_ID
are corresponding to your user and group ids. - If nothing helps, please submit a new issue.