Abstract
Binary instrumentation is a process of inserting other code into an executable to observe or modify the binary execution. However, current instrumentation tools depend on platform strongly and the execution efficiency is low, which make it difficult to be used in embedded devices. In this paper, we propose a static instrumentation method using the trampoline technology to perform the binary instrumentation on the Linux OS, which can support CISC and RISC instruction sets. The experiment showed that the file size and execution time of the binary are less affected after instrumentation by comparing with other dynamic and static instrumentation tools.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Hollingsworth, J.K., Miller, B.P., Cargille, J.: Dynamic program instrumentation for scalable performance tools. In: Proceedings of IEEE Scalable High Performance Computing Conference, pp. 841–850 (1994)
Larus, J.R., Schnarr, E.: Eel: machine-independent executable editing. Acm Sigplan Notices 30(6), 291–300 (1995)
Hollingsworth, J.K., Niam, O., Miller, B.P., Xu, Z., Gonalves, M.J., Zheng, L.: MDL: a language and compiler for dynamic program instrumentation. In: Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques, pp. 201–212 (1997)
Schwarz, B., Debray, S., Andrews, G.: Disassembly of executable code revisited. In: Ninth Working Conference on Reverse Engineering, 2002. Proceedings, pp. 45–54. (2002)
Laurenzano, M.A., Tikir, M.M., Carrington, L., Snavely, A.: Pebil: Efficient static binary instrumentation for linux. In: 2010 IEEE International Symposium on Performance Analysis of Systems & Software (ISPASS), pp. 175–183 (2010)
Youngdale, E.: Kernel korner: the elf object file format: introduction. Linux J. 12es, 7 (1995)
Luk, C.K., Cohn, R., Muth, R., et al.: Pin: building customized program analysis tools with dynamic instrumentation. Acm Sigplan Notices 40(6), 190–200 (2005)
Bruening, D., Amarasinghe, S.: Efficient, transparent, and comprehensive runtime code manipulation. Doctoral dissertation, Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science (2004)
Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. ACM Sigplan Notices 42(6), 89–100 (2007)
Buck, B., Hollingsworth, J.K.: An API for runtime code patching. Int. J. High Perform. Comput. Appl. 14(4), 317–329 (2000)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Yang, W., Wang, Y., Cui, B., Chen, C. (2020). A Static Instrumentation Method for ELF Binary. In: Barolli, L., Xhafa, F., Hussain, O. (eds) Innovative Mobile and Internet Services in Ubiquitous Computing . IMIS 2019. Advances in Intelligent Systems and Computing, vol 994. Springer, Cham. https://doi.org/10.1007/978-3-030-22263-5_38
Download citation
DOI: https://doi.org/10.1007/978-3-030-22263-5_38
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-22262-8
Online ISBN: 978-3-030-22263-5
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)