Memory leaks can cause unexpected failures if not detected at right time. When third party libraries are used for developing the software, to detect the memory leaks form these libraries, static analysis of binaries need to be carried out. We have designed a sophisticated framework for analyzing binaries for such malicious behavior. There are lots of restrictions and very less information is available when we want to analyze binary code. In our technique we first disassemble the input binary code then generate the control flow graph from the disassembled binary. After we generate control flow graph, we try to find out all the possible execution paths and do the symbolic execution of each path individually. This ensures all the possible executions paths in a function are considered for memory leak detection. This technique also helps us in handling the cases where pointer aliases are used extensively in the program. Our analyzer is built to analyze the binaries generated for GNU-x86 platform from C programs. It is currently being extended to support memory leak detection for the code generated for other platforms. |