WO2015023023A1 - 코드 난독화 장치 및 그 방법 - Google Patents
코드 난독화 장치 및 그 방법 Download PDFInfo
- Publication number
- WO2015023023A1 WO2015023023A1 PCT/KR2013/008744 KR2013008744W WO2015023023A1 WO 2015023023 A1 WO2015023023 A1 WO 2015023023A1 KR 2013008744 W KR2013008744 W KR 2013008744W WO 2015023023 A1 WO2015023023 A1 WO 2015023023A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- native
- general
- obfuscated
- self
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000001514 detection method Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000004075 alteration Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000001012 protector Effects 0.000 description 2
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
-
- 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/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; 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/106—Enforcing content protection by specific content processing
- G06F21/1066—Hiding content
Abstract
Description
Claims (10)
- 안드로이드 애플리케이션의 실행 코드를 입력받는 입력부;상기 입력된 실행 코드를 분석하여 애플리케이션 위변조 공격으로부터 보호될 필요가 있는 중요 코드와 상기 중요 코드 이외의 일반 코드로 구분하는 코드 분석부;상기 중요 코드를 C 코드로 변환시켜 네이티브 코드를 생성하는 코드 컨버터부;상기 네이티브 코드 및 상기 일반 코드를 난독화하는 난독화부;상기 난독화된 네이티브 코드에 위변조 탐지 코드를 추가하여 암호화한 뒤 로딩 루틴을 추가시켜 자가변환 기법이 적용된 네이티브 코드를 생성하는 자기 코드 보호부; 및상기 자가변환 기법이 적용된 네이티브 코드와 상기 난독화된 일반 코드를 결합하는 코드 결합부를 포함하는 코드 난독화 장치.
- 제 1항에 있어서,상기 코드 결합부에 의해 결합된 상기 자가 변화 기법이 적용된 네이티브 코드와 상기 난독화된 일반 코드를 클라이언트로 전송하는 전송부를 더 포함하는 코드 난독화 장치.
- 제 2항에 있어서,상기 자가변환 기법이 적용된 네이티브 코드는 CPU 환경에서 동작하고, 상기 난독화된 일반 코드는 달빅 가상 머신에서 실행되는 코드 난독화 장치.
- 제 3항에 있어서,상기 코드 분석부는,기 저장된 중요 코드 모델을 이용하여 상기 입력된 실행 코드와 매칭되는 실행 코드를 상기 중요 코드로 판단하는 코드 난독화 장치.
- 제 4항에 있어서,상기 로딩 루틴은,상기 암호화된 네이티브 코드가 실행될 때 상기 네이티브 코드의 암호화된 부분을 디코딩하는 코드 난독화 장치.
- 코드 난독화 장치를 이용한 코드 난독화 방법에 있어서,안드로이드 애플리케이션의 실행 코드를 입력받는 단계;상기 입력된 실행 코드를 분석하여 애플리케이션 위변조 공격으로부터 보호될 필요가 있는 중요 코드와 상기 중요 코드 이외의 일반 코드로 구분하는 단계;상기 중요 코드를 C 코드로 변환시켜 네이티브 코드를 생성하는 단계;상기 네이티브 코드 및 상기 일반 코드를 난독화하는 단계;상기 난독화된 네이티브 코드에 위변조 탐지 코드를 추가하여 암호화한 뒤 로딩 루틴을 추가시켜 자가변환 기법이 적용된 네이티브 코드를 생성하는 단계; 및상기 자가변환 기법이 적용된 네이티브 코드와 상기 난독화된 일반 코드를 결합하는 단계를 포함하는 코드 난독화 방법.
- 제 6항에 있어서,코드 결합부에 의해 결합된 상기 자가변환 기법이 적용된 네이티브 코드와 상기 난독화된 일반 코드를 클라이언트로 전송하는 단계를 더 포함하는 코드 난독화 방법.
- 제 7항에 있어서,상기 자가변환 기법이 적용된 네이티브 코드는 CPU 환경에서 동작하고, 상기 난독화된 일반 코드는 달빅 가상 머신에서 실행되는 코드 난독화 방법.
- 제 8항에 있어서,상기 실행 코드를 분석하여 구분하는 단계는,기 저장된 중요 코드 모델을 이용하여 상기 입력된 실행 코드와 매칭되는 실행 코드를 상기 중요 코드로 판단하는 코드 난독화 방법.
- 제 9항에 있어서,상기 로딩 루틴은,상기 암호화된 네이티브 코드가 실행될 때 상기 네이티브 코드의 암호화된 부분을 디코딩하는 코드 난독화 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13891571.5A EP2897072B1 (en) | 2013-08-14 | 2013-09-30 | Device for obfuscating code and method for same |
JP2015542937A JP5996809B2 (ja) | 2013-08-14 | 2013-09-30 | コード難読化装置及びその方法 |
US14/360,306 US8984299B1 (en) | 2013-08-14 | 2013-09-30 | Apparatus for code obfuscation and method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2013-0096514 | 2013-08-14 | ||
KR1020130096514A KR101350390B1 (ko) | 2013-08-14 | 2013-08-14 | 코드 난독화 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015023023A1 true WO2015023023A1 (ko) | 2015-02-19 |
Family
ID=50145291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2013/008744 WO2015023023A1 (ko) | 2013-08-14 | 2013-09-30 | 코드 난독화 장치 및 그 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8984299B1 (ko) |
EP (1) | EP2897072B1 (ko) |
JP (1) | JP5996809B2 (ko) |
KR (1) | KR101350390B1 (ko) |
WO (1) | WO2015023023A1 (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101328012B1 (ko) * | 2013-08-12 | 2013-11-13 | 숭실대학교산학협력단 | 애플리케이션 코드 난독화 장치 및 그 방법 |
US9208348B1 (en) * | 2014-01-15 | 2015-12-08 | Symantec Corporation | Systems and methods for managing encrypted files within application packages |
US9659156B1 (en) * | 2014-03-20 | 2017-05-23 | Symantec Corporation | Systems and methods for protecting virtual machine program code |
US9547758B2 (en) * | 2014-05-19 | 2017-01-17 | Nxp B.V. | Program cable obfuscation based upon recently executed program code |
KR101566145B1 (ko) | 2014-10-23 | 2015-11-06 | 숭실대학교산학협력단 | 모바일 기기 및 상기 모바일 기기의 동작 방법 |
KR101518420B1 (ko) * | 2014-11-11 | 2015-05-07 | 주식회사 에스이웍스 | 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법 |
NO20141445A1 (no) * | 2014-12-01 | 2016-06-02 | Protectoria As | Sikring av applikasjoner installert i lokalt endepunktutstyr |
DE102014019090A1 (de) * | 2014-12-18 | 2016-06-23 | Giesecke & Devrient Gmbh | Verfahren zum Bereitstellen einer sicherheitskritischen Softwareapplikation auf einer Computereinheit |
KR101628923B1 (ko) * | 2014-12-24 | 2016-06-22 | 고려대학교 산학협력단 | 코드 변환 방법 및 코드 변환 장치 |
KR101521765B1 (ko) * | 2015-01-08 | 2015-05-20 | 숭실대학교산학협력단 | 분간이 난해한 식별자 변환을 이용한 코드 난독화 장치 및 방법 |
EP3057019A1 (en) * | 2015-02-13 | 2016-08-17 | Thomson Licensing | Method and device for protecting an application and method and device for executing a protected application thus protected |
KR101740134B1 (ko) | 2015-08-10 | 2017-05-26 | 라인 가부시키가이샤 | 어플리케이션의 코드 난독화를 위한 시스템 및 방법 |
KR101710796B1 (ko) * | 2015-08-24 | 2017-02-28 | 숭실대학교산학협력단 | 난독화된 모바일 애플리케이션의 식별자 역난독화 장치 및 그 방법 |
US9992818B2 (en) * | 2015-10-06 | 2018-06-05 | Medtronic Minimed, Inc. | Protocol translation device |
KR101619458B1 (ko) | 2016-03-02 | 2016-05-10 | (주)케이사인 | 애플리케이션 코드 난독화 장치 및 이를 이용한 애플리케이션 코드 난독화 방법 |
KR101704703B1 (ko) * | 2016-06-08 | 2017-02-08 | (주)케이사인 | 더미 코드를 사용하는 애플리케이션 코드 은닉 장치 및 이를 이용한 애플리케이션 코드 은닉 방법 |
KR101845155B1 (ko) | 2016-06-30 | 2018-04-03 | 라인 가부시키가이샤 | 어플리케이션 패키지를 제공하는 방법 및 시스템, 그리고 어플리케이션을 실행하는 방법 및 시스템 |
KR101688814B1 (ko) * | 2016-07-11 | 2016-12-22 | (주)케이사인 | 주 기억 장치 내부의 코드 수정을 통한 애플리케이션 코드 은닉 장치 및 이를 이용한 애플리케이션 코드 은닉 방법 |
CN107292131A (zh) * | 2017-06-21 | 2017-10-24 | 北京深思数盾科技股份有限公司 | 软件保护方法和装置 |
EP3467691B1 (en) * | 2017-10-05 | 2020-08-26 | Eshard | Method of selecting software files |
CN109409037B (zh) * | 2018-09-29 | 2022-04-29 | 创新先进技术有限公司 | 一种数据混淆规则的生成方法、装置及设备 |
KR20210154017A (ko) * | 2020-06-11 | 2021-12-20 | 라인플러스 주식회사 | 클래스 분산 및 순차적 메모리 적재를 이용한 파일 보호 방법 및 시스템 |
JP2022175938A (ja) * | 2021-05-14 | 2022-11-25 | 株式会社デンソーテン | 画像処理装置、画像処理方法及び画像処理プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006072584A (ja) * | 2004-08-31 | 2006-03-16 | Fuji Xerox Co Ltd | 実行プログラム生成装置、実行プログラム生成方法、プログラム処理装置、プログラム処理方法及びプログラム |
JP2006164184A (ja) * | 2004-12-10 | 2006-06-22 | Ntt Docomo Inc | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
KR101234591B1 (ko) | 2011-05-13 | 2013-02-19 | 주식회사 인프라웨어테크놀러지 | Jni를 이용한 안드로이드 난독화 방법 |
KR101265099B1 (ko) * | 2011-06-15 | 2013-05-20 | 주식회사 터보테크 | 소프트웨어 보안 처리방법 및 기록매체 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643775B1 (en) * | 1997-12-05 | 2003-11-04 | Jamama, Llc | Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications |
GB0024918D0 (en) * | 2000-10-11 | 2000-11-22 | Sealedmedia Ltd | Method of providing java tamperproofing |
US7150003B2 (en) * | 2002-11-25 | 2006-12-12 | Matsushita Electric Industrial Co., Ltd. | Class coalescence for obfuscation of object-oriented software |
US7148154B2 (en) | 2003-08-20 | 2006-12-12 | Asm Japan K.K. | Method of forming silicon-containing insulation film having low dielectric constant and low film stress |
JP2007233426A (ja) * | 2004-04-05 | 2007-09-13 | Matsushita Electric Ind Co Ltd | アプリケーション実行装置 |
US8200983B1 (en) * | 2006-09-09 | 2012-06-12 | 9Rays.Net, Inc. | System and method for tamper-proofing executable binary assemblies |
CN102598017B (zh) * | 2009-11-13 | 2016-03-09 | 爱迪德技术有限公司 | 提高Java字节码的防窜改能力的系统和方法 |
KR101944010B1 (ko) * | 2012-02-24 | 2019-01-30 | 삼성전자 주식회사 | 애플리케이션의 변조 감지 방법 및 장치 |
US8892876B1 (en) * | 2012-04-20 | 2014-11-18 | Trend Micro Incorporated | Secured application package files for mobile computing devices |
US9501382B2 (en) * | 2013-06-25 | 2016-11-22 | Purdue Research Foundation | Systems and methods of detecting power bugs |
RU2653985C2 (ru) * | 2013-06-28 | 2018-05-15 | Закрытое акционерное общество "Лаборатория Касперского" | Способ и система обнаружения вредоносного программного обеспечения путем контроля исполнения программного обеспечения запущенного по сценарию |
-
2013
- 2013-08-14 KR KR1020130096514A patent/KR101350390B1/ko active IP Right Grant
- 2013-09-30 WO PCT/KR2013/008744 patent/WO2015023023A1/ko active Application Filing
- 2013-09-30 US US14/360,306 patent/US8984299B1/en active Active
- 2013-09-30 EP EP13891571.5A patent/EP2897072B1/en active Active
- 2013-09-30 JP JP2015542937A patent/JP5996809B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006072584A (ja) * | 2004-08-31 | 2006-03-16 | Fuji Xerox Co Ltd | 実行プログラム生成装置、実行プログラム生成方法、プログラム処理装置、プログラム処理方法及びプログラム |
JP2006164184A (ja) * | 2004-12-10 | 2006-06-22 | Ntt Docomo Inc | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 |
KR101234591B1 (ko) | 2011-05-13 | 2013-02-19 | 주식회사 인프라웨어테크놀러지 | Jni를 이용한 안드로이드 난독화 방법 |
KR101265099B1 (ko) * | 2011-06-15 | 2013-05-20 | 주식회사 터보테크 | 소프트웨어 보안 처리방법 및 기록매체 |
Also Published As
Publication number | Publication date |
---|---|
US8984299B1 (en) | 2015-03-17 |
EP2897072A1 (en) | 2015-07-22 |
KR101350390B1 (ko) | 2014-01-16 |
EP2897072A4 (en) | 2016-11-09 |
JP5996809B2 (ja) | 2016-09-21 |
US20150095656A1 (en) | 2015-04-02 |
JP2016503541A (ja) | 2016-02-04 |
EP2897072B1 (en) | 2019-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015023023A1 (ko) | 코드 난독화 장치 및 그 방법 | |
KR101490047B1 (ko) | 자가변환 기반 애플리케이션 코드 난독화 장치 및 그 방법 | |
CN106778103B (zh) | 一种安卓应用程序防逆向破解的加固方法、系统及解密方法 | |
US10089464B2 (en) | De-obfuscating scripted language for network intrusion detection using a regular expression signature | |
KR101328012B1 (ko) | 애플리케이션 코드 난독화 장치 및 그 방법 | |
WO2015026091A1 (ko) | 공통 중간 언어 기반 프로그램을 위한 보안 제공 방법 | |
KR101521765B1 (ko) | 분간이 난해한 식별자 변환을 이용한 코드 난독화 장치 및 방법 | |
CN107408072B (zh) | 用于随机化指令的方法、介质和装置 | |
CN107430650B (zh) | 保护计算机程序以抵御逆向工程 | |
CN105608391B (zh) | 多elf文件保护方法及系统 | |
CN108399319B (zh) | 源代码保护方法、应用服务器及计算机可读存储介质 | |
Shioji et al. | Code shredding: byte-granular randomization of program layout for detecting code-reuse attacks | |
KR20140004819A (ko) | 안드로이드 난독화 기법을 이용한 어플리케이션 위변조 탐지 방법 | |
Lim et al. | Structural analysis of packing schemes for extracting hidden codes in mobile malware | |
Cho et al. | DexMonitor: dynamically analyzing and monitoring obfuscated Android applications | |
WO2015093671A1 (ko) | Arm 프로세서 기반의 파일 난독화 방법 | |
KR20090084529A (ko) | 악성 스크립트 코드 복호화 방법 및 시스템 | |
Sun et al. | Selwasm: A code protection mechanism for webassembly | |
KR102358101B1 (ko) | 프로그램 보안 적용방법 | |
CN108259182B (zh) | 一种Android应用重打包检测方法及装置 | |
CN112800416A (zh) | 一种用于调用链的安全防护系统及方法 | |
Park et al. | Multi-partitioned bytecode wrapping scheme for minimizing code exposure on android | |
Jung et al. | AVPASS: automatically bypassing android malware detection system | |
Xu et al. | Recommendable Schemes of Anti-decompilation for Android Applications | |
Feng et al. | The research on security reinforcement of Android applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 14360306 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13891571 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013891571 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2015542937 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |