JPWO2017115612A1 - Processing system, processing method, and program - Google Patents
Processing system, processing method, and program Download PDFInfo
- Publication number
- JPWO2017115612A1 JPWO2017115612A1 JP2017558907A JP2017558907A JPWO2017115612A1 JP WO2017115612 A1 JPWO2017115612 A1 JP WO2017115612A1 JP 2017558907 A JP2017558907 A JP 2017558907A JP 2017558907 A JP2017558907 A JP 2017558907A JP WO2017115612 A1 JPWO2017115612 A1 JP WO2017115612A1
- Authority
- JP
- Japan
- Prior art keywords
- program
- unit
- processing system
- code
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 238000006243 chemical reaction Methods 0.000 claims abstract description 27
- 238000004458 analytical method Methods 0.000 claims abstract description 13
- 238000000605 extraction Methods 0.000 claims abstract description 13
- 239000000284 extract Substances 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 238000012966 insertion method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Abstract
【課題】プログラムの解析を防止するとともに、悪意あるユーザの攻撃自体を防止することができる処理システム、処理方法及びプログラムを提供することをその主たる目的とする。
【解決手段】有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理システムであって、前記プログラムを受信する受信部と、前記受信部が受信した前記プログラムを解析して、特定のコードが記載された特定領域を複数抽出する抽出部と、前記抽出部が抽出した複数の前記特定領域のうちの少なくとも一部をランダムに選択する選択部と、前記選択部が選択した前記特定領域に記載された前記コードを、前記プログラムの実行に影響を与えない形式に書き換える変換部とを備えることを特徴とする。
【選択図】図1A main object of the present invention is to provide a processing system, a processing method, and a program capable of preventing analysis of a program and preventing a malicious user's attack itself.
A processing system for processing a program transmitted from the outside via a wired or wireless network, the receiving unit receiving the program, and analyzing the program received by the receiving unit An extraction unit that extracts a plurality of specific regions in which the code is written, a selection unit that randomly selects at least a part of the plurality of specific regions extracted by the extraction unit, and the specification selected by the selection unit And a conversion unit that rewrites the code described in the area into a format that does not affect the execution of the program.
[Selection] Figure 1
Description
本発明は、有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理システム等に関するものである。 The present invention relates to a processing system for processing a program transmitted from the outside via a wired or wireless network.
現在、複数のサーバから提供されたプログラムやデータを合成したコンテンツをウェブサイトを介してユーザに提供するものがある。この具体的な一例としては、例えば特許文献1に記載されているように、地図サーバから取得した地図データと、コンテンツサーバから取得したプログラムとを合成してユーザに提供するもの等が挙げられる。
Currently, there is a content that provides a user with a content obtained by combining programs and data provided from a plurality of servers via a website. As a specific example, for example, as described in
ところで、悪意あるユーザが、上述したようなウェブサイトにアクセスした場合、プログラムを解析して、プログラムを構成するコード自体又はコードの規則性を見出すことにより、どのコードでどのような処理が実行されるのかを突き止めて、処理の内容を改ざんしたり、プログラムに不正アクセスを実行させる不正プログラムを追加したりするという問題がある。 By the way, when a malicious user accesses a website such as that described above, by analyzing the program and finding the code itself constituting the program or the regularity of the code, what processing is executed with which code. There is a problem that the contents of processing are falsified and the contents of the process are altered, or an unauthorized program for executing unauthorized access to the program is added.
このような問題に対し、悪意あるユーザにプログラムを解析されないように、例えばプログラムを符号化し、これを解除するキーコードがないとプログラムを実行できなくする暗号化が用いられている。しかし、キーコードは時間や手間をかければ取得可能なものであり、また一度取得してしまえば、そのキーコードを用いて暗号化された全てのプログラムを解析することが可能となる。そのため、悪意あるユーザは時間や手間がかかってもキーコードを取得しようと考え、その攻撃を断念させることは難しい。 In order to prevent such a problem from being analyzed by a malicious user, for example, encryption that encodes a program and makes it impossible to execute the program without a key code for canceling the program is used. However, the key code can be acquired if time and effort are taken, and once acquired, all the programs encrypted using the key code can be analyzed. For this reason, it is difficult for a malicious user to obtain a key code even if it takes time and effort, and to abandon the attack.
本発明は上述した問題に鑑みてなされたものであって、プログラムの解析を防止するとともに、悪意あるユーザの攻撃を断念させることが可能となる処理システム、処理方法及びプログラムを提供することをその主たる目的とするものである。 The present invention has been made in view of the above-described problems, and provides a processing system, a processing method, and a program capable of preventing analysis of a program and abandoning a malicious user attack. This is the main purpose.
本発明の処理システムは、有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理システムであって、前記プログラムを受信する受信部と、前記受信部が受信した前記プログラムを解析して、特定のコードが記載された特定領域を複数抽出する抽出部と、前記抽出部が抽出した複数の前記特定領域の少なくとも一つをランダムに選択する選択部と、前記選択部が選択した前記特定領域に記載された前記コードを、前記プログラムの実行に影響を与えない形式に書き換える変換部とを備えることを特徴とする。 The processing system of the present invention is a processing system for processing a program transmitted from the outside via a wired or wireless network, the receiving unit receiving the program, and analyzing the program received by the receiving unit. An extraction unit that extracts a plurality of specific regions in which a specific code is described; a selection unit that randomly selects at least one of the plurality of specific regions extracted by the extraction unit; and the selection unit selected by the selection unit A conversion unit that rewrites the code described in the specific area into a format that does not affect the execution of the program.
これにより、プログラムの特定のコードが記載された特定領域のうち、選択部によってランダムに選択された該領域が変換部によってプログラムの実行に影響を与えない形式に書き換えられる。そのため、本処理システムを経たプログラムは、同じ処理であっても実行するコードをそれぞれ異ならせることができるので、悪意あるユーザがプログラムを解析しようとしても、コードの規則性を見出すことが難しく、プログラムの解析を防止することができる。 As a result, of the specific area in which the specific code of the program is written, the area randomly selected by the selection unit is rewritten to a format that does not affect the execution of the program by the conversion unit. For this reason, programs that have passed through this processing system can execute different codes even in the same process, so even if a malicious user tries to analyze the program, it is difficult to find the regularity of the code. Can be prevented.
また、従来の暗号化は、1つのキーコードを取得すると、そのキーコードを用いたプログラムは全て解読出来てしまう。そのため、悪意あるユーザは1つのキーコードを取得するために膨大な時間と手間をかけても攻撃を行う。しかし、本発明の処理システムを経たプログラムは、キーコードを用いて暗号化していないことに加えて、同じ処理であってもコードが異なるので規則性が見出しにくい。そのため、例え1つのプログラムを解析できたとしても、その解析手法を他のプログラムにも汎用できるとは限らず、プログラム毎に解析のために時間と手間を費やす必要があるので、悪意あるユーザの攻撃を断念させることが可能となる。 Further, in the conventional encryption, when one key code is acquired, all programs using the key code can be decrypted. Therefore, a malicious user performs an attack even if it takes an enormous amount of time and effort to acquire one key code. However, the program that has undergone the processing system of the present invention is not encrypted using the key code, and it is difficult to find regularity because the code is different even in the same processing. Therefore, even if one program can be analyzed, the analysis method is not necessarily applicable to other programs, and it is necessary to spend time and labor for analysis for each program. It is possible to give up the attack.
上述した本発明の処理システムの一実施形態としては、前記プログラムの実行に影響を与えない形式が複数ある場合には、前記変換部が、前記プログラムの実行に影響を与えない複数の形式のうちのいずれか一つを選択して書き換えるものを挙げることができる。 As one embodiment of the above-described processing system of the present invention, when there are a plurality of formats that do not affect the execution of the program, the conversion unit includes a plurality of formats that do not affect the execution of the program. One of these can be selected and rewritten.
これにより、書き換えた後のコードのバリエーションを増やして、さらにコードの規則性を見出しにくくすることができ、プログラムの解析をより困難なものとすることができる。 Thereby, the variation of the code after rewriting can be increased, the regularity of the code can be made harder to find, and the analysis of the program can be made more difficult.
上述した本発明の処理システムの一実施形態としては、所定時間が経過すると前記プログラムの機能の一部を制限する制限プログラムを、前記プログラムに追加する時間管理部をさらに備えるものを挙げることができる。 As an embodiment of the above-described processing system of the present invention, there may be mentioned one further provided with a time management unit for adding to the program a restriction program that restricts a part of the function of the program when a predetermined time elapses. .
このように、所定時間が経過するとプログラムの機能の一部を制限する制限プログラムを追加することによって、悪意あるユーザがプログラムを解析する時間に制限を設けることができる。そのため、制限時間が過ぎれば、解析に費やした時間と手間が無駄になるので、悪意あるユーザの攻撃を断念させることが可能となる。 As described above, by adding a restriction program that restricts a part of the functions of the program when a predetermined time has elapsed, a restriction can be imposed on the time during which a malicious user analyzes the program. For this reason, if the time limit is exceeded, the time and effort spent for the analysis are wasted, and it is possible to give up the attack of a malicious user.
また、上述した処理システムの処理方法としては、有線又は無線のネットワークを介して外部から送信されたプログラムを処理する処理方法であって、抽出部が前記プログラムを解析し、特定のコードが記載された特定領域を複数抽出する第1のステップと、選択部が、前記第1のステップで抽出した複数の前記特定領域のうちの少なくとも一部をランダムに選択する第2のステップと、変換部が、前記第2のステップで選択した前記特定領域に記載された前記コードを、前記プログラムの実行に影響を与えない形式に書き換える第3のステップとを備えるものを挙げることができる。 Further, the processing method of the processing system described above is a processing method for processing a program transmitted from the outside via a wired or wireless network, and the extraction unit analyzes the program and describes a specific code. A first step of extracting a plurality of specific areas; a second step of selecting at least a part of the plurality of specific areas extracted in the first step; and a conversion section. And a third step of rewriting the code described in the specific area selected in the second step into a format that does not affect the execution of the program.
さらに、上述した処理システムを実行するプログラムとしては、コンピュータを、有線又は無線のネットワークを介して外部から送信されたプログラムを解析し、特定のコードが記載された特定領域を複数抽出する第1のステップと、前記第1のステップで抽出した複数の前記特定領域のうちの少なくとも一部をランダムに選択する第2のステップと、前記第2のステップで選択した前記特定領域に記載された前記コードを、前記プログラムの実行に影響を与えない形式に書き換える第3のステップとして動作させるものを挙げることができる。 Furthermore, as a program for executing the above-described processing system, a computer analyzes a program transmitted from the outside via a wired or wireless network, and extracts a plurality of specific areas in which specific codes are described. A step, a second step of randomly selecting at least a part of the plurality of specific regions extracted in the first step, and the code described in the specific region selected in the second step Can be used as a third step of rewriting the program into a format that does not affect the execution of the program.
また、上述した処理システムの具体的な一態様としては、有線又は無線のネットワークを介して複数のユーザ端末に接続され、前記変換部で書き換えられた変換コードを備える前記プログラムを予め入力した初期プログラムに埋め込む追加部と、前記初期プログラムを記録するとともに、第1ユーザ端末において前記初期プログラムが作成するユーザ用プログラムの実行状態が予め定めた複数の条件を満たした場合に、その実行状態を示す複数の実行データに紐付けて前記第1ユーザ端末で作成されたコンテンツを記録する記録部とを備えるものを挙げることができる。 In addition, as a specific aspect of the above-described processing system, an initial program that is connected in advance to a plurality of user terminals via a wired or wireless network and is preliminarily input with the program including the conversion code rewritten by the conversion unit A plurality of additional portions embedded in the first program and the initial program when the execution state of the user program created by the initial program in the first user terminal satisfies a plurality of predetermined conditions. And a recording unit that records the content created by the first user terminal in association with the execution data.
さらに、上記処理システムの具体的な一態様としては、前記コンテンツが、音声データ、文字データ、動画データ、プログラムデータの少なくともいずれか一つを含むものを挙げることができる。 Furthermore, as a specific aspect of the processing system, the content includes at least one of audio data, character data, moving image data, and program data.
本発明の処理システムによれば、プログラムの解析を防止するとともに、悪意あるユーザの攻撃を断念させることが可能となる。 According to the processing system of the present invention, it is possible to prevent an analysis of a program and abandon a malicious user attack.
以下、本発明の処理システムの一実施形態について図面を用いて説明する。 Hereinafter, an embodiment of a processing system of the present invention will be described with reference to the drawings.
本発明の処理システムは、外部サーバから取得した情報に、プログラム開発者が開発したプログラムを合成したコンテンツをウェブサイトを介してユーザに提供するものであって、例えば、外部サーバから取得した地図情報に、プログラム開発者が開発したゲームプログラムを合成して作成したゲームコンテンツをウェブサイトを通じてユーザに提供するものである。なお、以下ではゲームを例に本発明の処理システムを説明するが、本発明の処理システムはこの例に限ったものではない。 The processing system of the present invention provides a user with content obtained by synthesizing a program developed by a program developer to information acquired from an external server via a website. For example, map information acquired from an external server In addition, game content created by synthesizing a game program developed by a program developer is provided to a user through a website. In the following, the processing system of the present invention will be described using a game as an example, but the processing system of the present invention is not limited to this example.
<第1実施形態>
本発明の第1実施形態における処理システム1は、図1に示すように、外部サーバ100、プログラム開発者の開発者端末200、ユーザのユーザ端末300とそれぞれ有線又は無線のネットワークを介して接続されるとともに、このネットワークは図示しないプロキシサーバ等を介してインターネットに接続されている。<First Embodiment>
As shown in FIG. 1, the
外部サーバ100は、ユーザ端末300からの要求を受け付けて蓄積された情報を送信する。なお、本実施形態では外部サーバ100は、ユーザ端末300に地図情報を送信するものであるが、この情報に縛られず、どんな情報であってもよい。
The
開発者端末200は、図示しないCPU、メモリ、通信ポート、ネットワークインターフェイス等を備える例えばスマートフォン、タブレット端末、PC等であって、JavaScript(登録商標)、TypeScript等のソースコードを用いてプログラムを作成する。
The
ユーザ端末300は、図示しないCPU、メモリ、通信ポート、ネットワークインターフェイス等を備える例えばスマートフォン、タブレット端末、PC等である。なお、本実施形態ではユーザ端末300にGPSが実装されているものとする。
The
第1実施形態における処理システム1の構成について、以下に詳述する。
The configuration of the
この処理システム1は、CPU、メモリ、A/Dコンバータ、通信ポート、ネットワークインターフェイス等からなるサーバであって、メモリに所定のプログラムをインストールすることによって、記録部2、受信部3、抽出部4、選択部5、変換部6、追加部7、送信部8としての機能を担うものである。
The
受信部3は、開発者端末200から送られてきたプログラムを受信する。このプログラムは、例えば一定の条件を満たせば宝が現れる宝探しゲームのプログラムや、一定の謎を解いて脱出を図る脱出ゲームのプログラムであって、ゲームコンテンツの一要素をなすものである。
The
抽出部4は、受信部3が受信したプログラムを解析して、プログラムが書かれたソースコードにおいて、特定のコードが記載された特定領域10を複数抽出する。この特定のコードとは、変数、関数、制御文、これらを含む複数の文からなるブロックコード、又は文字・数値のことを指す。
The
特定領域の具体例を図2に示す。
・変数を示すコードが記載されたもの
特定領域10a var a=100;
特定領域10b var b=200;
・変数を含むブロックコードが記載されたもの
特定領域10c
var a=100;
var b=200;
var c=a+1;
・関数を含むブロックコードが記載されたもの
特定領域10d
function f(a){return a+1;}
var b=f(1);
var c=f(2);
特定領域10h
function f(b){return b+1;}
var e=f(1);
var g=f(2);
・制御文であるif文を示すコードが記載されたもの
特定領域10e
if(a==2){b=1;}else{b=2;}
特定領域10i
if(a==3){b=4;}else{b=6;}
・制御文であるfor文を示すコードが記載されたもの
特定領域等10f
for(vari=0;i<100;++i){++b;}
・ダブルクォートで囲まれた文字が記載されたもの
特定領域10g a=“HELLO”;A specific example of the specific area is shown in FIG.
-A code indicating a variable is described.
-A block code including a variable is described.
var a = 100;
var b = 200;
var c = a + 1;
-A block code including a function is described.
function f (a) {return a + 1;}
var b = f (1);
var c = f (2);
function f (b) {return b + 1;}
var e = f (1);
var g = f (2);
-A code indicating an if statement that is a control statement is described.
if (a == 2) {b = 1;} else {b = 2;}
if (a == 3) {b = 4;} else {b = 6;}
-A code that indicates a for statement that is a control statement is described. Specific area, etc. 10f
for (vari = 0; i <100; ++ i) {++ b;}
-Characters enclosed in double quotes are described. Specific area 10ga = "HELLO";
選択部5は、抽出部4が抽出した複数の特定領域10の少なくとも一部をランダムに選択する。このとき、選択部5は抽出部4が抽出した特定領域10をすべて選択することも可能であるが、本実施形態では図3に示すように、特定領域10b、10c、10d、10e、10f、10gを選択したものとする。
The
変換部6は、選択部5が選択した特定領域10b、10c、10d、10e、10f、10gに記載されたコードをプログラムの実行に影響を与えない形式に書き換える。この形式とは、(1)書き換える前のコードと等価なコードに書き換える方法と、(2)書き換える前のコードの順番をプログラムの実行に支障をきたさない範囲で入れ替える方法と、(3)書き換える前のコードにダミーコードを追加する方法とがある。
The
まず、(1)書き換える前のコードと等価なコードに書き換える方法についてさらに詳しく説明する。 First, (1) a method for rewriting a code equivalent to the code before rewriting will be described in more detail.
特定領域10に変数が記載されている場合には、変数を複数の文で表すことで等価なコードに書き換えることができる。この具体例としては、特定領域10bを図4に示すように、書き換えることが挙げられる。
var b;
b=200;When a variable is described in the specific area 10, it can be rewritten into an equivalent code by representing the variable with a plurality of sentences. As a specific example, the
var b;
b = 200;
また、特定領域10に関数が記載されている場合には、関数を展開して等価なコードに書き換えることができる。この具体例としては、特定領域10dを図4に示すように、書き換えることが挙げられる。
var b=1+1;
var c=2+1;
なお、特定領域10に展開された関数が記載されている場合、上述したものとは逆にコードを関数化した等価なコードに書き換えることもできる。Further, when a function is described in the specific area 10, the function can be expanded and rewritten into an equivalent code. As a specific example, the
var b = 1 + 1;
var c = 2 + 1;
Note that when a function developed in the specific area 10 is described, it can be rewritten to an equivalent code obtained by functionalizing the code, contrary to the above.
さらに、特定領域10に制御文が記載されている場合には、他の制御文や演算子を用いて等価なコードに書き換えることができる。この具体例としては、特定領域10fの制御文を、while文を用いて図4に示すように、書き換えることが挙げられる。
var i=0;
while(i<100){++b;++i;}
また、特定領域10eは、演算子を用いて図4に示すように書き換えることができる。
a==2?b=1:b=2;Furthermore, when a control statement is described in the specific area 10, it can be rewritten into an equivalent code using another control statement or operator. As a specific example, the control statement in the
var i = 0;
while (i <100) {++ b; ++ i;}
The
a == 2? b = 1: b = 2;
加えて、特定領域10に文字が記載されている場合には、文字を分解して記載する方法、文字をコードに置換する方法、文字を変数に置換する方法等を用いて等価なコードに書き換えることができる。 In addition, when a character is described in the specific area 10, it is rewritten into an equivalent code by using a method of decomposing and describing the character, a method of replacing the character with a code, a method of replacing the character with a variable, etc. be able to.
文字を分解して記載する方法の具体例としては、特定領域10gを図4に示すように書き換えることが挙げられる。
a =“H”;
a+=“E”;
a+=“L”;
a+=“L”;
a+=“O”;As a specific example of the method of decomposing and describing characters, it is possible to rewrite the
a = “H”;
a + = “E”;
a + = "L";
a + = "L";
a + = “O”;
文字をコードに置換する方法の具体例としては、例えば特定領域10gを以下のように書き換えることが挙げられる。
a=String.fromCharCode(72,69,76,76,79);As a specific example of the method of replacing characters with codes, for example, rewriting the
a = String.fromCharCode (72,69,76,76,79);
文字を変数に置換する方法の具体例としては、例えば、
var money=1000;
var price=100;
var moneyRest=money−price;を、
var a=1000;
var b=100;
var c=a−b;に書き換えることが挙げられる。As a specific example of a method for replacing a character with a variable, for example,
var money = 1000;
var price = 100;
var moneyRest = money-price;
var a = 1000;
var b = 100;
var c = a−b;
なお、数値であれば、数値を四則演算を用いて展開して記載することで等価なコードに書き換えることができる。この具体例としては、特定領域10bにおける数値200を、
var b=100+100;という等価なコードに書き換えることが挙げられる。In addition, if it is a numerical value, it can be rewritten into an equivalent code by expanding and describing the numerical value using four arithmetic operations. As a specific example, the
rewriting to an equivalent code of var b = 100 + 100;
次に、(2)書き換える前のコードの順番をプログラムの実行に支障をきたさない範囲で入れ替える方法についてさらに詳しく説明する。 Next, (2) a method for changing the order of codes before rewriting within a range that does not hinder program execution will be described in more detail.
この方法は、特定領域10がブロックコードからなる場合に、プログラムの実行に支障をきたさない範囲でコードの順番を入れ替えることをいう。具体例を図4に示す。 This method means that when the specific area 10 is composed of block codes, the order of the codes is changed within a range that does not hinder the execution of the program. A specific example is shown in FIG.
図4に示された特定領域10cを、以下のように書き換えてプログラムの実行に支障をきたさない範囲でコードの順番を入れ替える。
var b;
b=200;
var a=100;
var c=a+1;The
var b;
b = 200;
var a = 100;
var c = a + 1;
また、図には記載していないが特定領域10dを以下のように書き換えてプログラムの実行に支障をきたさない範囲でコードの順番を入れ替えることもできる。
var b=f(1);
function f(a){return a+1;}
var c=f(2);Although not shown in the figure, the code order can be changed within a range in which the
var b = f (1);
function f (a) {return a + 1;}
var c = f (2);
最後に、(3)書き換える前のコードにダミーコードを追加する方法について詳しく説明する。 Finally, (3) a method of adding a dummy code to the code before rewriting will be described in detail.
ダミーコードを追加する方法としては、プログラムの処理に影響を与えないあらゆるコードをダミーコードとして挿入することが可能である。この一例としては、ダミーコードとして変数を追加すること、オブジェクトを追加すること、分岐処理を追加すること、ループ処理を追加すること、関数とその関数の呼出し処理を追加することに加えて、正規の変数を一度ダミー変数に入れ替えておき、正規の変数を使用する前にダミー変数を正規の変数に入れ替えること、追加した分岐、ループ、関数内で正規の処理を実行する等が挙げられる。 As a method for adding a dummy code, any code that does not affect the processing of the program can be inserted as a dummy code. As an example of this, in addition to adding variables as dummy code, adding objects, adding branch processing, adding loop processing, adding a function and calling function of that function, These variables may be replaced with dummy variables once, and dummy variables are replaced with regular variables before regular variables are used, and regular processing is executed within the added branch, loop, or function.
具体例を以下に記載する。
例えばダミーコードを挿入する前のコードが以下のものである。
var selectedType = 1;
if(selectedType == 1){
alert("処理Aを行います");
}else{
alert("処理Bを行います");
}
これにダミーコードを挿入する。
var a = 4;
var selectedType = 1;
var b = a, c = selectedType;
var x;
if(b == selectedType){
x = f(b, selectedType, b);
}else{
for(var i = 0; i < 1; ++i){
b = a / c;
x = c;
if(x == selectedType && selectedType == 1){
a = 2;
f();
}else{
a = 1;
alert(“処理Bを行います”);
}
}
}
function f(p, q, r){
var x = 2;
alert(“処理Aを行います”);
return p + q − x * r;
}Specific examples are described below.
For example, the code before inserting the dummy code is as follows.
var selectedType = 1;
if (selectedType == 1) {
alert ("Do process A");
} Else {
alert ("Do process B");
}
A dummy code is inserted into this.
var a = 4;
var selectedType = 1;
var b = a, c = selectedType;
var x;
if (b == selectedType) {
x = f (b, selectedType, b);
} Else {
for (var i = 0; i <1; ++ i) {
b = a / c;
x = c;
if (x == selectedType && selectedType == 1) {
a = 2;
f ();
} Else {
a = 1;
alert (“Process B”);
}
}
}
function f (p, q, r) {
var x = 2;
alert (“Process A”);
return p + q-x * r;
}
なお、上述した方法は、単独で用いてもよいし、例えば上述した(1)書き換える前のコードと等価なコードに書き換える方法や、(2)書き換える前のコードの順番をプログラムの実行に支障をきたさない範囲で入れ替える方法と、合わせて用いることもできる。 The above-described method may be used alone, for example, (1) the above-described method of rewriting the code equivalent to the code before rewriting, or (2) the order of the code before rewriting disturbs the execution of the program. It can also be used in combination with a method of replacing within a range that does not come.
また、プログラムの実行に影響を与えない形式が複数ある場合も考えられる。つまり、(1)等価なコードに書き換える方法が2以上ある場合、(2)コードの順番をプログラムの実行に支障をきたさない範囲で入れ替える方法が2以上ある場合、(3)ダミーコードの挿入方法が2以上ある場合、または上記(1)(2)(3)のいずれの方法も可能な場合等である。このように、書き換える方法が複数ある場合には、これら複数の形式のうちのいずれか一つの形式を変換部6が適宜選択して書き換えるように構成することができる。
In addition, there may be a plurality of formats that do not affect the execution of the program. That is, (1) when there are two or more methods for rewriting the equivalent code, (2) when there are two or more methods for replacing the order of the codes within a range that does not hinder the execution of the program, (3) dummy code insertion method Is 2 or more, or when any of the above methods (1), (2), and (3) is possible. As described above, when there are a plurality of rewriting methods, the
追加部7は、変換部6で変換されたプログラムを取得するとともに、このプログラムを予め作成した初期プログラムに埋め込む。この初期プログラムとは、ユーザ端末300で機能するものであって、外部サーバ100が有する情報を取得する要求を行うとともに、この情報に変換部6で変換されたプログラムを合成してユーザ用プログラムを作成するように命令するものである。
The adding
記録部2は、初期プログラムを記録する。なお、記録時に例えばプログラムを受付部3で受け付けた時間情報や、プログラムの名称に関する情報等に紐付けて初期プログラムを記録してもよい。
The
送信部8は、ユーザ端末300からの初期プログラム要求を受け付けて、初期プログラムを記録部2から抽出してユーザ端末300に送信するものである。
The
ユーザ端末300では、送信部8から送信された初期プログラムが実行され、外部サーバ100に情報を取得する要求を行い、外部サーバ100からこの情報が送信される。本実施形態においては、ユーザ端末300のGPSの緯度、経度、高度等の位置情報を外部サーバ100に送り、外部サーバ100はこの位置情報を含む地図情報を送信する。ユーザ端末300では、この地図情報に変換部6で変換されたプログラムを合成してユーザ用プログラムを生成する。このユーザ用プログラムは、例えば地図上の所定の地点に宝を配置するとともに、ユーザの現在位置からその所定の地点までの間に位置情報に紐付けた様々なトラップを仕掛け、ユーザが実際にその位置に移動してトラップを解いていくことによって宝を獲得できるとした所謂リアルゲームに関する処理を行うものである。そして、ユーザ端末300においてユーザ用プログラムが実行されることにより、ユーザはゲームをプレイすることができる。
In the
なお、上述の実施形態において、送信部8が、記録部2に複数の初期プログラムが記録されている場合、送信部8は、ユーザ端末300に記録部2に記録された初期プログラムのリストを送り、このリストのうちからユーザが適宜選択した初期プログラムの選択情報を受け付けて、この選択情報に基づいて初期プログラムを記録部2から抽出し、ユーザ端末300に送信するように構成してもよい。
In the above-described embodiment, when the
上述したように構成した第1実施形態における処理システム1では、特定のコードが記載された特定領域10のうち、選択部5によってランダムに選択された該領域が、変換部6によってプログラムの実行に影響を与えない所定の形式に書き換えられる。そのため、本処理システム1を経たプログラムは、同じ処理を実行するコードをそれぞれ異ならせることができるので、悪意あるユーザがプログラムを解析しようとしても、コードの規則性を見出すことが難しく、プログラムの解析を防止することができる。
In the
また、悪意あるユーザが本実施形態のシステム1を経たプログラムの解析を試みたところで、規則性を見出すことができないので、その解析に膨大な時間と手間がかかる。加えて、従来の暗号化のように1つのキーコードを取得すれば、そのキーコードを用いて暗号化されたプログラムを全て解析できるようになるものでもなく、プログラム毎に時間と手間をかけて解析が必要となるので、悪意あるユーザの攻撃を断念させることが可能となる。
Further, when a malicious user tries to analyze a program that has passed through the
さらに、プログラムの解析のヒントとなる文字や数値を、本処理システム1ではプログラムの実行に影響を与えない形式に書き換えることによって、プログラムの解析のヒントをなくし、よりプログラムの解析を困難なものとすることができる。
Furthermore, the
加えて、プログラムの実行に影響を与えない形式が複数ある場合には、変換部6がこれら複数の形式のうちのいずれか一つの形式を適宜選択して書き換えるように構成すれば、変換部が書き換えた後のコードのバリエーションを増やして、さらに規則性を見出しにくくなり、プログラムの解析をより困難なものとすることができる。
In addition, when there are a plurality of formats that do not affect the execution of the program, if the
なお、処理ステム1の記録部2又は別途設けたメモリに、ユーザがプレイしたそれまでの進行状況を示すプレイデータを保存するように構成してもよい。このとき、例えばユーザ毎にIDを決めておき、このIDと該プレイデータとを紐付けて記録しておく。これにより、ユーザは一度本処理システム1、21と通信を切断した後であっても、IDがあれば以前プレイした続きからゲームを再開することができる。
In addition, you may comprise so that the play data which show the progress condition until then which the user played can be preserve | saved in the
<第2実施形態>
次に、第2実施形態における処理システム21の構成について、以下に詳述する。なお、第1実施形態と同様の部分には同一の符号を付して、説明を省略する。Second Embodiment
Next, the configuration of the
第2実施形態における処理システム21は、図6に示すように、変換部6を経たプログラムに、所定の時間が経過するとプログラムの機能の一部を制限する制限プログラムを追加する時間管理部11をさらに備える点が第1実施形態と異なっている。
As shown in FIG. 6, the
ここで、プログラム開発者から送信されたプログラムが、別のユーザと通信してプレイする、例えば通信対戦のようなものであれば、ユーザは本処理システム21を介して接続された別のユーザと通信することとなる。
Here, if the program transmitted from the program developer communicates with another user and plays, for example, such as a communication battle, the user can connect with another user connected via the
しかしながら、悪意あるユーザが、プレイ中にゲームプログラムのソースコードを解析し、このソースコードの一部を改ざんして、本来のプログラムでは有り得ないイベントを生じさせたり、本来のプログラムにはないアイテム生成し、これを使用してプレイすることによって、通信対戦のランキングに特定のユーザが居座り続けたりすることがあり、ゲームを健全にプレイすることができなくなるという問題がある。 However, a malicious user analyzes the source code of the game program during play and alters part of the source code to generate an event that is not possible with the original program, or to generate an item that is not in the original program However, there is a problem that by using this to play, a specific user may remain in the ranking of communication battles, making it impossible to play the game soundly.
そこで、本処理システム21では、時間管理部11を備える。
この時間管理部11は、変換部6を経たプログラムに制限プログラムを追加するものである。この制限プログラムとは、本処理システム21内に内蔵されているクロックから時間情報を取得して、ユーザ端末300がウェブサイトにアクセスした時間から所定時間が経過すると、処理システム21のメモリに、それまでのゲームの進行状況を示すプレイデータを保存できないようにしたり、他のユーザ端末との通信を切断したりしてプログラムの機能の一部を制限するものである。なお、所定時間のカウント方法は、上述の方法にとらわれず例えば送信部8が初期プログラムを送信した時点からカウントするもの等であってもよい。Therefore, the
The
これにより、ユーザ端末300が本処理システム21にアクセスしてから、所定時間が経過すると、ゲームデータを保存できなくなったり、通信が切断されたりする。そのため、悪意あるユーザのプログラムの解析に制限時間が設けられることとなり、プログラムの解析をさらに困難なものとすることができる。また、制限時間が経過すれば、それまでの解析に費やした時間と手間が無駄になるので、悪意あるユーザの攻撃を断念させることができる。
As a result, when a predetermined time elapses after the
なお、時間制限部11が追加する制限プログラムは、変換部6を経たプログラムだけではなく、受信部3から送られてきたプログラムに予め追加するものであってもよい。
Note that the restriction program added by the
<第3実施形態>
次に、第3実施形態における処理システムの構成について、以下に詳述する。なお、第1実施形態及び第2実施形態と同様の部分には同一の符号を付して、説明を省略する。<Third Embodiment>
Next, the configuration of the processing system in the third embodiment will be described in detail below. In addition, the same code | symbol is attached | subjected to the part similar to 1st Embodiment and 2nd Embodiment, and description is abbreviate | omitted.
第3実施形態の処理システム31は、プログラム開発者が投稿したプログラムによって、ユーザがコンテンツを作成したり、他のユーザが作成したコンテンツを表示させたりすることができる点が異なっている。なお、本実施形態の処理システム31は、一例として2つのユーザ端末300に接続されるものであるが、接続されるユーザ端末300は2以上の複数でもよい。
The
プログラム開発者から投稿されたプログラムには、プログラム開発者が予め定めた複数の条件を満たした場合に、第1ユーザにコンテンツの作成を促す表示を行う処理が含まれるとともに、複数の条件を満たした第2ユーザに第1ユーザが作成したコンテンツを表示する処理が含まれている。 The program posted by the program developer includes a process for displaying a message prompting the first user to create content when the program developer satisfies a plurality of predetermined conditions, and satisfies the plurality of conditions. In addition, a process for displaying the content created by the first user to the second user is included.
予め定めた複数の条件とは、プログラム開発者が予め定義した状態のことをいい、例えばゲームに関するプログラムであれば、移動エリア、最初に戦闘したキャラクター、戦った敵の数、プレイ時間等を条件として定義することができる。この条件は、プログラム開発者が開発するプログラムに合わせて適宜自由に設定される。 Predetermined conditions refer to the state defined by the program developer in advance. For example, in the case of a program related to a game, conditions such as moving area, first battle character, number of enemies fought, play time, etc. Can be defined as This condition is freely set according to the program developed by the program developer.
このプログラムを受け付けた本実施形態の処理システム31は、上述したように記録部2、受信部3、抽出部4、選択部5、変換部6によってプログラムの特定領域のコードを変換する。そして、変換したプログラムを、追加部7において予め入力された初期プログラムに埋め込む。
The
記録部33は、図6に示すように、この初期プログラムを記録するとともに、ユーザ端末300から送信されたコンテンツ等のデータを記録する。
As shown in FIG. 6, the
送受信部34は、図6に示すように、記録部33に記録された初期プログラムやデータをユーザ端末300に送受信する。
As shown in FIG. 6, the transmission /
第1ユーザ端末300a及び第2ユーザ端末300bは、処理システム31に有線または無線のネットワークを通じて接続される。
The
上述のように構成した処理システム31の動作について以下に説明する。なお、以下では説明のため、第1ユーザ端末300aが処理システム31に接続された後に第2ユーザ端末300bが処理システム31に接続されたものとし、第1ユーザ端末300aが処理システム31にアクセスした時点において、記録部33に初期プログラム以外のデータが記録されていないものとする。
The operation of the
第1ユーザ端末300aにおいて初期プログラムが実行されると、初期プログラムは外部サーバ100から情報を取得して、この情報に変換部6で変換されたプログラムを合成してユーザ用プログラムを作成し、第1ユーザ端末300aにおいてユーザ用プログラムが実行される。
When the initial program is executed in the
このユーザ用プログラムは、例えばリアルゲーム等を提供するとともに、プログラム開発者が予め定義した状態と、ユーザ用プログラムの実行状態とを比較して、ユーザにコンテンツの作成を促したり、記録部33にコンテンツを送信したり、記録部33に記録されたコンテンツを取得したりするものである。
This user program provides, for example, a real game and the like, and compares the state defined by the program developer with the execution state of the user program, prompts the user to create content, The content is transmitted or the content recorded in the
具体的には、プログラム開発者が予め定義した状態が、「移動エリアが5以上」「戦った敵の数が50以上」「プレイ時間が50時間以上」であった場合、第1ユーザ端末300aの実行状態が「移動エリアが6」「戦った敵の数が70」「プレイ時間が60時間」であれば、条件を満たしたと判定して、ディスプレイ等の表示手段に、「コンテンツを作成しますか?」等の表示や、コンテンツ作成ボタン等を表示する。なお、条件によらず常にコンテンツ作成を促す表示をしても良い。常に表示する場合は、コンテンツを作成したタイミングの「移動エリア」「戦った敵の数」「プレイ時間」の条件を使用する。
Specifically, when the state previously defined by the program developer is “the moving area is 5 or more”, “the number of fighting enemies is 50 or more”, and “the play time is 50 hours or more”, the
第1ユーザはこの表示を受けて、ゲームの感想、他のプレイヤーに対する応援、ゲームの攻略法等を音声データ、文字データ、動画データ、プログラムデータ等を用いてコンテンツを作成する。本実施形態では一例のため、第1ユーザが「この敵、強すぎ」という音声データのコンテンツを作成する。 Upon receiving this display, the first user creates content by using voice data, character data, moving image data, program data, etc., such as the impression of the game, support for other players, and the strategy of the game. In the present embodiment, as an example, the first user creates a content of audio data “This enemy is too strong”.
なお、第1ユーザが作成するコンテンツを音声データ、文字データ、動画データ、プログラムデータのいずれから作成するかは適宜ユーザで選択できるように構成することができる。 In addition, it can be comprised so that a user can select suitably whether the content which a 1st user produces is produced from audio | voice data, character data, moving image data, or program data.
第1ユーザ端末300aにおいて第1ユーザがコンテンツを作成すると、このコンテンツと、第1ユーザ端末におけるユーザ用プログラムの実行状態を示す複数の実行データとが処理システム31へと送信される。本実施形態では、第1ユーザが音声データで作成した「この敵、強すぎ」というコンテンツとともに、「移動エリアが6」「戦った敵の数が70」「プレイ時間が60時間」という複数の実行データが送信される。
When the first user creates content in the
送受信部34は、第1ユーザ端末300aから送信された第2プログラムの実行状態を示す複数の実行データ及び第1ユーザ端末300aで作成されたコンテンツを受信する。
The transmission /
記録部33は、送受信部34が受信した第1ユーザ端末300aにおけるユーザ用プログラムの実行状態を示す複数の実行データに紐付けて第1ユーザ端末300aで作成されたコンテンツを記録する。
The
次に、第2ユーザ端末300bにおいて初期プログラムが実行されると、初期プログラムは外部サーバ100から情報を取得して、この情報に変換部6で変換されたプログラムを合成してユーザ用プログラムを作成し、第2ユーザ端末300bにおいてユーザ用プログラムが実行される。
Next, when the initial program is executed in the
このユーザ用プログラムは、第1ユーザ端末300aでの処理に加えて、第2ユーザ端末300bにおいて、ユーザ用プログラムの実行状態を示す複数の実行データが、記録部33に記録された複数の実行データと合致するかを判定する。合致する場合には、記録部33に該複数の実行データに紐づけられたコンテンツを抽出して送信するように要求する。つまり、第2ユーザ端末300bでの実行データが、「移動エリアが6」「戦った敵の数が70」「プレイ時間が60時間」となった場合、ユーザ用プログラムは、記録部33においてこれら実行データに紐付けられた第1ユーザが音声データで作成した「この敵、強すぎ」というコンテンツを抽出して送信するように要求する。
In addition to the processing at the
記録部33は、要求を受け付けて上記複数の実行データと合致するコンテンツを抽出する。このとき、該当するコンテンツが複数ある場合、記録部33は複数のコンテンツを全て抽出してもよいし、少なくとも1つを抽出するように構成してもよい。
The
送受信部34は、コンテンツつまり、「この敵、強すぎ」という音声データを第2ユーザ端末300bへ送信し、第2ユーザ端末300bは、このコンテンツを再生/表示する。
The transmission /
上述のように構成した第3実施形態の処理システム31によれば、ユーザのプログラムの実行状態に合わせたコンテンツを表示することができるので、よりその場に即したコンテンツを表示することができる。また、第3実施形態における処理システム31をゲームに用いれば、プレイヤーであるユーザは、ゲームの攻略に役立てたり、また他のユーザと一緒にゲームしている感覚になるので、より一層ゲームを楽しむことができる。
According to the
本発明は、上記実施形態に限られたものではない。 The present invention is not limited to the above embodiment.
第1実施形態及び第2実施形態において、開発者端末及びユーザ端末は説明のため、それぞれ1つで構成されていたが、これらが複数であってもよい。 In the first embodiment and the second embodiment, the developer terminal and the user terminal are each constituted by one for the sake of explanation, but a plurality of these may be provided.
また、上述の全ての実施形態の処理システムにおいて、処理の順番は上述したものに限られず、例えば処理部が、受信部が受信したプログラムを初期プログラムに埋め込んだ後に、抽出部、選択部、変換部が該プログラムの特定の領域を書き換えるように構成してもよい。 Further, in the processing systems of all the embodiments described above, the processing order is not limited to that described above. For example, after the processing unit embeds the program received by the reception unit in the initial program, the extraction unit, the selection unit, and the conversion unit The unit may be configured to rewrite a specific area of the program.
さらに、第3実施形態の処理システムにおいて、時間管理部を別途設けてもよい。さらに、第3実施形態ではゲームを一例に説明をおこなったが、例えばマラソン等のスポーツにも第3実施形態の処理システムを用いることができる。この場合、コンテンツを作成/再生するための予め定めた複数の条件として、例えば「選択コースの長さ」「走行距離」「走行時間」等を選択することができる。加えて、複数の条件に合致する複数のコンテンツを記録部から抽出して第2ユーザ端末で再生すれば、ユーザであるマラソンランナーに声援を届けることができる。 Furthermore, in the processing system of the third embodiment, a time management unit may be provided separately. Furthermore, although the game has been described as an example in the third embodiment, the processing system of the third embodiment can be used for sports such as marathons. In this case, for example, “selected course length”, “travel distance”, “travel time”, and the like can be selected as a plurality of predetermined conditions for creating / reproducing the content. In addition, if a plurality of contents that match a plurality of conditions are extracted from the recording unit and played back on the second user terminal, cheering can be delivered to the marathon runner who is the user.
加えて、第3実施形態において、ユーザ用プログラムが、ユーザ端末の記録部にそれまで処理システムの記録部に記録されてきたコンテンツ及びこのコンテンツに紐づけられた複数の実行データを記録するように構成してもよい。このように構成すれば、いちいち処理システムに要求を出さずにコンテンツを表示することができるので、処理のスピードを上げることができる。 In addition, in the third embodiment, the user program records in the recording unit of the user terminal the content that has been recorded in the recording unit of the processing system and the plurality of execution data linked to the content. It may be configured. With this configuration, content can be displayed without making a request to the processing system, so that the processing speed can be increased.
本発明はその趣旨に反しない範囲で様々な変形が可能である。 The present invention can be variously modified without departing from the spirit of the present invention.
本発明は、プログラムの解析を防止するとともに、悪意あるユーザの攻撃を断念させることが可能となる処理システムである。 The present invention is a processing system that can prevent analysis of a program and abandon a malicious user attack.
1・・・処理システム
3・・・受信部
4・・・抽出部
5・・・選択部
6・・・変換部DESCRIPTION OF
Claims (7)
前記プログラムを受信する受信部と、
前記受信部が受信した前記プログラムを解析して、特定のコードが記載された特定領域を複数抽出する抽出部と、
前記抽出部が抽出した複数の前記特定領域のうちの少なくとも一部をランダムに選択する選択部と、
前記選択部が選択した前記特定領域に記載された前記コードを、前記プログラムの実行に影響を与えない形式に書き換える変換部とを備えることを特徴とする処理システム。A processing system for processing a program transmitted from the outside via a wired or wireless network,
A receiving unit for receiving the program;
An analysis unit that analyzes the program received by the reception unit and extracts a plurality of specific areas in which specific codes are described;
A selection unit that randomly selects at least a part of the plurality of specific regions extracted by the extraction unit;
A processing system comprising: a conversion unit that rewrites the code described in the specific area selected by the selection unit into a format that does not affect execution of the program.
抽出部が前記プログラムを解析し、特定のコードが記載された特定領域を複数抽出する第1のステップと、
選択部が、前記第1のステップで抽出した複数の前記特定領域のうちの少なくとも一部をランダムに選択する第2のステップと、
変換部が、前記第2のステップで選択した前記特定領域に記載された前記コードを、前記プログラムの実行に影響を与えない形式に書き換える第3のステップとを備えることを特徴とする処理方法。A processing method for processing a program transmitted from the outside via a wired or wireless network,
A first step in which the extraction unit analyzes the program and extracts a plurality of specific regions in which specific codes are described;
A second step in which the selection unit randomly selects at least a part of the plurality of specific regions extracted in the first step;
And a third step of rewriting the code described in the specific area selected in the second step into a format that does not affect execution of the program.
有線又は無線のネットワークを介して外部から送信されたプログラムを解析し、特定のコードが記載された特定領域を複数抽出する第1のステップと、
前記第1のステップで抽出した複数の前記特定領域のうちの少なくとも一部をランダムに選択する第2のステップと、
前記第2のステップで選択した前記特定領域に記載された前記コードを、前記プログラムの実行に影響を与えない形式に書き換える第3のステップとして動作させることを特徴とするプログラム。Computer
A first step of analyzing a program transmitted from the outside via a wired or wireless network and extracting a plurality of specific areas in which specific codes are described;
A second step of randomly selecting at least a part of the plurality of specific regions extracted in the first step;
A program that operates as a third step of rewriting the code described in the specific area selected in the second step into a format that does not affect the execution of the program.
前記変換部で書き換えられた変換コードを備える前記プログラムを予め入力した初期プログラムに埋め込む追加部と、
前記初期プログラムを記録するとともに、第1ユーザ端末において前記初期プログラムが作成するユーザ用プログラムの実行状態が予め定めた複数の条件を満たした場合に、その実行状態を示す複数の実行データに紐付けて前記第1ユーザ端末で作成されたコンテンツを記録する記録部とを備えることを特徴とする請求項1又は2記載の処理システム。Connected to multiple user terminals via a wired or wireless network,
An additional unit that embeds the program including the conversion code rewritten by the conversion unit in an initial program that is input in advance;
The initial program is recorded, and when the execution state of the user program created by the initial program in the first user terminal satisfies a plurality of predetermined conditions, the initial program is associated with a plurality of execution data indicating the execution state The processing system according to claim 1, further comprising: a recording unit that records content created by the first user terminal.
The processing system according to claim 6, wherein the content includes at least one of audio data, character data, moving image data, and program data.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015257714 | 2015-12-29 | ||
JP2015257714 | 2015-12-29 | ||
PCT/JP2016/086008 WO2017115612A1 (en) | 2015-12-29 | 2016-12-05 | Processing system, processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017115612A1 true JPWO2017115612A1 (en) | 2018-08-09 |
JP6630892B2 JP6630892B2 (en) | 2020-01-15 |
Family
ID=59224773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017558907A Active JP6630892B2 (en) | 2015-12-29 | 2016-12-05 | Processing system, processing method and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6630892B2 (en) |
WO (1) | WO2017115612A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4510368B2 (en) * | 2001-12-21 | 2010-07-21 | 美恵子 露崎 | Copyright protection system and recording medium recording the program |
JP4479334B2 (en) * | 2004-05-06 | 2010-06-09 | 株式会社日立製作所 | Push-type information distribution method based on presence service, push-type information distribution system, information providing apparatus, and channel search apparatus |
JP2007304726A (en) * | 2006-05-09 | 2007-11-22 | Fuji Xerox Co Ltd | Program obfuscation device, obfuscation method and obfuscation program |
-
2016
- 2016-12-05 JP JP2017558907A patent/JP6630892B2/en active Active
- 2016-12-05 WO PCT/JP2016/086008 patent/WO2017115612A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2017115612A1 (en) | 2017-07-06 |
JP6630892B2 (en) | 2020-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182473B (en) | Page operation behavior playback method and device, computer equipment and storage medium | |
CN113557748B (en) | Cross-platform blocking of a dramatic pass service | |
US9952834B2 (en) | Distribution of applications with a saved state | |
US10322342B2 (en) | Non-transitory computer-readable medium storing game program, control method of computer, information processing apparatus, image output apparatus, image output method, and non-transitory computer-readable medium storing image output program | |
US20200330878A1 (en) | Systems and methods for providing efficient game access | |
US11517823B2 (en) | Non-transitory computer-readable storage medium, terminal device, and information processing system | |
US9043885B2 (en) | System for providing content or application and control method therefor, terminal and control method therefor, authentication device and control method therefor, program, and information storage medium | |
JP2015534170A (en) | Subtitle processing method, apparatus, system, and storage medium | |
CN105391795A (en) | Method and apparatus for matching online game users across servers | |
CN113260428B (en) | Cross-platform consumption of objects within a game | |
CN111104685B (en) | Dynamic updating method and device for two-dimension code | |
WO2017115612A1 (en) | Processing system, processing method, and program | |
CN106293724A (en) | A kind of many game managements and edition control method and device | |
JP6252189B2 (en) | Information processing apparatus, program, information processing system | |
KR102639941B1 (en) | Apparatus and method of penetration test automation using cyber threat information | |
CN113750540B (en) | Game matching method, game matching device, storage medium and computer program product | |
KR102410709B1 (en) | Method and apparatus for generating log information of content user | |
CN109646956B (en) | Information display method, information display apparatus, storage medium, and electronic apparatus | |
WO2012169396A1 (en) | Server device and administration method | |
KR101308112B1 (en) | Preventing Method of Memory Fabrication and Client Apparatus | |
KR20090128746A (en) | Client system, server system, method and data frame for managing screen shot with regard to virtual space | |
KR101308106B1 (en) | Method, game server, terminal and recording medium for providing function to user authentication in game | |
CN115518382A (en) | Chess playing image generation method and related method, device, equipment and storage medium | |
CN116974897A (en) | Game testing method and device, computer equipment, storage medium and product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180206 |
|
AA64 | Notification of invalidation of claim of internal priority (with term) |
Free format text: JAPANESE INTERMEDIATE CODE: A241764 Effective date: 20180409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190416 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190926 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191015 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6630892 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |