JP6698707B2 - バイナリ併合装置、その方法及び該コンピュータプログラム - Google Patents
バイナリ併合装置、その方法及び該コンピュータプログラム Download PDFInfo
- Publication number
- JP6698707B2 JP6698707B2 JP2017563554A JP2017563554A JP6698707B2 JP 6698707 B2 JP6698707 B2 JP 6698707B2 JP 2017563554 A JP2017563554 A JP 2017563554A JP 2017563554 A JP2017563554 A JP 2017563554A JP 6698707 B2 JP6698707 B2 JP 6698707B2
- Authority
- JP
- Japan
- Prior art keywords
- binary
- programming interface
- merging
- address table
- merging device
- 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
- 238000000034 method Methods 0.000 title claims description 44
- 238000004590 computer program Methods 0.000 title claims description 11
- 230000006870 function Effects 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000010408 film Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Devices For Executing Special Programs (AREA)
Description
本発明の実施形態による第1バイナリを保存するメモリと、制御部とを含むバイナリ併合装置がバイナリを併合する方法は、前記制御部が、前記第1バイナリに注入する第2バイナリを生成する段階と、前記制御部が第1プログラミングインターフェースを参照するアプリケーションの第1バイナリを難読化させる段階と、前記制御部が、前記第1バイナリに係わる第1プログラミングインターフェースを生成する段階と、前記制御部が、前記第2バイナリに係わる第2プログラミングインターフェースを生成する段階と、前記制御部が、前記第1プログラミングインターフェース及び前記第2プログラミングインターフェースを比較し、参照される関数が完全に同一であるか否かということを判断する段階と、前記判断結果、第2プログラミングインターフェース及び第1プログラミングインターフェースが完全に同一ではない場合、前記制御部が、前記第1プログラミングインターフェースと対応する第1アドレステーブルを、前記第2プログラミングインターフェースと対応する第2アドレステーブルに交替する段階と、及び前記制御部が、前記第1バイナリ及び前記第2バイナリを併合した最終バイナリを生成し、前記最終バイナリのエントリポイントが第2バイナリになるように設定する段階と、を含んでもよい。
本発明は、多様な変換を加えることができ、さまざまな実施形態を有することができるが、特定実施形態を図面に例示し、詳細な説明によって詳細に説明する。本発明の効果、特徴、及びそれらを達成する方法は、図面と共に詳細に説明する実施形態を参照すれば、明確になるであろう。しかし、本発明は、以下で開示される実施形態に限定されるのではなく、多様な形態に具現されるのである。
Claims (13)
- 第1バイナリを保存するメモリと制御部とを含むバイナリ併合装置が、バイナリを併合する方法において、
前記制御部が、前記第1バイナリに注入する第2バイナリを生成する工程と、
前記制御部が、第1プログラミングインターフェースを参照するアプリケーションの第1バイナリを難読化させる工程と、
前記制御部が、前記第1バイナリに係わる第1プログラミングインターフェースを生成する工程と、
前記制御部が、前記第2バイナリに係わる第2プログラミングインターフェースを生成する工程と、
前記制御部が、前記第1プログラミングインターフェース及び前記第2プログラミングインターフェースを比較し、参照される関数が同一であるか否かということを判断する工程と、
前記判断の結果、第2プログラミングインターフェース及び第1プログラミングインターフェースが同一ではない場合、前記制御部が、前記第1プログラミングインターフェースと対応する第1アドレステーブルを、前記第2プログラミングインターフェースと対応する第2アドレステーブルに交替する工程と、
前記制御部が、前記第1バイナリ及び前記第2バイナリを併合した最終バイナリを生成し、前記最終バイナリのエントリポイントが第2バイナリになるように設定する工程と、を含むバイナリ併合方法。 - 前記第1バイナリまたは前記第2バイナリは、モバイル環境で実行されるバイナリであることを特徴とする請求項1に記載のバイナリ併合方法。
- 前記第2バイナリは、
前記第1バイナリを復号する関数を含むソースファイルから生成したバイナリであることを特徴とする請求項1に記載のバイナリ併合方法。 - 前記第2バイナリは、
アセンブリ語で具現されたバイナリであることを特徴とする請求項1に記載のバイナリ併合方法。 - 前記第2バイナリは、
前記第1バイナリのうち実行バイナリファイルに含まれるように生成されたバイナリであることを特徴とする請求項1に記載のバイナリ併合方法。 - 前記第1アドレステーブルは、
前記第1プログラミングインターフェースに含まれた関数が定義された領域のアドレス値を含み、
前記第2アドレステーブルは、
前記第2プログラミングインターフェースに含まれた関数が定義された領域のアドレス値を含むことを特徴とする請求項1に記載のバイナリ併合方法。 - 第1プログラミングインターフェースを参照するアプリケーションの第1バイナリを難読化させる難読化手段と、
前記第1バイナリに注入する第2バイナリを生成するコード生成手段と、
前記第1バイナリに係わる第1プログラミングインターフェースを生成する第1参照分析手段と、
前記第2バイナリに係わる第2プログラミングインターフェースを生成する第2参照分析手段と、
前記第1プログラミングインターフェース及び前記第2プログラミングインターフェースを比較し、参照される関数が同一であるか否かということを判断する判断手段と、
前記判断の結果、第2プログラミングインターフェース及び第1プログラミングインターフェースが同一ではない場合、前記第1プログラミングインターフェースと対応する第1アドレステーブルを、前記第2プログラミングインターフェースと対応する第2アドレステーブルに交替するテーブル処理手段と、
前記アプリケーションのエントリポイントが第2バイナリになるように設定する処理手段と、を含むバイナリ併合装置。 - 前記第1バイナリまたは前記第2バイナリは、モバイル環境で実行されるバイナリであることを特徴とする請求項7に記載のバイナリ併合装置。
- 前記第2バイナリは、
前記第1バイナリを復号する関数を含むソースファイルから生成したバイナリであることを特徴とする請求項7に記載のバイナリ併合装置。 - 前記第2バイナリは、
アセンブリ語で具現されたバイナリであることを特徴とする請求項7に記載のバイナリ併合装置。 - 前記第2バイナリは、
前記第1バイナリのうち実行バイナリファイルに含まれるように生成されたバイナリであることを特徴とする請求項7に記載のバイナリ併合装置。 - 前記第1アドレステーブルは、
前記第1プログラミングインターフェースに含まれた関数が定義された領域のアドレス値を含み、
前記第2アドレステーブルは、
前記第2プログラミングインターフェースに含まれた関数が定義された領域のアドレス値を含むことを特徴とする請求項7に記載のバイナリ併合装置。 - コンピュータに、請求項1ないし6のうちいずれか1項に記載の方法を実行させる、コンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2015-0082727 | 2015-06-11 | ||
KR1020150082727A KR101757407B1 (ko) | 2015-06-11 | 2015-06-11 | 바이너리 병합 장치, 방법 및 컴퓨터 프로그램 |
PCT/KR2016/004716 WO2016200058A1 (ko) | 2015-06-11 | 2016-05-04 | 바이너리 병합 장치, 방법 및 컴퓨터 프로그램 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018521403A JP2018521403A (ja) | 2018-08-02 |
JP2018521403A5 JP2018521403A5 (ja) | 2019-06-06 |
JP6698707B2 true JP6698707B2 (ja) | 2020-05-27 |
Family
ID=57503537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017563554A Active JP6698707B2 (ja) | 2015-06-11 | 2016-05-04 | バイナリ併合装置、その方法及び該コンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10552132B2 (ja) |
JP (1) | JP6698707B2 (ja) |
KR (1) | KR101757407B1 (ja) |
WO (1) | WO2016200058A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452802B2 (en) * | 2016-07-08 | 2019-10-22 | efabless corporation | Methods for engineering integrated circuit design and development |
CN107239315B (zh) * | 2017-04-11 | 2019-11-15 | 赛灵思公司 | 面向神经网络异构计算平台的编程模型 |
US11243748B2 (en) * | 2018-11-08 | 2022-02-08 | Appdome Ltd. | Artificial intelligence mobile integration |
US11831631B2 (en) | 2018-11-08 | 2023-11-28 | Appdome Ltd. | Single sign-on for mobile applications using direct brokering for identity authentication |
CN110032394B (zh) * | 2019-04-12 | 2022-05-31 | 深圳市腾讯信息技术有限公司 | 一种无源码文件的分析方法、装置和存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226691B1 (en) * | 1995-10-02 | 2001-05-01 | International Business Machines Corporation | System, method, and article of manufacture for adding object services to a binary class in an object oriented server |
US6988271B2 (en) * | 1998-10-02 | 2006-01-17 | Microsoft Corporation | Heavyweight and lightweight instrumentation |
US7039919B1 (en) * | 1998-10-02 | 2006-05-02 | Microsoft Corporation | Tools and techniques for instrumenting interfaces of units of a software program |
US8418122B2 (en) * | 2006-10-13 | 2013-04-09 | Oracle America, Inc. | Incorporating functionality from an object file into an existing binary file |
US20100088689A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Branding binary modules using resource patching |
US20100088690A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Replacing the identity of an activex control |
KR101242479B1 (ko) | 2011-07-01 | 2013-03-18 | 한국과학기술연구원 | 어플리케이션 배포 시스템 및 방법 |
US8959365B2 (en) * | 2012-07-01 | 2015-02-17 | Speedtrack, Inc. | Methods of providing fast search, analysis, and data retrieval of encrypted data without decryption |
US9087191B2 (en) * | 2012-08-24 | 2015-07-21 | Vmware, Inc. | Method and system for facilitating isolated workspace for applications |
US9116712B2 (en) | 2013-02-28 | 2015-08-25 | Microsoft Technology Licensing, Llc | Compile based obfuscation |
KR101328012B1 (ko) * | 2013-08-12 | 2013-11-13 | 숭실대학교산학협력단 | 애플리케이션 코드 난독화 장치 및 그 방법 |
EP2869145B1 (de) * | 2013-10-29 | 2016-04-27 | dSPACE digital signal processing and control engineering GmbH | Verfahren zur Beeinflussung eines Steuerprogramms eines Steuergerätes |
US9213531B2 (en) * | 2014-05-01 | 2015-12-15 | Google Inc. | Methods to eliminate extra memory loads while accessing global variables in position independent code |
DK3202553T3 (da) | 2016-02-02 | 2020-01-27 | P K Jeppesen & Soen As | Apparat til stripning af en ydre polymerbeklædning |
-
2015
- 2015-06-11 KR KR1020150082727A patent/KR101757407B1/ko active IP Right Grant
-
2016
- 2016-05-04 JP JP2017563554A patent/JP6698707B2/ja active Active
- 2016-05-04 WO PCT/KR2016/004716 patent/WO2016200058A1/ko active Application Filing
-
2017
- 2017-12-11 US US15/837,431 patent/US10552132B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018521403A (ja) | 2018-08-02 |
KR20160146093A (ko) | 2016-12-21 |
WO2016200058A1 (ko) | 2016-12-15 |
US10552132B2 (en) | 2020-02-04 |
KR101757407B1 (ko) | 2017-07-12 |
US20180121181A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11328079B2 (en) | System and method of encrypting folder in device | |
JP6698707B2 (ja) | バイナリ併合装置、その方法及び該コンピュータプログラム | |
CN108595970B (zh) | 处理组件的配置方法、装置、终端及存储介质 | |
US10255453B2 (en) | Controlling privacy in a face recognition application | |
EP2937802B1 (en) | Mobile device and method of sharing content | |
US9652610B1 (en) | Hierarchical data security measures for a mobile device | |
JP6640869B2 (ja) | スマートイメージを使用したフィッシング対策のための方法およびシステム | |
US9911009B2 (en) | Device and method for providing safety of data by using multiple modes in device | |
US11120160B2 (en) | Distributed personal data storage and encrypted personal data service based on secure computation | |
CN112287376B (zh) | 一种隐私数据的处理方法及装置 | |
WO2014073214A1 (ja) | パーソナル情報を分析する情報処理システム及びパーソナル情報分析方法 | |
EP3284001B1 (en) | Device and method of requesting external device to execute task | |
KR20140105681A (ko) | 보안 모드에서 데이터 암호화 장치 및 방법 | |
KR102368208B1 (ko) | 보안 기능을 지원하는 파일 시스템 및 공통적 파일 액세스 인터페이스에 기초한 파일 유출 방지 | |
JP7398600B2 (ja) | インターネット上の分散型デジタルシネマパッケージ(dcp) | |
US10027661B2 (en) | Biometric virtual machine image administration | |
KR101825487B1 (ko) | Drm 서비스를 제공하는 전자액자 서비스 시스템 | |
KR101511451B1 (ko) | 키보드 입력 정보 암호화 방법 | |
CN111382131B (zh) | 数据处理方法、装置及存储介质 | |
KR102072668B1 (ko) | 클라이언트-서버 환경을 이용한 호출 서비스 방법 및 그 시스템 | |
KR20200058147A (ko) | 전자 장치 및 그의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190423 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190423 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200312 |
|
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: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200428 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6698707 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |