Opaque Predicates are one of the most covert methods employed by obfuscators to mitigate the risk of reverse engineering of code. Detecting the presence of opaque predicates in a program is an arduous problem since, it is challenging to differentiate between the conditional expressions present in the program and the extraneous expressions added by the obfuscator. This paper addresses a number of limitations encountered in the previous work due to dynamic analysis and proposes an improved algorithm for the detection of opaque predicates, with better efficiency and runtime. We propose a two phased approach for detecting the presence of opaque predicates - building an extractor to extract mathematical expressions from conditional statements and a decision engine which determines if the expressions are opaque predicates or not. © 2017, Springer Nature Singapore Pte Ltd.
cited By 0; Conference of 5th International Symposium on Security in Computing and Communications, SSCC 2017 ; Conference Date: 13 September 2017 Through 16 September 2017; Conference Code:204689
R. K. R. Prakash, Amritha, P. P., and Sethumadhavan, M., “Opaque Predicate Detection by Static Analysis of Binary Executables”, Communications in Computer and Information Science, vol. 746, pp. 250-258, 2017.