ACM Home Page
Please provide us with feedback. Feedback
Intermediate-representation recovery from low-level code
Full text PdfPdf (301 KB)
Source ACM/SIGPLAN Workshop Partial Evaluation and Semantics-Based Program Manipulation archive
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation table of contents
Charleston, South Carolina
SESSION: Invited talk table of contents
Pages: 100 - 111  
Year of Publication: 2006
ISBN:1-59593-196-1
Authors
Thomas Reps  University of Wisconsin-Madison
Gogul Balakrishnan  University of Wisconsin-Madison
Junghee Lim  University of Wisconsin-Madison
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 35,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1111542.1111560
What is a DOI?

ABSTRACT

The goal of our work is to create tools that an analyst can use to understand the workings of COTS components, plugins, mobile code, and DLLs, as well as memory snapshots of worms and virus-infected code. This paper describes how static analysis provides techniques that can be used to recover intermediate representations that are similar to those that can be created for a program written in a high-level language.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
PREfast with driver-specific rules, October 2004. WHDC, Microsoft Corp., http://www.microsoft.com/whdc/devtools/tools/PREfastdrv.mspx.
 
2
 
3
W. Backes. Programmanalyse des XRTL Zwischencodes. PhD thesis, Universitaet des Saarlandes, 2004. (In German.).
 
4
G. Balakrishnan and T. Reps. Analyzing memory accesses in x86 executables. In CC, 2004.
 
5
G. Balakrishnan and T. Reps. Recency-abstraction for heap-allocated storage. TR 1548, UW-Madison, December 2005.
 
6
G. Balakrishnan and T. Reps. Recovery of variables and heap structure in x86 executables. TR 1533, UW-Madison, 2005.
 
7
G. Balakrishnan, T. Reps, D. Melski, and T. Teitelbaum. WYSINWYX: What You See Is Not What You eXecute. In VSTTE, 2005.
 
8
 
9
J. Bergeron, M. Debbabi, J. Desharnais, M. M. Erhioui, Y. Lavoie, and N. Tawbi. Static detection of malicious code in executable programs. Int. J. of Req. Eng., 2001.
 
10
11
 
12
 
13
H. Chen, D. Dean, and D. Wagner. Model checking one million lines of C code. In NDSS, 2004.
14
 
15
C. Cifuentes and A. Fraboulet. Interprocedural data flow recovery of high-level language code from assembly. TR 421, U. Queensland, 1997.
 
16
 
17
 
18
CodeSurfer, GrammaTech, Inc. "http://www.grammatech.com".
19
20
21
22
23
24
 
25
D. R. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In OSDI. 2000.
 
26
 
27
K. Havelund and T. Pressburger. Model checking Java programs using Java PathFinder. STTT, 2(4), 2000.
28
29
 
30
M. Howard. Some bad news and some good news. October 2002. MSDN, Microsoft Corp.
 
31
IDAPro disassembler, http://www.datarescue.com/idabase/.
 
32
N. Kidd, T. Reps, D. Melski, and A. Lal. WPDS++; A C++ library for weighted pushdown systems, 2004. http://www.cs.wisc.edu/wpis/wpds++/.
 
33
A. Lal, T. Reps, and G. Balakrishnan. Extended weighted pushdown systems. In CAV, 2005.
34
 
35
M. Müller-Olm and H. Seidl. Analysis of modular arithmetic. In ESOP, 2005.
 
36
A. Mycroft. Type-based decompilation. In ESOP, 1999.
37
 
38
T. Reps, G. Balakrishnan, J. Lim, and T. Teitelbaum. A next-generation platform for analyzing executables. In APLAS, 2005.
 
39
T. Reps, S. Schwoon, and S. Jha. Weighted pushdown systems and their application to interprocedural dataflow analysis. In SAS, 2003.
 
40
 
41
 
42
M. Sharir and A. Pnueli. Two approaches to interprocedural data flow analysis. In Program Flow Analysis: Theory and Applications, chapter 7. Prentice-Hall, Englewood Cliffs, NJ, 1981.
 
43
A. Srivastava, A. Edwards, and H. Vo. Vulcan: Binary transformation in a distributed environment. TR 2001--50, Microsoft Research, 2001.
44
 
45
D. Wagner, J. Foster, E. Brewer, and A. Aiken. A first step towards automated detection of buffer overrun vulnerabilities. In NDSS, 2000.
 
46
D. W. Wall. Systems for late code modification. In R. Giegerich and S. L. Graham, editors, Code Generation - Concepts. Tools, Techniques, pages 275--293. Springer-Verlag, 1992.
 
47
48


Collaborative Colleagues:
Thomas Reps: colleagues
Gogul Balakrishnan: colleagues
Junghee Lim: colleagues