Recovery of jump table case statements from binary code

作者: C. Cifuentes , M. Van Emmerik

DOI: 10.1109/WPC.1999.777758

关键词:

摘要: One of the fundamental problems with analysis binary (executable) code is that recognizing, in a machine-independent way, target addresses n-conditional branches implemented via jump table. Without these addresses, decoding machine instructions for given procedure incomplete, as well any on procedure. We present technique recovering tables and their compiler independent way. The based slicing expression substitution. assembly contains an indexed transformed into normal form which allows us to determine where table located what information it (e.g. offsets from or absolute addresses). has been tested SPARC Pentium generated by C, C++, Fortran Pascal compilers. Our tests show up 90% more text segment can be found using this technique.

参考文章(18)
Cristina Cifuentes, Interprocedural data flow decompilation Journal of Programming Languages. ,vol. 4, pp. 77- 99 ,(1996)
C. Cifuentes, A. Fraboulet, Intraprocedural static slicing of binary executables international conference on software maintenance. pp. 188- 195 ,(1997) , 10.1109/ICSM.1997.624245
David R. Hanson, Christopher W. Fraser, A Retargetable C Compiler: Design and Implementation ,(1995)
C. Wrandle Barth, Notes on the case statement Software: Practice and Experience. ,vol. 4, pp. 289- 298 ,(1974) , 10.1002/SPE.4380040313
John L. Hennessy, Noah Mendelsohn, Compilation of the Pascal case statement Software - Practice and Experience. ,vol. 12, pp. 879- 882 ,(1982) , 10.1002/SPE.4380120907
James R. Larus, Thomas Ball, Rewriting executable files to measure program behavior Software - Practice and Experience. ,vol. 24, pp. 197- 218 ,(1994) , 10.1002/SPE.4380240204
Thomas Ball, James R. Larus, Optimally profiling and tracing programs ACM Transactions on Programming Languages and Systems. ,vol. 16, pp. 1319- 1360 ,(1994) , 10.1145/183432.183527
James R. Larus, Eric Schnarr, EEL Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation - PLDI '95. ,vol. 30, pp. 291- 300 ,(1995) , 10.1145/207110.207163
Hai Huang, Wei-Tek Tsai, Sourav Bhattacharya, Xiaoping Chen, Yamin Wang, Jianhua Sun, Business rule extraction techniques for COBOL programs Journal of Software: Evolution and Process. ,vol. 10, pp. 3- 35 ,(1998) , 10.1002/(SICI)1096-908X(199801/02)10:1<3::AID-SMR161>3.0.CO;2-Z
Arthur Sale, The implementation of case statements in Pascal Software: Practice and Experience. ,vol. 11, pp. 929- 942 ,(1981) , 10.1002/SPE.4380110905