JP2016538640A - プログラム保護装置 - Google Patents
プログラム保護装置 Download PDFInfo
- Publication number
- JP2016538640A JP2016538640A JP2016530133A JP2016530133A JP2016538640A JP 2016538640 A JP2016538640 A JP 2016538640A JP 2016530133 A JP2016530133 A JP 2016530133A JP 2016530133 A JP2016530133 A JP 2016530133A JP 2016538640 A JP2016538640 A JP 2016538640A
- Authority
- JP
- Japan
- Prior art keywords
- program
- encrypted
- protection
- code
- area
- 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
- 230000001012 protector Effects 0.000 title 1
- 238000000034 method Methods 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000010365 information processing Effects 0.000 claims 1
- 230000001681 protective effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000003068 static effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (14)
- プログラム保護装置において、
暗号化された保護領域、前記暗号化された保護領域の開始地点を表示する開始地点表示部と、前記暗号化された保護領域の終了地点を表示する終了地点表示部を含む保護領域部と、
前記暗号化された保護領域を復号化して実行コード部を生成する復号化部と、前記実行コード部を呼び出す保護領域呼び出し部を含む保護領域連結部とを含むことを特徴とするプログラム保護装置。 - 前記開始地点表示部と前記終了地点表示部は、前記プログラムが実行される際に各地点のアドレスを取得するためのラベル(Label)と、
前記プログラムの実行には支障がなく、暗号化する保護領域の開始地点と終了地点を見つけるためのマーキングコード(Marking Code)とを含むことを特徴とする請求項1に記載のプログラム保護装置。 - 前記暗号化された保護領域は、前記プログラムのバイナリコードが生成された後、前記開始地点表示部に含まれているマーキングコードから前記終了地点表示部に含まれているマーキングコードまでのバイナリコードを暗号化したことを特徴とする請求項1に記載のプログラム保護装置。
- 前記復号化部は、前記開始地点表示部に含まれているラベルから前記終了地点表示部に含まれているラベルまでのバイナリコードを復号化することを特徴とする請求項1に記載のプログラム保護装置。
- 前記復号化部が前記実行コード部を生成する前に前記暗号化された保護領域を保存するための保護領域保管部をさらに含むことを特徴とする請求項1に記載のプログラム保護装置。
- 前記保護領域連結部は、
前記実行コード部の実行が終了すると、前記保護領域保管部に保存された暗号化された保護領域を前記実行コード部に保存するためにコピーするコピー部をさらに含むことを特徴とする請求項5に記載のプログラム保護装置。 - 前記コピー部は、
前記実行コード部が既に設定された回数を繰り返して実行された後、前記保護領域保管部に保存された暗号化された保護領域を前記実行コード部に保存するためにコピーすることができることを特徴とする請求項6に記載のプログラム保護装置。 - 前記保護領域連結部は、前記実行コード部の実行が終了すると、前記実行コード部を暗号化する暗号化部をさらに含むことを特徴とする請求項1に記載のプログラム保護装置。
- 前記プログラム保護装置が複数の暗号化された保護領域を含んでいる場合、
前記暗号化された保護領域のそれぞれの呼び出し頻度に基づいて、
前記暗号化された保護領域を保護領域保管部に保存するか、
前記暗号化された保護領域を前記保護領域保管部に保存せずに、前記暗号化された保護領域に対応する実行コード部を実行した後、前記実行コード部を暗号化するかどうかを、前記暗号化された保護領域ごとに選択することができることを特徴とする請求項1に記載のプログラム保護装置。 - 前記実行コード部の無欠性を検証するための無欠性検証部をさらに含むことを特徴とする請求項1に記載のプログラム保護装置。
- 前記無欠性検証部は、前記実行コード部をハッシュ関数に入力して、ハッシュコードを抽出して、既に保存されたハッシュコードと一致するか否かを判別して、一致しない場合は、前記プログラムの実行を中断することを特徴とする請求項10に記載のプログラム保護装置。
- プログラム保護方法において、
プログラムバイナリコードのうち、暗号化された保護領域を復号化して実行コードを生成する過程と、
前記実行コードを実行する過程と、
前記実行コードの無欠性を検証する過程と、
前記実行コードの実行が終了すると、前記実行コードを削除して、前記暗号化された保護領域に復元する過程とを含むことを特徴とするプログラム保護方法。 - 前記実行コードを生成する過程は、前記暗号化された保護領域を別の場所に保存する過程を含むことを特徴とする請求項12に記載のプログラム保護方法。
- 前記暗号化された保護領域に復元する過程は、
前記暗号化された保護領域が別の場所に保管されている場合、別の場所に保存された暗号化された保護領域をコピーするか、あるいは前記実行コードを暗号化する過程を含むことを特徴とする請求項12に記載のプログラム保護方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130138634A KR101556908B1 (ko) | 2013-11-14 | 2013-11-14 | 프로그램 보호 장치 |
KR10-2013-0138634 | 2013-11-14 | ||
PCT/KR2014/010445 WO2015072688A1 (ko) | 2013-11-14 | 2014-11-03 | 프로그램 보호 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016538640A true JP2016538640A (ja) | 2016-12-08 |
JP6215468B2 JP6215468B2 (ja) | 2017-10-18 |
Family
ID=53057585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016530133A Active JP6215468B2 (ja) | 2013-11-14 | 2014-11-03 | プログラム保護装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9965621B2 (ja) |
JP (1) | JP6215468B2 (ja) |
KR (1) | KR101556908B1 (ja) |
CN (1) | CN105849737B (ja) |
WO (1) | WO2015072688A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319822B (zh) * | 2018-01-05 | 2020-05-12 | 武汉斗鱼网络科技有限公司 | 一种保护网页代码的方法、存储介质、电子设备和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004053664A1 (ja) * | 2002-12-12 | 2004-06-24 | Fujitsu Limited | プログラム実行制御装置、os、クライアント端末、サーバ、プログラム実行制御システム、プログラム実行制御方法、プログラム実行制御プログラム |
JP2004265037A (ja) * | 2003-02-28 | 2004-09-24 | Nec Corp | コンピュータプログラムの編集システム及びその方法 |
JP2005165919A (ja) * | 2003-12-05 | 2005-06-23 | Fuji Xerox Co Ltd | プログラム実行方法、プログラム作成方法、情報処理装置及びプログラム |
JP2006072584A (ja) * | 2004-08-31 | 2006-03-16 | Fuji Xerox Co Ltd | 実行プログラム生成装置、実行プログラム生成方法、プログラム処理装置、プログラム処理方法及びプログラム |
US20070118763A1 (en) * | 2005-11-24 | 2007-05-24 | Mitsuhisa Kamei | Storage medium, method, and apparatus for creating a protected executable program |
JP2009512087A (ja) * | 2005-10-17 | 2009-03-19 | エヌエックスピー ビー ヴィ | プログラム実行可能イメージの暗号化 |
JP2010231477A (ja) * | 2009-03-27 | 2010-10-14 | Fuji Xerox Co Ltd | プログラム及びプログラム実行装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3033562B2 (ja) | 1998-09-02 | 2000-04-17 | 富士ゼロックス株式会社 | 再配置可能な実行プログラムの生成方法及び実行プログラム生成装置 |
AU2003241297A1 (en) * | 2002-04-15 | 2003-11-03 | Core Sdi, Incorporated | Security framework for protecting rights in computer software |
KR100641297B1 (ko) * | 2005-08-18 | 2006-11-02 | 삼성전자주식회사 | 롬 스크램블 방식의 반도체 장치 및 상기 반도체 장치의동작 방법 |
EP3923165A1 (en) * | 2009-11-13 | 2021-12-15 | Irdeto B.V. | System and method to protect java bytecode code against static and dynamic attacks within hostile execution environments |
NO335189B1 (no) * | 2010-10-26 | 2014-10-20 | Cupp Computing As | Sikkert databehandlingssystem |
WO2012129639A2 (en) * | 2011-03-31 | 2012-10-04 | Irdeto Canada Corporation | Method of securing non-native code |
KR101269089B1 (ko) * | 2011-08-19 | 2013-05-29 | 고려대학교 산학협력단 | 자가암호화를 이용한 소프트웨어 변조방지 방법 |
-
2013
- 2013-11-14 KR KR1020130138634A patent/KR101556908B1/ko active IP Right Grant
-
2014
- 2014-11-03 US US15/036,543 patent/US9965621B2/en active Active
- 2014-11-03 CN CN201480071239.6A patent/CN105849737B/zh active Active
- 2014-11-03 WO PCT/KR2014/010445 patent/WO2015072688A1/ko active Application Filing
- 2014-11-03 JP JP2016530133A patent/JP6215468B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004053664A1 (ja) * | 2002-12-12 | 2004-06-24 | Fujitsu Limited | プログラム実行制御装置、os、クライアント端末、サーバ、プログラム実行制御システム、プログラム実行制御方法、プログラム実行制御プログラム |
JP2004265037A (ja) * | 2003-02-28 | 2004-09-24 | Nec Corp | コンピュータプログラムの編集システム及びその方法 |
JP2005165919A (ja) * | 2003-12-05 | 2005-06-23 | Fuji Xerox Co Ltd | プログラム実行方法、プログラム作成方法、情報処理装置及びプログラム |
JP2006072584A (ja) * | 2004-08-31 | 2006-03-16 | Fuji Xerox Co Ltd | 実行プログラム生成装置、実行プログラム生成方法、プログラム処理装置、プログラム処理方法及びプログラム |
JP2009512087A (ja) * | 2005-10-17 | 2009-03-19 | エヌエックスピー ビー ヴィ | プログラム実行可能イメージの暗号化 |
US20090232304A1 (en) * | 2005-10-17 | 2009-09-17 | Nxp B.V. | Program executable image encryption |
US20070118763A1 (en) * | 2005-11-24 | 2007-05-24 | Mitsuhisa Kamei | Storage medium, method, and apparatus for creating a protected executable program |
JP2007148575A (ja) * | 2005-11-24 | 2007-06-14 | Fuji Xerox Co Ltd | 保護済み実行プログラムの作成のためのプログラム、方法及び装置 |
JP2010231477A (ja) * | 2009-03-27 | 2010-10-14 | Fuji Xerox Co Ltd | プログラム及びプログラム実行装置 |
Non-Patent Citations (1)
Title |
---|
石間 宏之: "ソフトウエアの耐タンパー化技術", 富士ゼロックステクニカルレポート, vol. 第13号 2000年, JPN6017018804, 6 January 2009 (2009-01-06), JP, pages 20 - 28, ISSN: 0003564685 * |
Also Published As
Publication number | Publication date |
---|---|
CN105849737B (zh) | 2019-01-08 |
JP6215468B2 (ja) | 2017-10-18 |
WO2015072688A1 (ko) | 2015-05-21 |
US9965621B2 (en) | 2018-05-08 |
CN105849737A (zh) | 2016-08-10 |
KR101556908B1 (ko) | 2015-10-02 |
US20160300057A1 (en) | 2016-10-13 |
KR20150055992A (ko) | 2015-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6227772B2 (ja) | 動的ライブラリを保護する方法及び装置 | |
KR101518420B1 (ko) | 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법 | |
CN107659632B (zh) | 一种文件加解密方法、装置及计算机可读存储介质 | |
EP3038004A1 (en) | Method for providing security for common intermediate language-based program | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
KR102433011B1 (ko) | Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체 | |
US20170116410A1 (en) | Software protection | |
US20160162686A1 (en) | Method for verifying integrity of dynamic code using hash background of the invention | |
US10296728B2 (en) | Method and system for providing cloud-based application security service | |
US20110271350A1 (en) | method for protecting software | |
US9256756B2 (en) | Method of encryption and decryption for shared library in open operating system | |
CN107273723B (zh) | 一种基于so文件加壳的Android平台应用软件保护方法 | |
CN104217175A (zh) | 一种数据读写方法和装置 | |
CN108133147B (zh) | 可执行代码的保护方法、设备及可读存储介质 | |
CN107871066B (zh) | 基于安卓系统的代码编译方法及装置 | |
WO2015176531A1 (zh) | 终端数据写入、读取的方法及装置 | |
KR102001046B1 (ko) | 공통 중간 언어를 위한 보안 제공 장치와 방법, 및 보안 실행 장치와 방법 | |
CN112035803B (zh) | 一种基于Windows平台软件的保护方法及装置 | |
JP6215468B2 (ja) | プログラム保護装置 | |
KR101667774B1 (ko) | 스크립트 프로그램을 위한 보안 제공 장치 및 방법 | |
EP2674892A1 (en) | A method, a device and a computer program support for execution of encrypted computer code | |
CN105975860B (zh) | 一种信任文件管理方法、装置及设备 | |
JP2010244261A (ja) | 情報処理装置、情報処理方法 | |
CN107688729B (zh) | 基于可信主机的应用程序保护系统及方法 | |
CN114297715B (zh) | 文件加密方法、文件处理方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170802 |
|
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: 20170822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6215468 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |