JP4669934B2 - プログラム変換装置、実行支援装置、それらの方法およびそれらのコンピュータ・プログラム - Google Patents
プログラム変換装置、実行支援装置、それらの方法およびそれらのコンピュータ・プログラム Download PDFInfo
- Publication number
- JP4669934B2 JP4669934B2 JP2005171372A JP2005171372A JP4669934B2 JP 4669934 B2 JP4669934 B2 JP 4669934B2 JP 2005171372 A JP2005171372 A JP 2005171372A JP 2005171372 A JP2005171372 A JP 2005171372A JP 4669934 B2 JP4669934 B2 JP 4669934B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- field
- description
- main body
- changing
- 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
Links
- 238000000034 method Methods 0.000 title claims description 140
- 238000004590 computer program Methods 0.000 title claims description 13
- 230000008859 change Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 description 18
- 238000006467 substitution reaction Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 239000003607 modifier Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Description
Claims (18)
- 本体プログラムを難読化するプログラム変換装置であって、
前記本体プログラムのメソッドの呼出しの記述を動的呼出しの記述に変更するための呼出変更手段と、
前記呼出変更手段によって変更された後の動的呼出しを指定する文字列を暗号化して前記本体プログラムを変更するための暗号化手段とを含む、プログラム変換装置。 - 前記プログラム変換装置が、フィールドを参照する記述またはフィールドに値を代入する記述を、それぞれフィールドを動的に参照する記述またはフィールドに値を動的に代入する記述に変更するためのフィールド変更手段と、
前記フィールド変更手段によって変更された後の記述に含まれるフィールドの名称を暗号化して前記本体プログラムを変更するための暗号化手段とを含む、請求項1記載のプログラム変換装置。 - 前記呼出変更手段は、前記動的呼出しの記述を別のクラスのメソッドを経由して呼出すように変更し、
前記フィールド変更手段は、フィールドを動的に参照する記述またはフィールドに値を動的に代入する記述を前記別のクラスのメソッドを経由して行なうように変更する、請求項2記載のプログラム変換装置。 - 前記プログラム変換装置はさらに、前記本体プログラムに含まれる変数の型を変更するための変数型変更手段を含む、請求項1〜3のいずれかに記載のプログラム変換装置。
- 難読化された本体プログラムの実行を支援する実行支援装置であって、
前記難読化された本体プログラムからのメソッドの動的呼出しに応じて、暗号化後の値から文字列を復号するための復号手段と、
前記復号手段によって復号された文字列を用いてメソッドを実行するための実行手段とを含む、実行支援装置。 - 前記実行支援装置が、前記難読化された本体プログラムからのフィールドの動的参照またはフィールドへの動的代入の要求に応じて、前記フィールドの名称を復号するための復号手段と、
前記復号手段によって復号された名称を用いてフィールドの動的参照またはフィールドの動的代入を行なうためのフィールドアクセス手段とを含む、請求項5記載の実行支援装置。 - コンピュータに本体プログラムを難読化させるプログラム変換方法であって、
前記本体プログラムのメソッドの呼出しの記述を動的呼出しの記述に変更するステップと、
前記変更された後の動的呼出しを指定する文字列を暗号化して前記本体プログラムを変更するステップとを含む、プログラム変換方法。 - 前記プログラム変換方法が、フィールドを参照する記述またはフィールドに値を代入する記述を、それぞれフィールドを動的に参照する記述またはフィールドに値を動的に代入する記述に変更するステップと、
前記変更された後の記述に含まれるフィールドの名称を暗号化して前記本体プログラムを変更するステップとを含む、請求項7記載のプログラム変換方法。 - 前記プログラム変換方法が、動的呼出しの記述を別のクラスのメソッドを経由して呼出すように変更するステップと、
フィールドを動的に参照する記述またはフィールドに値を動的に代入する記述を前記別のクラスのメソッドを経由して行なうように変更するステップとを含む、請求項8記載のプログラム変換方法。 - 前記プログラム変換方法はさらに、前記本体プログラムに含まれる変数の型を変更するステップを含む、請求項7〜9のいずれかに記載のプログラム変換方法。
- コンピュータに難読化された本体プログラムの実行を支援させる実行支援方法であって、
前記難読化された本体プログラムからのメソッドの動的呼出しに応じて、前記呼出しに含まれる暗号化後の値から文字列を復号するステップと、
前記復号された文字列を用いてメソッドを実行するステップとを含む、実行支援方法。 - 前記実行支援方法が、前記難読化された本体プログラムからのフィールドの動的参照またはフィールドへの動的代入の要求に応じて、前記フィールドの名称を復号するステップと、
前記復号された名称を用いてフィールドの動的参照またはフィールドの動的代入を行なうステップとを含む、請求項11記載の実行支援方法。 - 本体プログラムを難読化するプログラム変換方法をコンピュータに実行させるためのコンピュータ・プログラムであって、
前記プログラム変換方法は、前記本体プログラムのメソッドの呼出しの記述を動的呼出しの記述に変更するステップと、
前記変更された後の動的呼出しを指定する文字列を暗号化して前記本体プログラムを変更するステップとを含む、コンピュータ・プログラム。 - 前記コンピュータ・プログラムが、フィールドを参照する記述またはフィールドに値を代入する記述を、それぞれフィールドを動的に参照する記述またはフィールドに値を動的に代入する記述に変更するステップと、
前記変更された後の記述に含まれるフィールドの名称を暗号化して前記本体プログラムを変更するステップとを含む、請求項13記載のコンピュータ・プログラム。 - 前記コンピュータ・プログラムが、前記動的呼出しの記述を別のクラスのメソッドを経由して呼出すように変更するステップと、
フィールドを動的に参照する記述またはフィールドに値を動的に代入する記述を前記別のクラスのメソッドを経由して行なうように変更するステップとを含む、請求項14記載のコンピュータ・プログラム。 - 前記プログラム変換方法はさらに、前記本体プログラムに含まれる変数の型を変更するステップを含む、請求項13〜15のいずれかに記載のコンピュータ・プログラム。
- 難読化された本体プログラムの実行を支援する実行支援方法をコンピュータに実行させるためのコンピュータ・プログラムであって、
前記実行支援方法は、前記難読化された本体プログラムからのメソッドの動的呼出しに応じて、前記呼出しに含まれる暗号化後の値から文字列を復号するステップと、
前記復号された文字列を用いてメソッドを実行するステップとを含む、コンピュータ・プログラム。 - 前記コンピュータ・プログラムが、前記難読化された本体プログラムからのフィールドの動的参照またはフィールドへの動的代入の要求に応じて、前記フィールドの名称を復号するステップと、
前記復号された名称を用いてフィールドの動的参照またはフィールドの動的代入を行なうステップとを含む、請求項17記載のコンピュータ・プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005171372A JP4669934B2 (ja) | 2005-06-10 | 2005-06-10 | プログラム変換装置、実行支援装置、それらの方法およびそれらのコンピュータ・プログラム |
US11/921,908 US20090235088A1 (en) | 2005-06-10 | 2006-06-08 | Program conversion device, execution support device, and method and computer program for the same |
PCT/JP2006/311504 WO2006132311A1 (ja) | 2005-06-10 | 2006-06-08 | プログラム変換装置、実行支援装置、それらの方法およびそれらのコンピュータ・プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005171372A JP4669934B2 (ja) | 2005-06-10 | 2005-06-10 | プログラム変換装置、実行支援装置、それらの方法およびそれらのコンピュータ・プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006344160A JP2006344160A (ja) | 2006-12-21 |
JP4669934B2 true JP4669934B2 (ja) | 2011-04-13 |
Family
ID=37498507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005171372A Expired - Fee Related JP4669934B2 (ja) | 2005-06-10 | 2005-06-10 | プログラム変換装置、実行支援装置、それらの方法およびそれらのコンピュータ・プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090235088A1 (ja) |
JP (1) | JP4669934B2 (ja) |
WO (1) | WO2006132311A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2949583B1 (fr) * | 2009-09-01 | 2012-02-24 | Thales Sa | Procede de production d'une image destinee a un systeme d'exploitation dite image os et dispositif correspondant |
EP2402880A1 (en) * | 2010-07-01 | 2012-01-04 | Aladdin Europe GmbH | Method and device for selectively protecting one of a plurality of methods of a class of an application written in an object-orientated language |
JP5627444B2 (ja) * | 2010-12-24 | 2014-11-19 | Kddi株式会社 | ソフトウェアの難読化装置、ソフトウェアの難読化方法およびプログラム |
KR101845155B1 (ko) * | 2016-06-30 | 2018-04-03 | 라인 가부시키가이샤 | 어플리케이션 패키지를 제공하는 방법 및 시스템, 그리고 어플리케이션을 실행하는 방법 및 시스템 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4306289A (en) * | 1980-02-04 | 1981-12-15 | Western Electric Company, Inc. | Digital computer having code conversion apparatus for an encrypted program |
US4847902A (en) * | 1984-02-10 | 1989-07-11 | Prime Computer, Inc. | Digital computer system for executing encrypted programs |
JPH08305558A (ja) * | 1995-04-27 | 1996-11-22 | Casio Comput Co Ltd | 暗号化プログラム演算装置 |
US6006328A (en) * | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
WO1999001815A1 (en) * | 1997-06-09 | 1999-01-14 | Intertrust, Incorporated | Obfuscation techniques for enhancing software security |
US6102966A (en) * | 1998-03-20 | 2000-08-15 | Preemptive Solutions, Inc. | Method for renaming identifiers of a computer program |
US7263722B1 (en) * | 1999-05-12 | 2007-08-28 | Fraunhofer Crcg, Inc. | Obfuscation of executable code |
US7296163B2 (en) * | 2000-02-08 | 2007-11-13 | The Trustees Of Dartmouth College | System and methods for encrypted execution of computer programs |
JP3555858B2 (ja) * | 2000-03-23 | 2004-08-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの編集方法、シングルパッケージ化システム、プログラム開発システム、プログラムの身元情報付加システム及び記憶媒体 |
US7383443B2 (en) * | 2002-06-27 | 2008-06-03 | Microsoft Corporation | System and method for obfuscating code using instruction replacement scheme |
US7150003B2 (en) * | 2002-11-25 | 2006-12-12 | Matsushita Electric Industrial Co., Ltd. | Class coalescence for obfuscation of object-oriented software |
US7587616B2 (en) * | 2005-02-25 | 2009-09-08 | Microsoft Corporation | System and method of iterative code obfuscation |
-
2005
- 2005-06-10 JP JP2005171372A patent/JP4669934B2/ja not_active Expired - Fee Related
-
2006
- 2006-06-08 US US11/921,908 patent/US20090235088A1/en not_active Abandoned
- 2006-06-08 WO PCT/JP2006/311504 patent/WO2006132311A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2006344160A (ja) | 2006-12-21 |
WO2006132311A1 (ja) | 2006-12-14 |
US20090235088A1 (en) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5996810B2 (ja) | 自己書換え基盤のアプリケーションコード難読化装置及びその方法 | |
JP4770425B2 (ja) | 保護済み実行プログラムの作成のためのプログラム、方法及び装置 | |
RU2620712C2 (ru) | Устройство виртуальной машины, имеющее управляемую ключом обфускацию, и способ | |
JP5337411B2 (ja) | 情報秘匿化方法および情報秘匿化装置 | |
JP4850830B2 (ja) | コンピュータシステム及びプログラム生成装置 | |
CN106295255A (zh) | 应用程序的加固方法和装置 | |
CN105825143A (zh) | 一种应用程序写入和读取数据的方法及装置 | |
JP4669934B2 (ja) | プログラム変換装置、実行支援装置、それらの方法およびそれらのコンピュータ・プログラム | |
US10867017B2 (en) | Apparatus and method of providing security and apparatus and method of executing security for common intermediate language | |
CN108133147B (zh) | 可执行代码的保护方法、设备及可读存储介质 | |
CN112966227A (zh) | 代码加密解密方法和装置、存储介质 | |
CN106203141A (zh) | 一种应用的数据处理方法和装置 | |
JP2006216002A (ja) | Urlセキュリティーシステム | |
US9268713B2 (en) | Methods, systems and apparatus for managing data entries on a database | |
JP2007156861A (ja) | 機密情報保護装置及び機密情報保護方法並びにプログラム | |
CN107871066A (zh) | 基于安卓系统的代码编译方法及装置 | |
US20050125352A1 (en) | Method for lifetime tracking of intellectual property | |
JP2001356952A (ja) | データ暗号化方法及びシステム | |
US20090150682A1 (en) | Third Party Secured Storage for Web Services and Web Applications | |
JP3970856B2 (ja) | プログラム難読化装置、プログラム配布システム、コンピュータプログラム | |
JP2007172526A (ja) | 情報処理システム、情報処理方法 | |
Arora et al. | SecureCEdit: An approach for secure cloud-based document editing | |
CN113360859B (zh) | 基于Python解释器的加密文件安全控制方法和装置 | |
d’Amore et al. | Source Code Anti-Plagiarism: AC# Implementation Using the Routing Approach | |
JP6752347B1 (ja) | 情報処理装置、コンピュータプログラム及び情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070329 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
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: 20101130 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101207 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4669934 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140128 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |