(57)【要約】【課題】チートアプリケーション識別方法およびシステム、コンピュータ装置と結合してチートアプリケーション識別方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムを提供する。【解決手段】チートアプリケーション識別方法は、チートアプリケーションの有無を識別しようとする識別対象アプリケーションを分析して前記識別対象アプリケーションが含むＵＲＩスキーム（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓｃｈｅｍｅ）を抽出する段階、前記識別対象アプリケーションがインストールされたコンピュータのオペレーティングシステムに前記抽出されたＵＲＩスキームを利用したインタラクションの処理を要請する段階、および前記インタラクションの処理が実施される場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階を含む。【選択図】図３
2019003629.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータと結合してチートアプリケーション識別方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、
前記チートアプリケーション識別方法は、
チートアプリケーションの有無を識別しようとする識別対象アプリケーションを分析して前記識別対象アプリケーションが含むＵＲＩスキーム（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ  ｓｃｈｅｍｅ）を抽出する段階、
前記識別対象アプリケーションがインストールされた前記コンピュータのオペレーティングシステムに前記抽出されたＵＲＩスキームを利用したインタラクションの処理を要請する段階、および
前記インタラクションの処理が実施される場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
を含むことを特徴とする、コンピュータプログラム。
【請求項２】
前記チートアプリケーション識別方法は、
前記抽出されたＵＲＩスキームを分析して前記抽出されたＵＲＩスキームに対応するパッケージ識別子を決定する段階、および
前記インタラクションの処理に対する応答として前記オペレーティングシステムから返還されるパッケージ識別子を前記決定されたパッケージ識別子と比較してチートの対象となるアプリケーションを識別する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項３】
前記オペレーティングシステムは、アンドロイドオペレーティングシステムまたはｉＯＳオペレーティングシステムを含み、
前記チートアプリケーション識別方法は、
前記識別対象アプリケーションが、前記ＵＲＩスキームを利用したインテント（Ｉｎｔｅｎｔ）の処理を前記アンドロイドオペレーティングシステムに要請するか、前記ＵＲＩスキームに対応するＵＲＬ（ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）に対するオープン可能性の処理を前記ｉＯＳオペレーティングシステムに要請する場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項４】
前記チートアプリケーション識別方法は、
予め識別されたチートアプリケーションが駆動することにより、前記オペレーティングシステムと同じオペレーティングシステムで前記予め識別されたチートアプリケーションと関連して予め識別されたプロセス情報を格納する段階、
前記オペレーティングシステムのプロセス情報を示すファイルまたはリストを分析する段階、および
前記ファイルまたはリストに前記格納されたプロセス情報が含まれる場合、前記ファイルまたはリストで前記格納されたプロセス情報に対応するアプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項５】
前記チートアプリケーション識別方法は、
前記識別対象アプリケーションと関連するファイルの格納経路に前記コンピュータにインストールされた他のアプリケーションの識別のための情報が含まれる場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項６】
前記チートアプリケーション識別方法は、
前記識別されたチートアプリケーションが含むファイルのうち、選定されたファイルのファイル名または格納経路を格納する段階、
前記識別対象アプリケーションが含むファイルのうち、前記格納されたファイル名または格納経路に対応するファイルが存在するかを確認する段階、および
前記格納されたファイル名または格納経路に対応するファイルが存在する場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項７】
前記格納されたファイル名または格納経路に対応するファイルが存在する場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階は、
前記対応するファイルがチート機能を含むかを確認し、前記対応するファイルにチート機能が含まれる場合、前記識別対象アプリケーションをチートアプリケーションとして識別することを特徴とする、請求項６に記載のコンピュータプログラム。
【請求項８】
前記選定されたファイルのファイル名は、予め識別されたチートアプリケーションが駆動中に実行するファイルのファイル名を含み、
前記選定されたファイルの格納経路は、前記予め識別されたチートアプリケーションのインストールに従って前記オペレーティングシステムによって使用されるように生成されたファイルの格納経路を含むことを特徴とする、請求項６に記載のコンピュータプログラム。
【請求項９】
前記チートアプリケーション識別方法は、
前記識別されたチートアプリケーションが含むファイルのうち選定された第１ファイルまたは前記選定された第１ファイルが含む項目のうち予め設定された一部の項目に対する第１ハッシュ値を生成して格納する段階、
前記識別対象アプリケーションが含むファイルのうち選定された第２ファイルまたは前記選定された第２ファイルが含む項目のうち予め設定された一部の項目に対する第２ハッシュ値を生成する段階、および
前記第１ハッシュ値と前記第２ハッシュ値を比較し、互いに同じである場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項１０】
前記予め設定された種類の第１ファイルおよび第２ファイルは、実行可能なＥＬＦ（Ｅｘｅｃｕｔａｂｌｅａｎｄ  Ｌｉｎｋｉｎｇ  Ｆｏｒｍａｔ）ファイル、実行可能なＭａｃｈ−Ｏ（Ｍａｃｈ  Ｏｂｊｅｃｔ）ファイル、実行可能なＰＥ（Ｐｏｒｔａｂｌｅ  Ｅｘｅｃｕｔａｂｌｅ）ファイル、および圧縮ファイルのうちの少なくとも１つのファイルを含み、
前記予め設定された一部の項目は、前記少なくとも１つのファイルのヘッダを含むことを特徴とする、請求項９に記載のコンピュータプログラム。
【請求項１１】
前記チートアプリケーション識別方法は、
予め識別されたチートアプリケーションのパッケージ識別子を格納する段階、および
前記格納されたパッケージ識別子と同じパッケージ識別子を有する第１アプリケーションが前記オペレーティングシステムと関連して前記コンピュータにインストールされている場合、前記第１アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項１２】
チートアプリケーションの有無を識別しようとする識別対象アプリケーションを分析して前記識別対象アプリケーションが含むＵＲＩスキーム（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓｃｈｅｍｅ）を抽出する段階、
前記識別対象アプリケーションがインストールされたコンピュータのオペレーティングシステムに前記抽出されたＵＲＩスキームを利用したインタラクションの処理を要請する段階、および
前記インタラクションの処理が実施される場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
を含むことを特徴とする、チートアプリケーション識別方法。
【請求項１３】
前記抽出されたＵＲＩスキームを分析して前記抽出されたＵＲＩスキームに対応するパッケージ識別子を決定する段階、および
前記インタラクションの処理に対する応答として前記オペレーティングシステムから返還されるパッケージ識別子を前記決定されたパッケージ識別子と比較してチートの対象となるアプリケーションを識別する段階
をさらに含むことを特徴とする、請求項１２に記載のチートアプリケーション識別方法。
【請求項１４】
前記オペレーティングシステムは、アンドロイドオペレーティングシステムまたはｉＯＳオペレーティングシステムを含み、
前記識別対象アプリケーションが、前記ＵＲＩスキームを利用したインテント（Ｉｎｔｅｎｔ）の処理を前記アンドロイドオペレーティングシステムに要請するか、前記ＵＲＩスキームに対応するＵＲＬ（ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）に対するオープン可能性の処理を前記ｉＯＳオペレーティングシステムに要請する場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１２に記載のチートアプリケーション識別方法。
【請求項１５】
予め識別されたチートアプリケーションが駆動することにより、前記オペレーティングシステムと同じオペレーティングシステムで前記予め識別されたチートアプリケーションと関連して予め識別されたプロセス情報を格納する段階、
前記オペレーティングシステムのプロセス情報を示すファイルまたはリストを分析する段階、および
前記ファイルまたはリストに前記格納されたプロセス情報が含まれる場合、前記ファイルまたはリストで前記格納されたプロセス情報に対応するアプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１２に記載のチートアプリケーション識別方法。
【請求項１６】
前記識別対象アプリケーションと関連するファイルの格納経路に、前記コンピュータにインストールされた他のアプリケーションの識別のための情報が含まれる場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１２に記載のチートアプリケーション識別方法。
【請求項１７】
予め識別されたチートアプリケーションが含むファイルのうち、選定されたファイルのファイル名または格納経路を格納する段階、
前記識別対象アプリケーションが含むファイルのうち、前記格納されたファイル名または格納経路に対応するファイルが存在するかを確認する段階、および
前記格納されたファイル名または格納経路に対応するファイルが存在する場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１２に記載のチートアプリケーション識別方法。
【請求項１８】
予め識別されたチートアプリケーションが含むファイルのうち選定された第１ファイルまたは前記選定された第１ファイルが含む項目のうち予め設定された一部の項目に対する第１ハッシュ値を生成して格納する段階、
前記識別対象アプリケーションが含むファイルのうち選定された第２ファイルまたは前記選定された第２ファイルが含む項目のうち予め設定された一部の項目に対する第２ハッシュ値を生成する段階、および
前記第１ハッシュ値と前記第２ハッシュ値を比較し、互いに同じである場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１２に記載のチートアプリケーション識別方法。
【請求項１９】
予め識別されたチートアプリケーションのパッケージ識別子を格納する段階、および
前記格納されたパッケージ識別子と同じパッケージ識別子を有する第１アプリケーションが前記オペレーティングシステムと関連して前記コンピュータにインストールされている場合、前記第１アプリケーションをチートアプリケーションとして識別する段階
をさらに含むことを特徴とする、請求項１２に記載のチートアプリケーション識別方法。
【請求項２０】
請求項１２〜１９のうちのいずれか一項に記載の方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、チートアプリケーション識別方法およびシステムに関し、より詳細には、アプリケーションの構成要素に基づいて該当のアプリケーションのチートアプリケーションの有無を決定することができるチートアプリケーション識別方法およびシステム、コンピュータ装置と結合してチートアプリケーション識別方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムに関する。
【背景技術】
【０００２】
アプリケーションの動作方式を変更するチート（ｃｈｅａｔｉｎｇ）アプリケーションは、チートアプリケーションの実行をシステムが識別できないように隠蔽することを目的とし、同じ機能を含んでいたとしても、若干の変更を加えて極めて多様な種類やバージョンで製作および配布されている。
【０００３】
このようなチートアプリケーションを識別するための技術として、予め探知されたチートアプリケーションが含む実行ファイルのハッシュ値を抽出した後、識別しようとするアプリケーションである識別対象アプリケーションに対しても実行ファイルのハッシュ値を抽出し、抽出したハッシュ値を比較する方法が存在する。例えば、特許文献１は、悪性アプリケーションまたは悪性ウェブサイト探知方法およびシステムに関するものであって、アプリケーションの関連情報の１つである実行ファイルのハッシュ値を利用して悪性の有無を判断し、判断結果が悪性でない場合は、シグニチュア情報のリソースファイル内にあるライブラリファイルのハッシュ値を利用して悪性の有無を再判断する構成を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】韓国登録特許第１０−１６２８８３７号
【０００５】
しかし、このような従来技術において、システムにインストールされたすべてのアプリケーションのハッシュ値（ｈａｓｈ  ｖａｌｕｅ）とチートアプリケーションのハッシュ値を比べるためには、すべてのアプリケーションそれぞれのすべての実行ファイルの内容を確認してすべてのアプリケーションそれぞれのすべての実行ファイルのハッシュ値を生成しなければならず、実行ファイルの内容をすべて確認しなければならないため、時間が多くかかるという問題を抱えている。
【０００６】
これだけでなく、チートアプリケーションが、同じ機能を含んではいるものの、若干の内容だけが変更された実行ファイルを含んでいる場合は、ハッシュ値が異なるため、このような異なるバージョンのチートアプリケーションは識別することができないという問題もある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで本発明は、アプリケーションの特定の構成要素を利用してチートアプリケーションを探知することができるチートアプリケーション識別方法およびシステム、コンピュータ装置と結合してチートアプリケーション識別方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００８】
本発明に係るコンピュータプログラムは、コンピュータと結合してチートアプリケーション識別方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムであって、前記チートアプリケーション識別方法は、チートアプリケーションの有無を識別しようとする識別対象アプリケーションを分析して前記識別対象アプリケーションが含むＵＲＩスキーム（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ  ｓｃｈｅｍｅ）を抽出する段階、前記識別対象アプリケーションがインストールされた前記コンピュータのオペレーティングシステムに前記抽出されたＵＲＩスキームを利用したインタラクションの処理を要請する段階、および前記インタラクションの処理が実施される場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階を含む。
【０００９】
本発明に係るチートアプリケーション識別方法は、チートアプリケーションの有無を識別しようとする識別対象アプリケーションを分析して前記識別対象アプリケーションが含むＵＲＩスキーム（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ  ｓｃｈｅｍｅ）を抽出する段階、前記識別対象アプリケーションがインストールされたコンピュータのオペレーティングシステムに前記抽出されたＵＲＩスキームを利用したインタラクションの処理を要請する段階、および前記インタラクションの処理が実施される場合、前記識別対象アプリケーションをチートアプリケーションとして識別する段階を含む。
【００１０】
本発明に係るコンピュータで読み取り可能な記録媒体は、前記チートアプリケーション識別方法をコンピュータに実行させるためのプログラムが記録されている。
【発明の効果】
【００１１】
上記構成により、アプリケーションの特定の構成要素を利用してチートアプリケーションを探知することができる。例えば、チートアプリケーションが、同じ機能の提供のために変更が不可能か変更する確率が低い特定の構成要素を利用してチートアプリケーションを探知することにより、一部の内容を変更した新たなバージョンのチートアプリケーションであっても識別することができるようになる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、システムとの相互作用の有無によってアプリケーションを識別する方法の例を示したフローチャートである。
【図４】本発明の一実施形態における、システムとの相互作用の有無によってアプリケーションを識別する例を示した図である。
【図５】本発明の一実施形態における、プロセスファイルまたはリストに識別しようとするアプリケーションが存在するかによってチートアプリケーションを識別する方法を示したフローチャートである。
【図６】本発明の一実施形態における、特定のファイルのファイル名および／または格納経路によってチートアプリケーションを識別する方法の例を示したフローチャートであるである。
【図７】本発明の一実施形態における、ハッシュ値を利用してチートアプリケーションを識別する方法の例を示した図である。
【図８】本発明の一実施形態における、パッケージ識別子に基づいてチートアプリケーションを識別する方法の例を示したフローチャートである。
【図９】本発明の一実施形態における、アンドロイドＡＰＫファイルの例を示した図である。
【図１０】本発明の一実施形態における、ｉＯＳ  ＩＰＡファイルの例を示した図である。
【発明を実施するための形態】
【００１３】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１４】
本発明の実施形態に係るチートアプリケーション識別方法は、以下で説明される電子機器またはサーバで実現されてよく、本発明の実施形態に係るチートアプリケーション識別方法は、このような電子機器またはサーバで実行されてよい。例えば、電子機器には、本発明の一実施形態に係るコンピュータプログラムとして実現されるアプリケーションがインストールおよび駆動されてよく、電子機器は、駆動するアプリケーションの制御に従って識別対象アプリケーションがチートアプリケーションであるかを決定してよい。コンピュータプログラムは、電子機器と結合してチートアプリケーション識別方法を実行させるためにコンピュータで読み取り可能な記録媒体に格納されてよい。他の実施形態として、サーバが上述したアプリケーションの制御に従い、識別対象アプリケーションがチートアプリケーションであるかを決定してもよい。例えば、電子機器は、自身のシステムにインストールされたすべてのアプリケーションそれぞれを識別対象アプリケーションとしてチートアプリケーションであるかを検査してよい。他の例として、サーバは、電子機器にインストールされたすべてのアプリケーションそれぞれを識別対象アプリケーションとしてチートアプリケーションであるかを検査してよい。また他の例として、サーバは、サーバにインストールされた特定のアプリケーションを識別対象アプリケーションとしてチートアプリケーションであるかを決定してもよい。
【００１５】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００１６】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットなどがある。一例として、図１では、電子機器１（１１０）の例としてスマートフォンの形状を示しているが、本発明の実施形態では、実質的に、無線または有線通信方式を利用してネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することのできる多様な機器のうちの１つを意味してよい。
【００１７】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これらに限定されることはない。
【００１８】
サーバ１５０、１６０それぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。例えば、サーバ１５０は、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第１サービスを提供するシステムであってもよく、サーバ１６０も、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第２サービスを提供するシステムであってもよい。より具体的な例として、サーバ１６０は、第２サービスとして、アプリケーション（コンピュータプログラム）のインストールのためのインストールファイル（一例として、応用プログラムパッケージファイル）を複数の電子機器１１０、１２０、１３０、１４０に提供するシステムであってもよい。また、サーバ１５０は、第１サービスとして、特定のアプリケーションのチートアプリケーションの有無を確認するサービスを複数の電子機器１１０、１２０、１３０、１４０に提供してもよい。このようなサービスは、ネットワーク環境を説明するための１つの実施形態に過ぎず、実際のネットワーク環境でサーバ１５０、１６０それぞれが提供するサービスは極めて多様である。
【００１９】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、電子機器に対する例として電子機器１（１１０）の内部構成と、サーバ１５０の内部構成を説明する。また、他の電子機器１２０、１３０、１４０やサーバ１６０も、上述した電子機器１（１１０）またはサーバ１５０と同一または類似の内部構成を有してもよい。
【００２０】
電子機器１（１１０）とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。ここで、ＲＯＭやディスクドライブのような永久大容量記憶装置は、メモリ２１１、２２１とは区分される別の永久格納装置として、電子機器１（１１０）やサーバ１５０に含まれてもよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電気機器１（１１０）にインストールされ駆動するブラウザや特定サービスの提供のために電子機器１（１１０）にインストールされたアプリケーションなどのためのコード）が格納されてよい。このようなソフトウェア構成要素は、メモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を通じてメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、上述したサーバ１５０）がネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてもよい。
【００２１】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードに従って受信される命令を実行するように構成されてもよい。
【００２２】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１（１１０）とサーバ１５０とが互いに通信するための機能を提供してもよいし、他の電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１（１１０）のプロセッサ２１２がメモリ２１１のような記録装置に格納されたプログラムコードに従って生成した要求が、通信モジュール２１３の制御に従ってネットワーク１７０を介してサーバ１５０に伝達されてもよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御に従って提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１（１１０）の通信モジュール２１３を通じて電子機器１（１１０）に受信されてもよい。例えば、通信モジュール２１３を通じて受信したサーバ１５０の制御信号や命令などは、プロセッサ２１２やメモリ２１１に伝達されてもよく、コンテンツやファイルなどは、電子機器１（１１０）がさらに含むことのできる格納媒体（上述した永久記憶装置）に格納されてもよい。
【００２３】
入力／出力インタフェース２１４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、ディスプレイのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置２１５は、電子機器１（１１０）と１つの装置で構成されてもよい。また、サーバ１５０の入力／出力インタフェース２２４は、サーバ１５０と連結されてもよいし、サーバ１５０が含むことのできる入力または出力のための装置（図示せず）とのインタフェースのための手段であってもよい。より具体的な例として、電子機器１（１１０）のプロセッサ２１２は、メモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器２（１２０）が提供するデータを利用して構成されるサービス画面やコンテンツが、入力／出力インタフェース２１４を通じてディスプレイに表示されてもよい。
【００２４】
また、他の実施形態において、電子機器１（１１０）およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器１（１１０）は、上述した入力／出力装置２１５のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器１（１１０）がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器などのような多様な構成要素が電子機器１（１１０）にさらに含まれるように実現されてもよい。
【００２５】
図３は、本発明の一実施形態における、システムとの相互作用の有無によってアプリケーションを識別する方法の例を示したフローチャートである。本実施形態に係るチートアプリケーション識別方法は、上述した電子機器１（１１０）やサーバ１５０のようなコンピュータ装置によって実行されてよい。本実施形態では、電子機器１（１１０）がチートアプリケーション識別方法を実行する過程について説明する。電子機器１（１１０）のプロセッサ２１２は、メモリ２１１が含むオペレーティングシステムのコードや、少なくとも１つのコンピュータプログラムのコードによる制御命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。ここで、プロセッサ２１２は、電子機器１（１１０）に格納されたコードが提供する制御命令に従い、電子機器１（１１０）が、図３の実施形態に係るチートアプリケーション識別方法が含む段階３１０〜３３０を実行するように電子機器１（１１０）を制御してよい。
【００２６】
段階３１０で、電子機器１（１１０）は、チートアプリケーションの有無を識別しようとする識別対象アプリケーションを分析して識別対象アプリケーションが含むＵＲＩスキーム（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ  ｓｃｈｅｍｅ）を抽出してよい。ＵＲＩは、インターネットのようなコンピュータネットワークにあるリソースを示す唯一のアドレスであり、特定のリソースに関する位置情報を提供する。例えば、電子機器１（１１０）で特定のＵＲＩに該当するリンクを開くと、このＵＲＩに該当するリソース（ＨＴＭＬ文書、イメージなど）を探し出してダウンロードするようになる。このとき、ダウンロードしたリソースがどのような類型であり、どのように処理されるべきであるかを識別する情報として、ＵＲＩスキームが活用されてよい。例えば、ＵＲＩ「ｈｔｔｐ：／／ｗｗｗ．ｎａｖｅｒ．ｃｏｍ」の「ｈｔｔｐ」や「ｆｔｐ：／／ｆｉｌｅ．ｍｙｃｏｍｐａｎｙ．ｃｏｍ」の「ｆｔｐ」がＵＲＩスキームとなる。一方、カスタム（ｃｕｓｔｏｍ）ＵＲＩスキームのようにユーザによって定義されることのできるＵＲＩスキームも存在する。例えば、ユーザは、「ｌｉｎｅａｐｐ：／／」の「ｌｉｎｅａｐｐ」や「ｃｏｍ．ｌｉｎｅｃｏｒｐ．ｇａｍｅ：／／」の「ｃｏｍ．ｌｉｎｅｃｏｒｐ．ｇａｍｅ」などのように、カスタムＵＲＩスキームを定義して使用することもできる。電子機器１（１１０）は、識別対象アプリケーションが含むＵＲＩスキームを確認して抽出してよい。
【００２７】
段階３２０で、電子機器１（１１０）は、識別対象アプリケーションがインストールされたコンピュータのオペレーティングシステムに前記抽出されたＵＲＩスキームを利用したインタラクションの処理を要請してよい。ここで、コンピュータは、電子機器１（１１０）に対応してよい。他の実施形態において、サーバ１５０が電子機器１（１１０）にインストールされた識別対象アプリケーションのチートアプリケーションの有無を識別しようとする場合は、コンピュータが電子機器１（１１０）になってよく、サーバ１５０がサーバ１５０にインストールされた識別対象アプリケーションのチートアプリケーションの有無を識別しようとする場合は、コンピュータがサーバ１５０になってもよい。
【００２８】
一実施形態として、オペレーティングシステムが、アンドロイドオペレーティングシステムまたはｉＯＳオペレーティングシステムを含んでよい。この場合、電子機器１（１１０）は、識別対象アプリケーションが、前記ＵＲＩスキームを利用したインテント（Ｉｎｔｅｎｔ）の処理をアンドロイドオペレーティングシステムに要請してもよいし、ＵＲＩスキームに対応するＵＲＬ（ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）に対するオープン可能性の処理をｉＯＳオペレーティングシステムに要請してもよい。より具体的な例として、アンドロイドオペレーティングシステムの場合、電子機器１（１１０）は、”Ｉｎｔｅｎｔ（Ｉｎｔｅｎｔ．ＡＣＴＩＯＮ＿ＶＩＥＷ、”ｌｉｎｅａｐｐ：／／）”のように抽出されたＵＲＩスキームに対するインテントの処理を要請してよい。他の例として、ｉＯＳオペレーティングシステムの場合、電子機器１（１１０）は、”ｃａｎＯｐｅｎＵＲＬ：”ｌｉｎｅａｐｐ」／／”のように抽出されたＵＲＩスキームが含まれたＵＲＬのオープン（ｏｐｅｎ）可能性に対する処理を要請してよい。
【００２９】
段階３３０で、電子機器１（１１０）は、インタラクションの処理が実施される場合、識別対象アプリケーションをチートアプリケーションとして識別してよい。このように、電子機器１（１１０）は、インタラクションの処理が実施されることを識別対象アプリケーションがオペレーティングシステムと相互作用するものと解釈してよく、このようなオペレーティングシステムとの相互作用自体をチートアプリケーションの存在として判断してよい。言い換えれば、電子機器１（１１０）は、オペレーティングシステムと相互作用する識別対象アプリケーションをチートアプリケーションとして識別してよい。
【００３０】
他の実施形態として、電子機器１（１１０）は、識別対象アプリケーションがアンドロイドオペレーティングシステムにおいて特定の要請が含まれたインテントを処理するアプリケーションである場合、識別対象アプリケーションをチートアプリケーションとして識別してよい。例えば、上述した例のように、識別対象アプリケーションが”Ｉｎｔｅｎｔ（Ｉｎｔｅｎｔ．ＡＣＴＩＯＮ＿ＶＩＥＷ、”ｌｉｎｅａｐｐ：／／）”のようにＵＲＩスキームを利用したインテントの処理をアンドロイドオペレーティングシステムに要請する場合、電子機器１（１１０）は、識別対象アプリケーションをチートアプリケーションとして識別してよい。
【００３１】
また他の実施形態として、電子機器１（１１０）は、識別対象アプリケーションがｉＯＳオペレーティングシステムにおいて特定の要請が含まれたＵＲＬを処理するアプリケーションである場合、識別対象アプリケーションをチートアプリケーションとして識別してよい。例えば、識別対象アプリケーションが［［ＵＩＡｐｐｌｉｃａｔｉｏｎ  ｓｈａｒｅｄＡｐｐｌｉｃａｔｉｏｎ］ｃａｎＯｐｅｎＵＲＬ：”ｌｉｎｅａｐｐ：／／”］のようにＵＲＩスキームを利用したＵＲＬ処理を要請する場合、電子機器１（１１０）は、識別対象アプリケーションをチートアプリケーションとして識別してもよい。
【００３２】
言い換えれば、図３の実施形態のように、抽出されたＵＲＩスキームを利用したインタラクションの処理の要請をシステムが処理すること自体をチートアプリケーションの条件として判断してもよく、オペレーティングシステムに特定の要請が含まれたインテントやＵＲＬを処理することを要請することも、チートアプリケーションの条件として判断してもよい。
【００３３】
このように、上述した実施形態では、実行ファイル全体ではなく、ＵＲＬスキームのようなアプリケーションの特定の構成要素に基づいて該当のアプリケーションのチートアプリケーションの有無を判断することができる。このような特定の構成要素を利用したオペレーティングシステムとの相互作用は、チートアプリケーションの内容の一部を変更したとしても探知が可能であるため、新たなバージョンのチートアプリケーションも探知することができるようになる。
【００３４】
図４は、本発明の一実施形態における、システムとの相互作用の有無によってアプリケーションを識別する例を示した図である。図４は、電子機器１（１１０）が識別対象アプリケーションのパッケージファイル４１０を分析してＵＲＩスキーム４２０を抽出し、抽出されたＵＲＩスキーム４２０を利用したインテントやＵＲＬの処理を要請することを示している。このとき、オペレーティングシステムがこのような要請を直ぐに処理する場合、該当のスキームに相応するパッケージおよび／またはアプリケーションが存在することを確認してよく、このような処理が発生する場合、識別対象アプリケーションがチートアプリケーションであることを判断してよい。
【００３５】
また、上述したように、識別対象アプリケーションが上述したインテントやＵＲＬの処理を要請する行為自体で、識別対象アプリケーションをチートアプリケーションとして識別してもよい。このような識別は、識別対象アプリケーションに上述した要請のためのコードが含まれているかを確認することによってなされてよい。
【００３６】
また、電子機器１（１１０）は、抽出されたＵＲＩスキームを分析し、抽出されたＵＲＩスキームに対応するパッケージ識別子を決定してよい。例えば、「ｌｉｎｅａｐｐ：／／」の「ｌｉｎｅａｐｐ」と「ｃｏｍ．ｌｉｎｅｃｏｒｐ．ｇａｍｅ：／／」の「ｃｏｍ．ｌｉｎｅｃｏｒｐ．ｇａｍｅ」に基づいて｛「ｃｏｍ．ｌｉｎｅｃｏｒｐ．ａｐｐ」、「ｃｏｍ．ｌｉｎｅｃｏｒｐ．ｇａｍｅ」｝のようなパッケージ識別子を決定してよい。このとき、電子機器１（１１０）は、インタラクションの処理に対する応答として上記オペレーティングシステムから返還されるパッケージ識別子を決定されたパッケージ識別子と比較してチートの対象となるアプリケーションを識別してよい。
【００３７】
図５は、本発明の一実施形態における、プロセスファイルまたはリストに識別しようとするアプリケーションが存在するかによってチートアプリケーションを識別する方法を示したフローチャートである。
【００３８】
段階５１０で、電子機器１（１１０）は、予め識別されたチートアプリケーションの駆動により、電子機器１（１１０）のオペレーティングシステムと同じオペレーティングシステムで予め識別されたチートアプリケーションと関連して予め識別されたプロセス情報を格納してよい。
【００３９】
段階５２０で、電子機器１（１１０）は、オペレーティングシステムのプロセス情報を示すファイルまたはリストを分析してよい。例えば、予め識別されたチートアプリケーションに対し、アンドロイドの「ｐｒｏｃ」ファイルでプロセスに関する情報が管理されてよく、電子機器１（１１０）は、このようなプロセス情報を格納してよい。この後、電子機器１（１１０）は、チートアプリケーションを試してみるときに、電子機器１（１１０）のオペレーティングシステムのプロセス情報を示すファイルまたはリストを分析してよく、格納されたプロセス情報が分析されたファイルまたはリストに存在しているかを確認してよい。
【００４０】
段階５３０で、電子機器１（１１０）は、ファイルまたはリストに格納されたプロセス情報が含まれた場合、ファイルまたはリストで格納されたプロセス情報に対応するアプリケーションをチートアプリケーションとして識別してよい。
【００４１】
このように、電子機器１（１１０）は、本実施形態において、同じオペレーティングシステムにおけるプロセス情報に基づいてチートアプリケーションを識別することができる。このようなプロセス情報も、アプリケーションの特定の構成要素として活用されてもよい。
【００４２】
図５の実施形態に係るチートアプリケーション識別方法の段階５１０〜５３０は、上述した実施形態と並列して実行されてもよいし、独立的に実行されてもよい。例えば、上述した実施形態と図５の実施形態、さらに以下で説明する実施形態はすべて、それぞれ独立的に実行されてもよいが、並列して共に実行されてもよい。例えば、電子機器１（１１０）は、互いに異なる複数の実施形態を並列して共に実行し、複数の実施形態のうちの少なくとも１つの実施形態によって特定のアプリケーションがチートアプリケーションとして識別される場合、該当のアプリケーションをチートアプリケーションとして最終決定してもよい。他の例として、電子機器１（１１０）は、互いに異なる複数の実施形態を並列して共に実行し、複数の実施形態のうちの少なくとも２つ以上の実施形態によって特定のアプリケーションがチートアプリケーションとして識別される場合、該当のアプリケーションをチートアプリケーションとして最終決定してもよい。
【００４３】
上述したように、本発明の実施形態は、アプリケーションの特定の構成要素に基づいてチートアプリケーションを識別することができる。このとき、特定の構成要素は、同じ機能を提供するための新たなバージョンのチートアプリケーションに、変更可能な内容の範囲に含まれない構成要素が存在することもあるし、変更可能な内容の範囲に含まれる構成要素が存在することもある。したがって、本発明の実施形態のうちの少なくとも１つの実施形態で特定される構成要素に基づいて新たなバージョンのチートアプリケーションを識別することができない可能性を考慮した上で、提示する複数の実施形態のうちの２つ以上の実施形態を併合して実施してもよい。図３の実施形態のように、特定の内容の変更とは関係のない構成要素を活用する実施形態は、独立的に実施されてもよい。
【００４４】
また他の実施形態として、電子機器１（１１０）は、識別対象アプリケーションと関連するファイルの格納経路に、コンピュータにインストールされた他のアプリケーションの識別のための情報が含まれた場合、識別対象アプリケーションをチートアプリケーションとして識別してよい。例えば、電子機器１（１１０）にアプリケーションをインストールするとき、アプリケーションが使用する固有のファイル位置が存在する。例えば、「／ｓｄｃａｒｄ／Ａｎｄｒｏｉｄ／ｄａｔａ／ｃｏｍ．ｇｏｏｇｌｅ．ａｎｄｒｏｉｄ．ｍｕｓｉｃ／ｃａｃｈｅ」のように基本的に生成される格納経路が存在する。このとき、電子機器１（１１０）は、格納経路から「ｃｏｍ．ｇｏｏｌｅ．ａｎｄｒｏｉｄ．ｍｕｓｉｃ」のような他のアプリケーションの識別のための情報を抽出してよい。このとき、電子機器１（１１０）は、識別対象アプリケーションと関連するファイルが、識別対象アプリケーションのための格納経路ではなく、他のアプリケーションの格納経路に格納されたものであると判断してよい。この場合、電子機器１（１１０）は、識別対象アプリケーションをチートアプリケーションとして識別してよい。
【００４５】
図６は、本発明の一実施形態における、特定のファイルのファイル名および／または格納経路によってチートアプリケーションを識別する方法の例を示したフローチャートである。
【００４６】
段階６１０で、電子機器１（１１０）は、予め識別されたチートアプリケーションが含むファイルのうち、選定されたファイルのファイル名または格納経路を格納してよい。
【００４７】
段階６２０で、電子機器１（１１０）は、識別対象アプリケーションが含むファイルのうち、格納されたファイル名または格納経路に対応するファイルが存在するかを確認してよい。
【００４８】
段階６３０で、電子機器１（１１０）は、格納されたファイル名または格納経路に対応するファイルが存在する場合、識別対象アプリケーションをチートアプリケーションとして識別してよい。
【００４９】
このように、本実施形態に係るチートアプリケーション識別方法において、電子機器１（１１０）は、予め識別されたチートアプリケーションが含む特定のファイルのファイル名や格納経路と同じファイル名または格納経路を有するアプリケーションを、チートアプリケーションとして識別してよい。例えば、「ｇａｍｅｈａｃｋｅｒ．ｐｎｇ」、「ＨｅｌｌｏＷｏｒｌｄ．ｐｎｇ」のようなファイル名や「／ｓｙｓｔｅｍ／ｘｂｉｎ／ｓｕ」の格納経路のように、チートアプリケーションと関連して含まれる特定のファイル名および／または格納経路が活用されてよい。
【００５０】
このとき、予め識別されたアプリケーションが含む特定のファイルのファイル名と格納経路は、チートアプリケーションだけの唯一性を最大限に保障できるように選定されてよもい。上述したように、ファイル名と格納経路だけでは唯一性が保障されない場合を考慮するとき、本実施形態は、他の実施形態のうちの１つと共に並列して実施されてもよい。例えば、図３の実施形態と本実施形態を共に実施し、２つの実施形態すべてにおいて識別対象アプリケーションがチートアプリケーションとして識別された場合、電子機器１（１１０）は、識別対象アプリケーションをチートアプリケーションとして最終決定してもよい。
【００５１】
または、図６の実施形態は、独立的に実行されてもよい。この場合、電子機器１（１１０）は、段階６３０で、対応するファイルがチート機能を含むかを確認し、対応するファイルにチート機能が含まれる場合、識別対象アプリケーションをチートアプリケーションとして識別してもよい。言い換えれば、ファイル名や格納経路によって特定のファイルを選定した後、選定された特定のファイルがチート機能（一例として、ルーティング（ｒｏｏｔｉｎｇ）機能）を含んでいるかを確認し、最終的に識別対象アプリケーションをチートアプリケーションとして決定してもよい。
【００５２】
また、図６の実施形態で選定されたファイルのファイル名は、予め識別されたチートアプリケーションが駆動中に実行するファイルのファイル名を含んでよい。また、選定されたファイルの格納経路は、予め識別されたチートアプリケーションのインストールに従ってオペレーティングシステムによって使用されるように生成されたファイルの格納経路を含んでよい。
【００５３】
図７は、本発明の一実施形態における、ハッシュ値を利用してチートアプリケーションを識別する方法の例を示した図である。
【００５４】
段階７１０で、電子機器１（１１０）は、予め識別されたチートアプリケーションが含むファイルのうち予め設定された種類の第１ファイルまたは第１ファイルが含む項目のうち予め設定された一部の項目に対する第１ハッシュ値を生成して格納してよい。
【００５５】
段階７２０で、電子機器１（１１０）は、識別対象アプリケーションが含むファイルのうち予め設定された種類の第２ファイルまたは第２ファイルが含む項目のうち予め設定された一部の項目に対する第２ハッシュ値を生成してよい。
【００５６】
段階７３０で、電子機器１（１１０）は、第１ハッシュ値と第２ハッシュ値を比較し、互いに同じである場合、識別対象アプリケーションをチートアプリケーションとして識別してよい。
【００５７】
上述したように、従来技術では、予め識別されたチートアプリケーションの実行ファイルのハッシュ値を生成した後、識別対象アプリケーションと比較するために、識別対象アプリケーションのすべての実行ファイルそれぞれのハッシュ値を生成する。この反面、図７の実施形態では、ハッシュ値を生成するファイルの種類を予め決定しておくことができる。例えば、予め設定された種類の第１ファイルおよび第２ファイルは、実行可能なＥＬＦ（Ｅｘｅｃｕｔａｂｌｅ  ａｎｄ  Ｌｉｎｋｉｎｇ  Ｆｏｒｍａｔ）ファイル、実行可能なＭａｃｈ−Ｏ（Ｍａｃｈ  Ｏｂｊｅｃｔ）ファイル、実行可能なＰＥ（Ｐｏｒｔａｂｌｅ  Ｅｘｅｃｕｔａｂｌｅ）ファイル、および圧縮ファイルのうちの少なくとも１つのファイルを含んでよい。予め設定された種類のファイルがＥＬＦファイルである場合、電子機器１（１１０）は、識別対象アプリケーションの実行ファイルのうちＥＬＦファイルだけに対してハッシュ値を生成すればよいため、ハッシュ値の生成にかかる時間を大幅に減らすことができる。または、特定の種類のファイルの特定の項目だけを利用してハッシュ値を生成してもよい。例えば、予め設定された一部の項目は、特定の種類のファイルのヘッダを含んでよい。言い換えれば、電子機器１（１１０）は、ＥＬＦファイルのヘッダだけを確認してハッシュ値を生成してよい。したがって、ハッシュ値の生成にかかる時間をさらに減らすことができる。圧縮ファイルは、「ＺＩＰ」ファイルを含んでよい。
【００５８】
図８は、本発明の一実施形態における、パッケージ識別子に基づいてチートアプリケーションを識別する方法の例を示したフローチャートである。
【００５９】
段階８１０で、電子機器１（１１０）は、予め識別されたチートアプリケーションのパッケージ識別子を格納してよい。このようなパッケージ識別子は、パッケージ名やバンドルＩＤを含んでよい。
【００６０】
段階８２０で、電子機器１（１１０）は、格納されたパッケージ識別子と同じパッケージ識別子を有する第１アプリケーションがオペレーティングシステムと関連してコンピュータにインストールされている場合、第１アプリケーションをチートアプリケーションとして識別してよい。
【００６１】
このように、電子機器１（１１０）は、識別対象アプリケーションの特定の構成要素としてパッケージ識別子を活用して識別対象アプリケーションのチートアプリケーションの有無を決定してよい。このような実施形態も、上述した他の実施形態のうちの少なくとも１つと並列して実行されてよい。
【００６２】
図９は、本発明の一実施形態における、アンドロイドＡＰＫファイルの例を示した図であり、図１０は、本発明の一実施形態における、ｉＯＳ  ＩＰＡファイルの例を示した図である。図９の第１点線ボックス９１０と図１０の第２点線ボックス１０１０に示すように、アプリケーションのパッケージが、特定のファイル名「ＨｅｌｌｏＷｏｒｌｄ．ｐｎｇ」のファイルを含んでいることが分かる。電子機器１（１１０）は、図６の実施形態で説明したように、予め識別されたチートアプリケーションに基づいて把握された特定のファイル名や格納経路をアプリケーションの特定の構成要素として活用してチートアプリケーションを識別してよい。図６の実施形態により、図９のアンドロイドＡＰＫファイルに対応するアプリケーションと図１０のｉＯＳ  ＩＰＡファイルに対応するアプリケーションすべてがチートアプリケーションとして識別されてよい。
【００６３】
上述したように、一部の実施形態で利用される特定の構成要素が、チートアプリケーションのための唯一性を保障することができないこともある。このような場合のために、２つ以上の実施形態を並列して実施してもよいことは、上述で説明したとおりである。
【００６４】
このように、本発明の実施形態によると、アプリケーションの特定の構成要素を利用してチートアプリケーションを探知することができる。例えば、チートアプリケーションが、同じ機能の提供のために変更が不可能であるか変更する確率が低い特定の構成要素を利用してチートアプリケーションを探知することにより、一部の内容を変更した新たなバージョンのチートアプリケーションであっても識別することができるようになる。
【００６５】
上述したシステムまたは装置は、ハードウェア構成要素、ソフトウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてもよい。実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてもよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してもよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
【００６６】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてもよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置に永久的または一時的に具現化されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【００６７】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。上記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。上記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知な使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【００６８】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００６９】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００７０】
１１０、１２０、１３０、１４０：電子機器
１５０、１６０：サーバ
１７０：ネットワーク
【図１】
2019003629.tif 000003
【図２】
2019003629.tif 000004
【図３】
2019003629.tif 000005
【図４】
2019003629.tif 000006
【図５】
2019003629.tif 000007
【図６】
2019003629.tif 000008
【図７】
2019003629.tif 000009
【図８】
2019003629.tif 000010
【図９】
2019003629.tif 000011
【図１０】
2019003629.tif 000012