Research Article
Hydra-Bite: Static Taint Immunity, Split, and Complot Based Information Capture Method for Android Device
Algorithm 1
Main loop of key information split.
| (1)define sApiList <apiMap<api_Name, perm_Name >>: | | List<Map<String, String>> | | (2)define kPermList <permMap<perm_Name, flag>>: | | List<Map<String, String>> | | (3)while sApiList ≠ ∅ do | | (4)for to sApiList.size() | | //Traversing list of key-value mappings for sensitive APIs | | (5)map sApiList.get(i).getKey() to perm via the Mapping file | | provided by Pscout | | //Mapping sensitive APIs to permissions corresponded | | (6)sApiList.get(i).getValue()←perm | | (7)if perm is the first time show then | | //Remove the duplicate permissions after the mapping | | (8)swich(perm) | | //Classify permissions before add them into the second key-value mapping | | (9)case perm is transfer class permission: | | (10)permMap.getKey() ← perm | | (11)permMap.getValue() ← trans | | (12)add Map2 to kPList | | (13)clear Map2 | | (14)case perm is information read class permission: | | (15)permMap.getKey()←perm | | (16)permMap.getValue()← read | | (17)add Map2 to kPList | | (18)clear Map2 | | (19)case perm is other permission: | | (20)drop perm | | (21)else | | (22)drop perm | | (23)end if | | (24)end for | | (25)end while |
|