Controlling execution of binary code
AssigneeInternational Business Machines Corporation
InventorsMotohiro Kawahito, Toshihiko Koju, Xin Tong
Life of this patent
Estimating the term…
Abstract
An apparatus for controlling an execution of a binary code by multiple threads includes a detection unit configured to detect an occurrence of modification of a first part that is a part of a first binary code by a self-modifying code; a specifying unit configured to specify a second part that is a part corresponding to the first part in a second binary code acquired by converting the first binary code, in response to detection of the occurrence of modification of the first part by the self-modifying code; and a correction unit configured to correct the second part such that a specific thread that executes the second part of the second binary code among the multiple threads causes an exception.
Claims4
A method of controlling an execution of a binary code by multiple threads, the method comprising:
- detecting an occurrence of modification of a first part that is a part of a first binary code by a self-modifying code;
- specifying a second part that is a part corresponding to the first part in a second binary code acquired by converting the first binary code, in response to detection of the occurrence of modification of the first part by the self-modifying code;
- mapping a page that stores at least part of the first part and an instruction modified by the self-modifying code to a virtual page to which page protection is not applied;
- correcting the second part in such a way that a specific thread that executes the second part of the second binary code among the multiple threads causes an exception;
- and
- releasing the mapping of the page to the virtual page after the correction is performed.
Dependencies are inferred from the claim text.