JP7744099B2 - クラス分散およびシーケンシャルメモリ格納を利用したファイル保護方法およびシステム - Google Patents
クラス分散およびシーケンシャルメモリ格納を利用したファイル保護方法およびシステムInfo
- Publication number
- JP7744099B2 JP7744099B2 JP2021097609A JP2021097609A JP7744099B2 JP 7744099 B2 JP7744099 B2 JP 7744099B2 JP 2021097609 A JP2021097609 A JP 2021097609A JP 2021097609 A JP2021097609 A JP 2021097609A JP 7744099 B2 JP7744099 B2 JP 7744099B2
- Authority
- JP
- Japan
- Prior art keywords
- class
- code
- class group
- integrity
- file
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Virology (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Description
420:クラス
430:保護されたパッケージファイル
Claims (16)
- 少なくとも1つのプロセッサを含むコンピュータ装置のファイル保護方法であって、
前記少なくとも1つのプロセッサが、パッケージファイルの実行ファイルからクラスを抽出する段階、
前記少なくとも1つのプロセッサが、前記抽出されたクラスを複数のクラスグループに分類する段階、
前記少なくとも1つのプロセッサが、前記パッケージファイルの実行時に前記複数のクラスグループが任意の順でメモリに格納されるように、前記複数のクラスグループのうちの少なくとも1つの第1クラスグループに格納コードを追加する段階、
前記少なくとも1つのプロセッサが、前記複数のクラスグループのうちの少なくとも1つの第2クラスグループに、自身のクラスグループおよび前記格納コードによって自身のクラスグループを呼び出した以前のクラスグループのうちの少なくとも1つの完全性を検証する完全性コードを追加する段階、および
前記少なくとも1つのプロセッサが、前記格納コードおよび前記完全性コードが追加された複数のクラスグループを利用して前記パッケージファイルを再生成する段階
を含む、ファイル保護方法。 - 前記分類する段階は、
前記抽出されたクラスそれぞれを保護クラスまたは非保護クラスとして指定し、前記抽出されたクラスを前記保護クラスのクラスグループおよび前記非保護クラスのクラスグループに分類することを特徴とする、請求項1に記載のファイル保護方法。 - 前記分類する段階は、
前記保護クラスのクラスグループを2つ以上のクラスグループにさらに分類することを特徴とする、請求項2に記載のファイル保護方法。 - 前記分類する段階は、
前記保護クラスまたは前記保護クラスのクラスグループを暗号化することを特徴とする、請求項2または3に記載のファイル保護方法。 - 前記格納コードを追加する段階は、
前記第1クラスグループに含まれる任意のクラスの静的初期化関数に前記格納コードを追加することを特徴とする、請求項1~4のうちのいずれか一項に記載のファイル保護方法。 - 前記完全性コードを追加する段階は、
前記第2クラスグループに、前記パッケージファイルを再生成する場合に変形する完全性探知コード、および前記完全性探知コードの変形に基づいて前記完全性探知コードを含むクラスグループの変造を判断するための完全性検証コードを追加することを特徴とする、請求項1~5のうちのいずれか一項に記載のファイル保護方法。 - 前記完全性探知コードは、異常終了するようにバイトコードが修正された関数、および可用な範囲を超過するレジストリサイズを使用するようにバイトコードが修正された関数のうちの少なくとも1つの関数を含み、実際に呼び出されない別のクラスを含むことを特徴とする、請求項6に記載のファイル保護方法。
- 前記完全性コードを追加する段階は、
外部システムに存在する前記第2クラスグループに対する完全性情報にアクセスするようにパッケージファイルをインストールして実行するコンピュータ装置を制御し、前記完全性情報を利用して該当する第2クラスグループの変造を判断するための完全性検証コードを前記第2クラスグループに追加することを特徴とする、請求項1~5のうちのいずれか一項に記載のファイル保護方法。 - 前記完全性コードを追加する段階は、
前記第2クラスグループに保護コードをさらに追加すること
を特徴とする、請求項1~8のうちのいずれか一項に記載のファイル保護方法。 - 前記分類する段階は、
前記抽出されたクラスそれぞれを保護クラスまたは非保護クラスとして指定し、前記抽出されたクラスを前記保護クラスのクラスグループおよび前記非保護クラスのクラスグループに分類し、
前記完全性コードを追加する段階は、
前記第2クラスグループに保護コードをさらに追加し、
前記保護コードを追加する段階は、
アンチ逆アセンブラの動作、アンチ逆コンパイラの動作、およびアンチ-デバッガの動作のうちの少なくとも1つの動作を実行するコードを、保護クラスまたは前記保護クラスのクラスグループに含まれる任意の関数またはクラスに、前記保護コードとして追加することを特徴とする、請求項1に記載のファイル保護方法。 - 前記完全性コードを追加する段階は、
前記完全性コードおよび前記保護コードを含む保護クラスを前記第2クラスグループに追加することを特徴とする、請求項9に記載のファイル保護方法。 - 少なくとも1つのプロセッサを含むコンピュータ装置のファイル保護方法であって、
前記少なくとも1つのプロセッサが、パッケージファイルに含まれる複数のクラスグループのうちの第1クラスグループをメモリに格納する段階、
前記少なくとも1つのプロセッサが、前記第1クラスグループに含まれる格納コードにしたがい、前記複数のクラスグループのうちの暗号化された第2クラスグループをメモリ上に復元する段階、
前記少なくとも1つのプロセッサが、前記第1クラスグループに含まれる格納コードにしたがい、前記メモリ上に復元された前記第2クラスグループに関する実行ファイル情報を前記コンピュータ装置に含まれるシステムのクラスローダが認識できるように指定する段階、
前記少なくとも1つのプロセッサが、前記復元された第2クラスグループに含まれる格納コードにしたがい、前記複数のクラスグループのうちの暗号化された第3クラスグループをメモリ上に復元する段階、および
前記少なくとも1つのプロセッサが、前記第2クラスグループに含まれる格納コードにしたがい、前記メモリ上に復元された前記第3クラスグループに関する実行ファイル情報を前記コンピュータ装置に含まれるシステムのクラスローダが認識できるように指定する段階
を含む、ファイル保護方法。 - 前記少なくとも1つのプロセッサが、前記第2クラスグループおよび前記第3クラスグループのうちの少なくとも1つに含まれる完全性コードにしたがい、前記第1クラスグループ、前記第2クラスグループ、および前記第3クラスグループのうちの少なくとも1つのクラスグループの完全性を検証する段階
をさらに含む、請求項12に記載のファイル保護方法。 - 請求項1~13のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるコンピュータプログラム。
- 請求項1~13のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
- コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサが、
パッケージファイルの実行ファイルからクラスを抽出し、
前記抽出されたクラスを複数のクラスグループに分類し、
前記パッケージファイルの実行時に前記複数のクラスグループが任意の順でメモリに格納されるように、前記複数のクラスグループのうちの少なくとも1つの第1クラスグループに格納コードを追加し、
前記複数のクラスグループのうちの少なくとも1つの第2クラスグループに、自身のクラスグループおよび前記格納コードによって自身のクラスグループを呼び出した以前のクラスグループのうちの少なくとも1つの完全性を検証する完全性コードを追加し、
前記格納コードおよび前記完全性コードが追加された複数のクラスグループを利用して前記パッケージファイルを再生成すること
を特徴とする、コンピュータ装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2020-0071105 | 2020-06-11 | ||
| KR1020200071105A KR102803025B1 (ko) | 2020-06-11 | 2020-06-11 | 클래스 분산 및 순차적 메모리 적재를 이용한 파일 보호 방법 및 시스템 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021197180A JP2021197180A (ja) | 2021-12-27 |
| JP7744099B2 true JP7744099B2 (ja) | 2025-09-25 |
Family
ID=78825515
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021097609A Active JP7744099B2 (ja) | 2020-06-11 | 2021-06-10 | クラス分散およびシーケンシャルメモリ格納を利用したファイル保護方法およびシステム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11921874B2 (ja) |
| JP (1) | JP7744099B2 (ja) |
| KR (1) | KR102803025B1 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114722359B (zh) * | 2022-04-08 | 2024-05-10 | 北京航天长城卫星导航科技有限公司 | 一种基于自定义类加载器的Java源码保护方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017142792A (ja) | 2016-02-11 | 2017-08-17 | Line株式会社 | ファイル保護方法 |
| WO2018150619A1 (ja) | 2017-02-14 | 2018-08-23 | 日本電信電話株式会社 | 付与装置、付与方法及び付与プログラム |
| JP2018530041A (ja) | 2015-08-10 | 2018-10-11 | Line株式会社 | アプリケーションのコード難読化のためのシステムおよび方法 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2305078A1 (en) * | 2000-04-12 | 2001-10-12 | Cloakware Corporation | Tamper resistant software - mass data encoding |
| US8752032B2 (en) * | 2007-02-23 | 2014-06-10 | Irdeto Canada Corporation | System and method of interlocking to protect software-mediated program and device behaviours |
| KR20140139392A (ko) * | 2013-05-27 | 2014-12-05 | 삼성전자주식회사 | 모바일 장치를 위한 애플리케이션 실행 파일 생성방법, 모바일 장치의 애플리케이션 실행 방법, 애플리케이션 실행 파일 생성 장치 및 모바일 장치 |
| KR101328012B1 (ko) * | 2013-08-12 | 2013-11-13 | 숭실대학교산학협력단 | 애플리케이션 코드 난독화 장치 및 그 방법 |
| KR101350390B1 (ko) * | 2013-08-14 | 2014-01-16 | 숭실대학교산학협력단 | 코드 난독화 장치 및 그 방법 |
| KR101490047B1 (ko) * | 2013-09-27 | 2015-02-04 | 숭실대학교산학협력단 | 자가변환 기반 애플리케이션 코드 난독화 장치 및 그 방법 |
| US9514309B1 (en) * | 2014-04-30 | 2016-12-06 | Symantec Corporation | Systems and methods for protecting files from malicious encryption attempts |
| KR102433011B1 (ko) * | 2015-04-04 | 2022-08-19 | 홍동철 | Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체 |
| KR101749209B1 (ko) * | 2015-05-22 | 2017-06-20 | 한양대학교 산학협력단 | 애플리케이션의 정보 은닉 방법 및 장치, 및 애플리케이션 실행 방법 및 장치 |
| KR102009419B1 (ko) * | 2017-07-20 | 2019-08-09 | 라인 가부시키가이샤 | 실행 가능한 압축 파일을 보호하기 위한 파일 보호 방법 및 시스템 |
-
2020
- 2020-06-11 KR KR1020200071105A patent/KR102803025B1/ko active Active
-
2021
- 2021-05-28 US US17/333,575 patent/US11921874B2/en active Active
- 2021-06-10 JP JP2021097609A patent/JP7744099B2/ja active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018530041A (ja) | 2015-08-10 | 2018-10-11 | Line株式会社 | アプリケーションのコード難読化のためのシステムおよび方法 |
| JP2017142792A (ja) | 2016-02-11 | 2017-08-17 | Line株式会社 | ファイル保護方法 |
| WO2018150619A1 (ja) | 2017-02-14 | 2018-08-23 | 日本電信電話株式会社 | 付与装置、付与方法及び付与プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20210154017A (ko) | 2021-12-20 |
| KR102803025B1 (ko) | 2025-05-07 |
| US20210390198A1 (en) | 2021-12-16 |
| JP2021197180A (ja) | 2021-12-27 |
| US11921874B2 (en) | 2024-03-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10255443B2 (en) | Method, apparatus, system and non-transitory computer readable medium for code protection | |
| US10078498B2 (en) | Method, apparatus, system, and non-transitory computer readable medium for extending at least one function of a package file | |
| KR102863710B1 (ko) | 컴퓨터 시스템에서 선택된 디스크를 보호하는 기법 | |
| JP6917150B2 (ja) | コード保護方法およびコンピュータプログラム | |
| US10379886B2 (en) | Method and system for enhancing loading speed of intermediate language file | |
| US11847222B2 (en) | System and method for preventing unwanted bundled software installation | |
| WO2022068322A1 (en) | Software access through heterogeneous encryption | |
| US10205732B2 (en) | Method, apparatus, system, and non-transitory medium for protecting a file | |
| JP7744099B2 (ja) | クラス分散およびシーケンシャルメモリ格納を利用したファイル保護方法およびシステム | |
| CN115422554A (zh) | 请求处理方法、编译方法和可信计算系统 | |
| US10409981B2 (en) | In-process stack memory protection | |
| CN106922191B (zh) | 生成和执行受保护的软件项目 | |
| JP7076014B2 (ja) | プログラム保護のためのJavaデバッガ遮断方法およびシステム | |
| JP7348701B2 (ja) | メモリ上に実行可能イメージをロードする方法およびシステム | |
| KR101771348B1 (ko) | 패키지 파일에 대한 패킹 방법 및 시스템 | |
| KR102739853B1 (ko) | 코드 난독화 및 성능 개선을 위한 자동화된 패키지 재구성 방법 및 시스템 | |
| CN112231757A (zh) | 一种针对内嵌应用的隐私保护方法、装置以及设备 | |
| KR102677540B1 (ko) | 네이티브 라이브러리를 보호하는 방법 및 시스템 | |
| JP7320071B2 (ja) | ヒープメモリを利用して実行可能ファイルを保護する方法およびシステム | |
| CN112784291B (zh) | 大数据脱敏方法和系统 | |
| JP2025128494A (ja) | プログラム生成方法、プログラム生成装置、プログラム生成方法を実行可能なプログラム生成プログラム | |
| CN114238871A (zh) | So中类成员函数保护方法、存储介质、电子设备及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240604 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250407 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250430 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250725 |
|
| 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: 20250812 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250909 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7744099 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |