DocumentCode :
3234870
Title :
Reverse Engineering Self-Modifying Code: Unpacker Extraction
Author :
Debray, Saumya ; Patel, Jay
Author_Institution :
Dept. of Comput. Sci., Univ. of Arizona, Tucson, AZ, USA
fYear :
2010
fDate :
13-16 Oct. 2010
Firstpage :
131
Lastpage :
140
Abstract :
An important application of binary-level reverse engineering is in reconstructing the internal logic of computer malware. Most malware code is distributed in encrypted (or "packed") form, at runtime, an unpacker routine transforms this to the original executable form of the code, which is then executed. Most of the existing work on analysis of such programs focuses on detecting unpacking and extracting the unpacked code. However, this does not shed any light on the functionality of different portions of the code so obtained, and in particular does not distinguish between code that performs unpacking and code that does not, identifying such functionality can be helpful for reverse engineering the code. This paper describes a technique for identifying and extracting the unpacker code in a self-modifying program. Our algorithm uses offline analysis of a dynamic instruction trace both to identify the point(s) where unpacking occurs and to identify and extract the corresponding unpacker code.
Keywords :
fault tolerant computing; formal logic; invasive software; reverse engineering; binary analysis; computer malware; reverse engineering; self-modifying code; unpacker routine transform; Malware; Payloads; Registers; Reverse engineering; Runtime; Semantics; Weapons; binary analysis; malware analysis; reverse engineering; self-modifying code;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Reverse Engineering (WCRE), 2010 17th Working Conference on
Conference_Location :
Beverly, MA
ISSN :
1095-1350
Print_ISBN :
978-1-4244-8911-4
Type :
conf
DOI :
10.1109/WCRE.2010.22
Filename :
5645447
Link To Document :
بازگشت