Internal Function Debugger
First Claim
Patent Images
1. A method comprising:
- logically preserving an uninstrumented target function as a subroutine callable through a trampoline;
intercepting the target function; and
receiving an instruction from a user input device to add a breakpoint to a program containing a call to the target function.
1 Assignment
0 Petitions
Accused Products
Abstract
A stealthy internal function (IF) debugger that leverages control flow detours can escape detection by traditional anti-debugging methods. Software that attempts to impede reverse engineering via dynamic analysis, by using anti-debugging or packing measures can be thwarted by using a stealthy IF debugger. Data mining through an IF utility can aid reverse engineering by constructing a data and code flow analysis after an execution of a program.
43 Citations
17 Claims
-
1. A method comprising:
-
logically preserving an uninstrumented target function as a subroutine callable through a trampoline; intercepting the target function; and receiving an instruction from a user input device to add a breakpoint to a program containing a call to the target function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
logically preserving an uninstrumented target function as a subroutine callable through a trampoline; executing a program at least up through a call to the target function; intercepting the target function; and receiving an instruction from a user input device to perform at least one operation selected from the list consisting of; adding a breakpoint to the program, modifying contents of a register used by the program, reporting contents of memory accessed by the program, resuming execution of the program, and performing instruction tracing of the program'"'"'s executed instructions.
-
-
14. A computer program embodied on a computer readable medium and configured to be executed by a processor, the program comprising:
-
code for copying instructions from a target function to a trampoline; code for replacing the copied instructions with a jump to a hook function; code for performing at least one debugging operation within the hook function; and code for inserting a jump to the target function within the trampoline. - View Dependent Claims (15, 16, 17)
-
Specification