IP Library Patent Application 18701934
Patent Application
App. No. 18/701,934

ANALYSIS FUNCTION IMPARTING METHOD, ANALYSIS FUNCTION IMPARTING DEVICE, AND ANALYSIS FUNCTION IMPARTING PROGRAM

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
18/701,934
Abstract

An analysis function providing method executed by an analysis function providing device includes first analyzing a virtual machine of a script engine, and acquiring a hook point that is a part where an analysis code is inserted by applying a hook, and a virtual program counter that is a variable indicating an instruction of the virtual machine to be executed next, second analyzing an instruction set architecture that is a system of instructions of the virtual machine and detecting an offset value of the virtual program counter, and providing an analysis function by applying a hook, to the hook point of the script engine, the hook including processing of setting a value of a next virtual program counter to a value obtained by adding the offset value of the virtual program counter to a value of an immediately preceding virtual program counter when an exception has occurred.

Claims (31)

1 . An analysis function providing method, comprising:

first analyzing a virtual machine of a script engine, and acquiring a hook point that is a part where an analysis code is inserted by applying a hook, and a virtual program counter that is a variable indicating an instruction of the virtual machine to be executed next;

second analyzing an instruction set architecture that is a system of instructions of the virtual machine and detecting an offset value of the virtual program counter; and

providing an analysis function by applying a hook, to the hook point of the script engine, the hook including processing of setting a value of a next virtual program counter to a value obtained by adding the offset value of the virtual program counter to a value of an immediately preceding virtual program counter when an exception has occurred based on the virtual program counter and the offset value of the virtual program counter that are architecture information obtained by analysis.

2 . The analysis function providing method according to claim 1 , wherein the providing includes:

first insertion process of first inserting, into a script to be analyzed, an exception handler having a function of transferring processing to a virtual machine area when occurrence of an exception is caught, and

second inserting a hook into the hook point of the script engine by using a hook handler including processing of setting the value of the next virtual program counter to the value obtained by adding the offset value of the virtual program counter to the value of the immediately preceding virtual program counter in the virtual machine area.

3 . The analysis function providing method according to claim 2 , wherein:

the second analyzing includes:

first acquiring a virtual machine execution trace that is an execution trace executed in the virtual machine, the virtual machine execution trace recording a pointer of an executed virtual machine instruction handler in which a virtual machine opcode is virtually allocated as an identifier, and the virtual program counter, and

first detecting of acquiring an opcode of a virtual machine instruction and an offset value of the virtual program counter before and after execution of the virtual machine instruction as a set from the virtual machine execution trace, and

the hook handler includes:

first processing of detecting a value of the virtual program counter immediately before exception occurrence and determining the value of the next virtual program counter to a value obtained by adding the offset value of the virtual program counter detected to the value of the immediately preceding virtual program counter, and

second processing of setting the value of the virtual program counter determined in the first processing to the value of the next virtual program counter and resuming execution.

4 . The analysis function providing method according to claim 3 , wherein

the first analyzing includes:

second acquiring a plurality of execution traces while changing a condition at a time of execution,

second detecting of analyzing the execution trace and detecting the hook point,

third detecting of clustering the execution traces to detect a boundary of each virtual machine instruction,

fourth detecting of analyzing the plurality of execution traces using differential execution analysis focusing on a number of times of reading a memory and a boundary of each virtual machine instruction detected and detecting the virtual program counter, and

fifth detecting of analyzing a binary of a script engine and detecting a dispatcher based on a boundary of each virtual machine instruction detected.

5 . The analysis function providing method according to claim 1 , wherein the first analyzing and the second analyzing perform analysis using a test script.

6 . An analysis function providing device comprising:

processing circuitry configured to:

analyze a virtual machine of a script engine, and acquire a hook point that is a part where an analysis code is inserted by applying a hook, and a virtual program counter that is a variable indicating an instruction of the virtual machine to be executed next;

analyze an instruction set architecture that is a system of instructions of the virtual machine and detect an offset value of the virtual program counter; and

provide an analysis function by applying a hook, to the hook point of the script engine, the hook including processing of setting a value of a next virtual program counter to a value obtained by adding the offset value of the virtual program counter to a value of an immediately preceding virtual program counter when an exception has occurred based on the virtual program counter and the offset value of the virtual program counter that are architecture information obtained by analysis.

7 . A non-transitory computer-readable recording medium storing therein an analysis function providing program that causes a computer to execute a process comprising:

first analyzing a virtual machine of a script engine, and acquiring a hook point that is a part where an analysis code is inserted by applying a hook, and a virtual program counter that is a variable indicating an instruction of the virtual machine to be executed next;

second analyzing an instruction set architecture that is a system of instructions of the virtual machine and detecting an offset value of the virtual program counter; and

providing an analysis function by applying a hook, to the hook point of the script engine, the hook including processing of setting a value of a next virtual program counter to a value obtained by adding the offset value of the virtual program counter to a value of an immediately preceding virtual program counter when an exception has occurred based on the virtual program counter and the offset value of the virtual program counter that are architecture information obtained by analysis.

Assignments (2)
CHANGE OF NAME Recorded Aug 20, 2025
From: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
To: NTT, INC.
Reel/Frame 072556/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2024
From: USUI, TOSHINORI; IKUSE, TOMONORI; KAWAKOYA, YUHEI; IWAMURA, MAKOTO
To: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Reel/Frame 067131/0020 →