Abstract
Call graph plays an important role in interprocedural program analysis methods. However, due to the common exist of function pointers and virtual functions in large programs, call graphs used in current program analysis systems are usually incomplete and imprecise, especially in analysis systems for binary executables. In this paper, we present a scalable and effective approach to automatically resolve virtual-function calls in executables. For the benchmark used in previous studies, our approach resolved almost 100% of reachable virtual function call-sites, whereas CodeSurfer/x86 resolved about 82%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Codesurfer/x86, http://www.grammatech.com/research/products/CodeSurferx86.html
Uqbt:a resourceable and retargetable binary translator, http://www.itee.uq.edu.au/~cristina/uqbt.html
Balakrishnan, G., Reps, T.: Recency-abstraction for heap-allocated storage. In: Proc. Static Analysis Symposium, pp. 221–239 (2006)
Godefroid, P., Klarlund, N., Sen, K.: Dart: directed automated random testing. In: Proc. the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 213–223 (2005)
King, J.C.: Symbolic execution and program testing. Communications of the ACMÂ 19(7) (1976)
Pande, H.D., Ryder, B.G.: Data-flow-based virtual function resolution. In: Proc. Static Analysis Symposium, pp. 238–254 (1996)
Wang, T., Wei, T., Lin, Z., Zou, W.: Intscope: Automatically detecting integer overflow vulnerability in x86 binary using symbolic execution. In: Proc. 16th Annual Network & Distributed System Security Symposium (2009)
Wei, T., Mao, J., Zou, W., Chen, Y.: A new algorithm for identifying loops in decompilation. In: Proc. Static Analysis Symposium, pp. 170–183 (2007)
Wei, T., Mao, J., Zou, W., Chen, Y.: Structuring 2-way branches in binary executables. In: Proc. 31st Annual International Computer Software and Applications Conference, pp. 115–118 (2007)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wei, T., Wu, R., Wang, T., Zhao, X., Zou, W., Zheng, W. (2012). Automatically Resolving Virtual Function Calls in Binary Executables. In: Gaol, F. (eds) Recent Progress in Data Engineering and Internet Technology. Lecture Notes in Electrical Engineering, vol 157. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28798-5_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-28798-5_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-28797-8
Online ISBN: 978-3-642-28798-5
eBook Packages: EngineeringEngineering (R0)