The use of debuggers to analyse malicious or otherwise unknown binaries has become a requirement for reverse engineering executables to help determine their purpose. While researchers in places such as anti-virus laboratories have always done this, with the availability of free and easy to use debuggers it has also become popular with corporate security officers and home users.
One of the main purposes of a debugger is to allow the user to control the execution of a binary in such a way as to determine what instructions or commands the binary is executing. During malware analysis the user can modify what the binary is trying to execute, or prevent it all together.
This paper will demonstrate methods that may be used by malware to execute code, simply by being loaded into a debugging session. This code execution occurs before the debugger passes control back to the user and therefore cannot be prevented.
Download the paper in PDF format here.