Research Article

SSLDetecter: Detecting SSL Security Vulnerabilities of Android Applications Based on a Novel Automatic Traversal Method

Algorithm 1

Heuristic depth-first traversal algorithm.
Input: apk file of the test app
(1) Initialize
(2) After the test apk starts, the interface type judgment and widget tree optimization are carried out to generate the initial node
(3);//assign the initial node to the current node
(4) //add the initial node to the list of nodes in the GUIGraph
(5)While do
(6)  ; //Take the task from the task list
(7)   ; //Simulate event action
(8)  If the state of changed then//Interface state changes
(9)   
//calculate the interface state similarity, sim is a Map structure and the keys are similar nodes, the values are the results of similarity
(10)   If then//indicate a jump to a node that has been traversed
(11)    ; //the old node is set to the current node and perform the old node task
(12)     ; //add jump information
(13)    If and then
(14)     ; //add back action
(15)    End If
(16)   Else
(17)    ; //generate new GUI nodes
(18)    ; //generate the task list for the new node
(19)    ; //Add node information
(20)    ; //add jump information
(21)   End If
(22)  End If
(23)End While