JP5863689B2 - 不正使用防止機能付き共有ライブラリ - Google Patents

不正使用防止機能付き共有ライブラリ Download PDF

Info

Publication number
JP5863689B2
JP5863689B2 JP2013039366A JP2013039366A JP5863689B2 JP 5863689 B2 JP5863689 B2 JP 5863689B2 JP 2013039366 A JP2013039366 A JP 2013039366A JP 2013039366 A JP2013039366 A JP 2013039366A JP 5863689 B2 JP5863689 B2 JP 5863689B2
Authority
JP
Japan
Prior art keywords
information
shared library
function
application
predetermined information
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.)
Expired - Fee Related
Application number
JP2013039366A
Other languages
English (en)
Other versions
JP2014167718A (ja
Inventor
巧太郎 金子
巧太郎 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2013039366A priority Critical patent/JP5863689B2/ja
Priority to US14/190,467 priority patent/US9405909B2/en
Publication of JP2014167718A publication Critical patent/JP2014167718A/ja
Application granted granted Critical
Publication of JP5863689B2 publication Critical patent/JP5863689B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

本発明は、不正使用を防止する機能を備えた共有ライブラリに関する。
複数のアプリケーション間で共通に使用される関数群を共有ライブラリ(Windows(登録商標)では、拡張子が.dllの動的リンクライブラリ)とし、アプリケーション実行時に共有ライブラリを該アプリケーションに動的にリンクさせる構成とすることにより、例えば、共有ライブラリ内の関数を修正することにより、実質的に、これを利用する各アプリケーションを修正したことになり、アプリケーションの保守性が向上する。
しかし、共有ライブラリ化すると、例えば競合他社のアプリケーションでもこれを利用可能となるので、不正使用を防止する必要がある。
そこで、下記特許文献1では、ライブラリ内のオブジェクトを組み込んだ実行可能プログラムファイルを開発する段階で、専用のソフトウェア開発ツールが無ければ、ライブラリと実行可能プログラムファイルとに、適正に対応するプロテクトコードを埋め込むことができないようにし、前記オブジェクトを実行するとプロテクトコードチェック関数を実行し、両プロテクトコードが適正に対応していなければプログラムの実行を終了するようにしている。
特開2005−339516号公報
しかしながら、アプリケーション毎にライブラリ中のオブジェクトを取り出して実行可能プログラムファイルを作成するので、通常の共有ライブラリではなく、ライブラリ中のオブジェクトを修正すると、各アプリケーションについて上記組込を行う必要がある。
また、ライブラリプロテクトのための構成が複雑である。
本発明の目的は、このような問題点に鑑み、比較的簡単な構成で、共有ライブラリの不正使用を防止可能な不正使用防止機能付き共有ライブラリを提供することにある。
本発明の一態様では、情報処理装置が備える記憶装置に格納され、前記情報処理装置のプロセッサにより実行され、前処理関数と各種関数とを含み、各種関数は前記前処理関数の実行結果が有効を示していることを条件に本来の処理を実行し、前記実行結果が無効を示していれば前記本来の処理を実行しない不正使用防止機能付き共有ライブラリであって、前記前処理関数は、前記プロセッサに対し、暗号化キーとしてのパスワードを使用して暗号化された固有情報を有するライセンスファイル、前記共有ライブラリを含むディレクトリに存在する各ファイル名を順次読み取りながら取得させ、前記パスワードは、直接又はその保存場所が前記前処理関数に組み込まれ、又は前記前処理関数に引き渡され、前記固有情報は、前記共有ライブラリを利用する複数のアプリケーションのソースコードそれぞれの所定情報がテキストファイルに移されたものの集合であり、前記所定情報は、正当な共有ライブラリの利用権を有することを示し、個々のアプリケーションを識別する情報であって、少なくとも、アプリケーションに含まれるクラスの名前、アプリケーションに含まれる関数の名前、アプリケーションに含まれる特定コード、アプリケーションのパッケージ名、およびアプリケーションをコンパイルしてバイナリ化した後のコードの1つを含み、前記所定情報は、さらに、同一アプリケーション名であってもバージョンにより共有ライブラリの内容が異なる場合には、バージョン識別情報を含み、これとの論理積により示されており、前記前処理関数は、前記プロセッサに対し、前記共有ライブラリを含むディレクトリから取得した前記ライセンスファイル内の固有情報を、前記パスワードを複合化キーとして使用して復号させ、前記共有ライブラリの利用側から、前記所定情報を取得させ、前記所定情報と前記復号された固有情報とを比較させて、前記所定情報が前記固有情報の要素であれば、有効を示す値を前記実行結果として返させ、前記所定情報が前記固有情報の要素でなければ、無効を示す値を前記実行結果として返させ、前記固有情報がテキストで前記所定情報がテキストに対応したバイナリコードである場合には、前記固有情報をテキストに対応したバイナリコードに変換させるか、前記所定情報をバイナリコードに対応したテキストに変換させてから前記比較をさせる。
上記態様の構成によれば、例えば、該ライブラリを利用する複数のアプリケーションのそれぞれから得られる該所定情報の集合を固有情報とし、これを暗号化して該記憶装置内の所定パスのファイル内に含めることにより、該複数のアプリケーションのみ該ライブラリを共有することができ、比較的簡単な構成で共有ライブラリの不正使用を防止可能となるという効果を奏する。
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。
本発明の実施例1に係る不正使用防止機能付き共有ライブラリのライセンスファイル作成説明図である。 図1中のPCのハードウェア構成を示す概略ブロック図である。 図1中の固有情報の作成方法を示す概略フローチャートである。 アプリケーションに共有ライブラリが動的にリンクされた後の動作の様子を示す概略説明図である。 図4中の共有ライブラリの概略構成説明図である。 図5中の関数群のそれぞれの関数の動作概要を示すフローチャートである。 図5中の前処理関数の動作を示す概略フローチャートである。 図4中のメイン関数による処理を示す概略フローチャートである。
図1は、本発明の実施例1に係る不正使用防止機能付き共有ライブラリのライセンスファイル作成説明図である。このライセンスファイルは、開発者MによりPC(パーソナルコンピュータ)10を用いて作成される。
図2は、PC10のハードウェア構成を示す概略ブロック図である。
このハードウェア構成は、通常のパーソナルコンピュータであり、CPU(Central Processing Unit)11がインターフェイス12を介してPROM(Programmable Read Only Memory)13、DRAM(Dynamic Random Access Memory)14、補助記憶装置15、ネットワークインターフェイス16、入力装置17及び表示装置18に結合されている。図1では、簡単化の為に、複数種のインターフェイスを1つのブロック12で表している。
PROM13は、例えばフラッシュメモリであり、BIOS(Basic Input/Output System)が格納されている。DRAM14は、仮想記憶方式の主記憶装置として用いられる。補助記憶装置15には、OS(Operating System)、各種ドライバ及びソフトウェア開発統合環境、この環境で開発されたアプリケーションやライブラリのソースコード等が格納されている。入力装置は、例えばキーボード及びポインティングデバイスである。
図1に戻って、複数のアプリケーション20〜24で共通に使用される関数群を共有ライブラリ25とし、アプリケーション実行時に、OSの機能により共有ライブラリ25を該アプリケーションに動的にリンクさせる構成としている。
このような構成にすれば、例えば共有ライブラリ25内の1つの関数を修正することにより、実質的に、これを利用するアプリケーション20〜24のそれぞれを修正したことになり、アプリケーションの保守性が向上する。
しかし、共有ライブラリ25は、他のアプリケーションでも使用可能となるため、その不正使用を防止する必要がある。
そこで、開発者Mは、PC10の入力装置17を操作して、まず、共有ライブラリ25を利用する側のアプリケーション20〜24のそれぞれの所定情報の集合を、固有情報30として取得しておき、これを暗号化したライセンスファイル31を作成する。
図3は、固有情報30の作成方法を示す概略フローチャートである。以下、括弧内は図中のステップ識別符号である。
(S0)開発者Mは、入力装置17を操作し、アプリケーション20〜24のソースコードからそれぞれの所定情報をコピー&ペーストでテキストファイルに移し、その集合を固有情報30として保存する。
ここに所定情報は、正当な共有ライブラリ25の利用権を有することを示す情報であって、個々のアプリケーション20〜24を識別する情報、例えば、アプリケーションに含まれるクラス又は関数の名前、アプリケーションに含まれる特定コード、アプリケーションのパッケージ名、或いはアプリケーションをコンパイルしてバイナリ化した後のこれらのコードである。
同一アプリケーション名であっても、バージョンにより共有ライブラリ25の内容が異なる場合には、バージョン識別情報も含ませ、これとの論理積によりアプリケーション20〜24のそれぞれを識別する所定情報とする。
(S1)開発者Mは、暗号化プログラムを起動させ、暗号化対象として固有情報30を指定し、暗号化のキーとしてパスワードを入力し、暗号化を実行させることにより、ライセンスファイル31を生成する。
図4は、アプリケーション20を実行させた際に、OSの動的リンク機能により共有ライブラリ25がアプリケーション20にリンクされた後の動作の様子を示す概略説明図である。
説明の簡単化のため、アプリケーション20は、メイン関数201とクラス202とで構成されているとする。メイン関数201は、共有ライブラリ25を直接利用し、又は、クラス202内の関数を介して共有ライブラリ25を利用している。
図5は、共有ライブラリ25の概略構成説明図である。
共有ライブラリ25は、複数のアプリケーションで共通に利用される関数群(クラスのメソッド群)250と、関数群250を利用可能にするための前処理関数251(Preprocess)と、前処理関数251の処理結果を示す変数252(Valid)とを備えている。
図6は、関数群250のそれぞれの関数の動作概要を示すフローチャートである。
(S10)変数ValidがtrueであればステップS11へ進み、そうでなければステップS12へ進む。
(S11)この関数の本来の処理を実行し、リターンする。これにより、この関数の機能が実現される。
(S12)例外を投げる(組込のthrow関数を実行する)ことにより、異常終了させる。
したがって、ステップS11を実行させるためには、初期値がfalseの変数Validを、trueにしておく必要がある。これは、図5の前処理関数251で行われる。
図7は、前処理関数251の動作を示す概略フローチャートである。
(S20)所定ディレクトリ内、例えば共有ライブラリ25を含むディレクトリ内に存在する各ファイル名を順次読み取りながら、開発者Mが付けた所定ファイル名のライセンスファイル31を探索する。
(S21)ライセンスファイル31が存在すればステップS22へ進み、そうでなければリターンする。換言すれば、ライセンスファイル31が存在しなければ、変数Validはfalseのままである。
(S22)ライセンスファイル31の内容、すなわち固有情報を復号し、これをUとする。この復号において、ステップS1で入力したパスワードを復号キーとして用いる。したがって、このパスワードを直接又はその保存場所を、前処理関数251に組み込んでおくか、前処理関数251に引き渡すようにしておく。
(S23)共有ライブラリ25の呼出元側から、固有情報Uの要素である所定情報uを探索し取得する。すなわち、このアプリケーション20をバイナリデータとみなし、これに所定情報uが含まれているか否かを調べ、存在すれば、これを保持する。
(S24)所定情報uが固有情報Uの要素であればステップS25へ進み、そうでなければリターンする。この判定の前に、所定情報uと固有情報Uの形式を統一しておく。例えば、固有情報Uがテキストで所定情報uがテキストに対応したバイナリコードである場合、固有情報Uをテキストに対応したバイナリコードに変換するか、所定情報uをバイナリコードに対応したテキストに変換しておく。
(S25)変数Validにtrueを代入し、リターンする。
図4に戻って、メイン関数201は、最初に前処理関数251を呼び出すことにより、変数Validの値を確定する。その後、共有ライブラリ25内の関数を呼び出すと、図6の処理により、変数Validがtrueの場合のみその関数による処理が実行される。
図8は、メイン関数201による処理を示す概略フローチャートである。
(S30)前処理関数251を呼び出して、変数Validを確定する。
(S31)共有ライブラリ25内の関数群250内の関数を呼び出す。変数Validがtrueであればその本体部が実行され、そうでなければ例外が投げられて異常終了する。
ステップS32においても、ステップS31と同様である。
このようにして、ライセンスファイル31により開発者Mが許可したアプリケーション20〜24のみで、共有ライブラリ25が利用可能となり、共有ライブラリ25の不正使用が防止される。
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
例えば、各アプリケーションに含まれる複数のデータの組み合わせを所定情報とし、開発者がアプリケーションに組み込んだ乱数を所定情報とし、又は、アプリケーションに含まれる画像データから抽出した一部データを所定情報とし、複数のアプリケーションのそれぞれの所定情報の集合を固有情報としてもよい。また、所定情報は、将来開発予定のアプリケーションのものを含んでいてもよい。
10 PC
11 CPU
12 インターフェイス
13 PROM
14 DRAM
15 補助記憶装置
16 ネットワークインターフェイス
17 入力装置
18 表示装置
20〜24 アプリケーション
25 共有ライブラリ
30 固有情報
31 ライセンスファイル
201 メイン関数
202 クラス
250 関数群
251 前処理関数
252 変数Valid
M 開発者

Claims (1)

  1. 情報処理装置が備える記憶装置に格納され、前記情報処理装置のプロセッサにより実行され、前処理関数と各種関数とを含み、各種関数は前記前処理関数の実行結果が有効を示していることを条件に本来の処理を実行し、前記実行結果が無効を示していれば前記本来の処理を実行しない不正使用防止機能付き共有ライブラリであって、
    前記前処理関数は、前記プロセッサに対し、暗号化キーとしてのパスワードを使用して暗号化された固有情報を有するライセンスファイル、前記共有ライブラリを含むディレクトリに存在する各ファイル名を順次読み取りながら取得させ、
    前記パスワードは、直接又はその保存場所が前記前処理関数に組み込まれ、又は前記前処理関数に引き渡され、
    前記固有情報は、前記共有ライブラリを利用する複数のアプリケーションのソースコードそれぞれの所定情報がテキストファイルに移されたものの集合であり、
    前記所定情報は、正当な共有ライブラリの利用権を有することを示し、個々のアプリケーションを識別する情報であって、少なくとも、アプリケーションに含まれるクラスの名前、アプリケーションに含まれる関数の名前、アプリケーションに含まれる特定コード、アプリケーションのパッケージ名、およびアプリケーションをコンパイルしてバイナリ化した後のコードの1つを含み、
    前記所定情報は、さらに、同一アプリケーション名であってもバージョンにより共有ライブラリの内容が異なる場合には、バージョン識別情報を含み、これとの論理積により示されており、
    前記前処理関数は、前記プロセッサに対し、前記共有ライブラリを含むディレクトリから取得した前記ライセンスファイル内の固有情報を、前記パスワードを複合化キーとして使用して復号させ、前記共有ライブラリの利用側から、前記所定情報を取得させ、
    前記所定情報と前記復号された固有情報とを比較させて、前記所定情報が前記固有情報の要素であれば、有効を示す値を前記実行結果として返させ、前記所定情報が前記固有情報の要素でなければ、無効を示す値を前記実行結果として返させ、
    前記固有情報がテキストで前記所定情報がテキストに対応したバイナリコードである場合には、前記固有情報をテキストに対応したバイナリコードに変換させるか、前記所定情報をバイナリコードに対応したテキストに変換させてから前記比較をさせる
    ことを特徴とする不正使用防止機能付き共有ライブラリ。
JP2013039366A 2013-02-28 2013-02-28 不正使用防止機能付き共有ライブラリ Expired - Fee Related JP5863689B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013039366A JP5863689B2 (ja) 2013-02-28 2013-02-28 不正使用防止機能付き共有ライブラリ
US14/190,467 US9405909B2 (en) 2013-02-28 2014-02-26 Non-transitory computer-readable recording medium and information processing apparatus including shared library that prevents unauthorized use

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013039366A JP5863689B2 (ja) 2013-02-28 2013-02-28 不正使用防止機能付き共有ライブラリ

Publications (2)

Publication Number Publication Date
JP2014167718A JP2014167718A (ja) 2014-09-11
JP5863689B2 true JP5863689B2 (ja) 2016-02-17

Family

ID=51389715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013039366A Expired - Fee Related JP5863689B2 (ja) 2013-02-28 2013-02-28 不正使用防止機能付き共有ライブラリ

Country Status (2)

Country Link
US (1) US9405909B2 (ja)
JP (1) JP5863689B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7226831B2 (ja) * 2018-08-02 2023-02-21 Necソリューションイノベータ株式会社 ライセンス管理装置、プログラム実行装置及び方法、並びにアプリケーションプログラム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230380A (ja) * 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US6105069A (en) * 1997-01-22 2000-08-15 Novell, Inc. Licensing controller using network directory services
US5974470A (en) * 1997-09-03 1999-10-26 Chicago-Soft, Ltd. System for reducing conflicts among dynamic link library modules by aliasing modules
US6298446B1 (en) * 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
US7139915B2 (en) * 1998-10-26 2006-11-21 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6976037B1 (en) * 2000-03-27 2005-12-13 Microsoft Corporation Method and systems for DLL/COM redirection
US6961765B2 (en) * 2000-04-06 2005-11-01 Bbx Technologies, Inc. System and method for real time monitoring and control of networked computers
WO2001077794A2 (en) * 2000-04-06 2001-10-18 Granite Technologies, Inc. System and method for real time monitoring and control of a computer machine environment and configuration profile
US7284124B1 (en) * 2000-06-05 2007-10-16 Microsoft Corporation Trust level based platform access regulation application
JP3712366B2 (ja) 2000-08-15 2005-11-02 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、実行可能モジュール生成方法および記憶媒体
JP3654165B2 (ja) * 2000-09-21 2005-06-02 日本電気株式会社 コンピュータシステムに適用するライブラリのリンク方法及びそのプログラムを記録した記録媒体
JP2002117381A (ja) * 2000-10-05 2002-04-19 Dainippon Printing Co Ltd Icカード
US7774838B2 (en) * 2001-02-14 2010-08-10 Tricerat, Inc. Thorough operation restriction
EP1499975A2 (en) * 2001-10-26 2005-01-26 Preventon Technologies Limited Control of processes in a processing system
US20030200449A1 (en) * 2002-04-17 2003-10-23 International Business Machines Corporation Method of accessing a shared subroutine of computer system
US20040123270A1 (en) * 2002-12-23 2004-06-24 Motorola, Inc. Method and apparatus for shared libraries on mobile devices
US8090943B1 (en) * 2003-04-28 2012-01-03 Teradata Us, Inc. Preventing unauthorized access of routines in a library
US7472286B2 (en) * 2003-08-29 2008-12-30 Microsoft Corporation Selectively authorizing software functionality after installation of the software
US7430754B2 (en) * 2004-03-23 2008-09-30 Microsoft Corporation Method for dynamic application of rights management policy
US8117595B2 (en) * 2004-03-23 2012-02-14 Microsoft Corporation Method for updating data in accordance with rights management policy
US7685596B1 (en) * 2004-09-01 2010-03-23 The Mathworks, Inc. Deploying and distributing of applications and software components
JP4411173B2 (ja) * 2004-09-30 2010-02-10 富士通株式会社 コンピュータシステムの管理方法およびコンピュータ管理システムおよびコンピュータ管理プログラム
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
US20080004886A1 (en) * 2006-06-28 2008-01-03 The Business Software Centre Limited Software rental system and method
US20090165132A1 (en) * 2007-12-21 2009-06-25 Fiberlink Communications Corporation System and method for security agent monitoring and protection
JP2009205673A (ja) * 2008-02-01 2009-09-10 Canon Electronics Inc 記憶装置、情報処理装置、端末装置およびコンピュータプログラム
US20100199357A1 (en) * 2009-02-02 2010-08-05 Microsoft Corporation Secure hosting for untrusted code
US8831823B2 (en) * 2009-10-15 2014-09-09 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US8955131B2 (en) * 2010-01-27 2015-02-10 Mcafee Inc. Method and system for proactive detection of malicious shared libraries via a remote reputation system
EP2439673A3 (en) * 2010-10-11 2012-05-30 Lumension Security, Inc. Systems and methods for implementing application control security
US8799647B2 (en) * 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8964973B2 (en) * 2012-04-30 2015-02-24 General Electric Company Systems and methods for controlling file execution for industrial control systems
US8959362B2 (en) * 2012-04-30 2015-02-17 General Electric Company Systems and methods for controlling file execution for industrial control systems
US10356204B2 (en) * 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers

Also Published As

Publication number Publication date
JP2014167718A (ja) 2014-09-11
US20140245456A1 (en) 2014-08-28
US9405909B2 (en) 2016-08-02

Similar Documents

Publication Publication Date Title
US10891369B2 (en) Dynamic switching between pointer authentication regimes
US8001596B2 (en) Software protection injection at load time
US11841956B2 (en) Systems and methods for data lifecycle protection
CN109784007B (zh) 一种字节码加密的方法、字节码解密的方法及终端
US10586026B2 (en) Simple obfuscation of text data in binary files
US20080216071A1 (en) Software Protection
TWI627554B (zh) 阻擋非授權應用程式方法以及使用該方法的裝置
US20170103192A1 (en) Secure code delivery
US7707631B2 (en) Device and method for processing a program code
EP3262557A1 (en) A method to identify known compilers functions, libraries and objects inside files and data items containing an executable code
JP2009512087A (ja) プログラム実行可能イメージの暗号化
US20110271350A1 (en) method for protecting software
US20120151442A1 (en) Networked program dependency compatibility analysis
CN109271789B (zh) 恶意进程检测方法、装置、电子设备及存储介质
CN110597496B (zh) 应用程序的字节码文件获取方法及装置
US7979911B2 (en) First computer process and second computer process proxy-executing code from third computer process on behalf of first process
CN111209572B (zh) 一种基于加解密的Linux系统安全启动方法及系统
JP5863689B2 (ja) 不正使用防止機能付き共有ライブラリ
US10261784B1 (en) Detecting copied computer code using cryptographically hashed overlapping shingles
US9659168B2 (en) Software identification
CN110298146B (zh) 一种应用程序的处理、运行方法及装置
JP2002099439A (ja) コンピュータシステムに適用するライブラリのリンク方法及びそのプログラムを記録した記録媒体
CN111625784B (zh) 一种应用的反调试方法、相关装置及存储介质
AU2023220809A1 (en) Protecting software
WO2019149630A1 (en) Method for protecting an executable code

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150625

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: 20151124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151222

R150 Certificate of patent or registration of utility model

Ref document number: 5863689

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees