The invention discloses a
Soot-based
Java cryptography static analysis tool and method, and belongs to the field of
software static analysis, and the method comprises the following steps: S1, environment initialization: inputting a
JAR file or class folder path by a user, and starting and initializing
Soot configuration by using an Entry class main method; s2, traversing application program classes by using a
Soot analysis worker, pre-loading
byte code representation of a
method body, and constructing a
call graph by using the Soot analysis worker at the same time; s3, task allocation and
parallel processing are carried out, a plurality of independent detectors are constructed, and the detectors execute the allocated task queues in parallel; s4, generating a
vulnerability report; s5, cleaning and exiting; according to the method, the powerful analysis function of Soot on
Java bytecodes is utilized, on the basis of key technologies such as data flow tracing,
control flow analysis and
call graph construction, the tool performance is optimized in combination with
programming technologies such as method-level
multithreading, and efficient cryptographic detection is conducted on the
Java codes.