CN101300584B - 防止对软件或运行时数据的未经授权的修改的方法 - Google Patents
防止对软件或运行时数据的未经授权的修改的方法 Download PDFInfo
- Publication number
- CN101300584B CN101300584B CN200680029302.5A CN200680029302A CN101300584B CN 101300584 B CN101300584 B CN 101300584B CN 200680029302 A CN200680029302 A CN 200680029302A CN 101300584 B CN101300584 B CN 101300584B
- Authority
- CN
- China
- Prior art keywords
- code
- software
- interpreter
- instruction
- converter
- 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 abstract description 78
- 230000004048 modification Effects 0.000 title claims abstract description 19
- 238000012986 modification Methods 0.000 title claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 230000015556 catabolic process Effects 0.000 claims description 7
- 238000006731 degradation reaction Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000010076 replication Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 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
-
- 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
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Storage Device Security (AREA)
Abstract
Description
指令地址 | MSIL指令 | 代码 |
70 | ADD | 20 |
指令地址 | SVML指令 | 代码 |
70 | ADD | 20+70=90 |
74 | ADD | 20+74=94 |
SVML指令 | 说明 |
MEM2TRANSFER | 将指定的存储器地址的内容复制到数据转移寄存器560 |
SETMBANK1 | 将存储器选择器寄存器570设置为1 |
SETMBANK2 | 将存储器选择器寄存器570设置为2 |
TRANSFER2MEM | 将数据转移寄存器560的内容复制到指定的存储器地址 |
TRANSFER2OP1 | 将数据转移寄存器560的内容复制到操作数寄存器510 |
TRANSFER2OP2 | 将数据转移寄存器560的内容复制到操作数寄存器520 |
RESULT2TRANSFER | 将结果寄存器530的内容复制到数据转移寄存器560 |
ADD | 对操作数1和操作数2寄存器执行加法算术运算,并将 结果存储在结果寄存器530中 |
SUB | 对操作数1和操作数2寄存器执行减法算术运算,并将 结果存储在结果寄存器530中 |
Claims (8)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US59580205P | 2005-08-06 | 2005-08-06 | |
US60/595,802 | 2005-08-06 | ||
PCT/IL2006/000398 WO2007017856A1 (en) | 2005-08-06 | 2006-03-30 | Method for preventing software reverse engineering, unauthorized modification, and runtime data interception |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101300584A CN101300584A (zh) | 2008-11-05 |
CN101300584B true CN101300584B (zh) | 2012-02-29 |
Family
ID=36648619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680029302.5A Expired - Fee Related CN101300584B (zh) | 2005-08-06 | 2006-03-30 | 防止对软件或运行时数据的未经授权的修改的方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8352929B2 (zh) |
CN (1) | CN101300584B (zh) |
BR (1) | BRPI0614089A8 (zh) |
RU (1) | RU2439669C2 (zh) |
WO (1) | WO2007017856A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352929B2 (en) | 2005-08-06 | 2013-01-08 | Microsoft Corporation | Method for preventing software reverse engineering, unauthorized modification, and runtime data interception |
US8464207B2 (en) * | 2007-10-12 | 2013-06-11 | Novell Intellectual Property Holdings, Inc. | System and method for tracking software changes |
CN100474253C (zh) * | 2007-11-22 | 2009-04-01 | 北京飞天诚信科技有限公司 | .Net程序保护方法及装置 |
US8776016B2 (en) * | 2009-10-29 | 2014-07-08 | Red Hat, Inc. | Integration of structured profiling data with source data in the eclipse development environment |
US8561032B2 (en) * | 2009-11-04 | 2013-10-15 | Red Hat, Inc. | Visualizing thread life time in eclipse |
US8789024B2 (en) * | 2009-11-04 | 2014-07-22 | Red Hat, Inc. | Integration of visualization with source code in the Eclipse development environment |
US8683452B1 (en) * | 2010-12-21 | 2014-03-25 | Emc Corporation | Dynamically obfuscated javascript |
CN104321774B (zh) * | 2012-05-25 | 2018-08-28 | 皇家飞利浦有限公司 | 用于防逆向工程和/或篡改程序的方法、***以及设备 |
US9152801B2 (en) * | 2012-06-28 | 2015-10-06 | Steven W. Cooke | Cryptographic system of symmetric-key encryption using large permutation vector keys |
CN103218551B (zh) * | 2013-05-03 | 2016-04-06 | 飞天诚信科技股份有限公司 | 一种保护java程序的方法 |
US20220012346A1 (en) * | 2013-09-13 | 2022-01-13 | Vmware, Inc. | Risk assessment for managed client devices |
US9392084B2 (en) | 2014-01-06 | 2016-07-12 | International Business Machines Corporation | Recovery of a network infrastructure to facilitate business continuity |
US9659156B1 (en) * | 2014-03-20 | 2017-05-23 | Symantec Corporation | Systems and methods for protecting virtual machine program code |
US9715433B2 (en) * | 2014-08-29 | 2017-07-25 | Netapp, Inc. | Reconciliation in sync replication |
RU2635271C2 (ru) * | 2015-03-31 | 2017-11-09 | Закрытое акционерное общество "Лаборатория Касперского" | Способ категоризации сборок и зависимых образов |
RU2628920C2 (ru) * | 2015-03-31 | 2017-08-22 | Закрытое акционерное общество "Лаборатория Касперского" | Способ обнаружения вредоносных сборок |
CN105279399A (zh) * | 2015-10-30 | 2016-01-27 | 百度在线网络技术(北京)有限公司 | 应用防破解方法和装置 |
RU2625052C1 (ru) * | 2016-03-18 | 2017-07-11 | Акционерное общество "Лаборатория Касперского" | Способ ограничения доступа образа машинного кода к ресурсам операционной системы |
WO2018081093A1 (en) * | 2016-10-24 | 2018-05-03 | Clark Carl M | Software algorithm security |
CN107292131A (zh) * | 2017-06-21 | 2017-10-24 | 北京深思数盾科技股份有限公司 | 软件保护方法和装置 |
RU2720254C1 (ru) * | 2019-12-05 | 2020-04-28 | Акционерное общество "Актив-софт" (АО "Актив-софт") | Способ восстановления и обновления программного обеспечения на смарт-карте |
US11782685B2 (en) | 2020-06-17 | 2023-10-10 | Bank Of America Corporation | Software code vectorization converter |
US11347500B2 (en) | 2020-06-17 | 2022-05-31 | Bank Of America Corporation | Software code converter for resolving conflicts during code development |
US11573775B2 (en) | 2020-06-17 | 2023-02-07 | Bank Of America Corporation | Software code converter for resolving redundancy during code development |
CN112241519A (zh) * | 2020-11-05 | 2021-01-19 | 王志平 | 一种软件版权保护的实现方法 |
CN112642157B (zh) * | 2020-12-31 | 2023-04-28 | 广州华多网络科技有限公司 | 代理开发控制方法及其相应的装置、设备、介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293576A (en) | 1991-11-21 | 1994-03-08 | Motorola, Inc. | Command authentication process |
AUPN002594A0 (en) * | 1994-12-13 | 1995-01-12 | Dunn, Alexander Atkinson | Improvements in software for the protection of executable programs, libraries and their data |
US6334189B1 (en) * | 1997-12-05 | 2001-12-25 | Jamama, Llc | Use of pseudocode to protect software from unauthorized use |
US7430670B1 (en) * | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
RU2183051C2 (ru) | 2000-04-12 | 2002-05-27 | Военный университет связи | Способ формирования ключа шифрования/дешифрования |
US7237123B2 (en) * | 2000-09-22 | 2007-06-26 | Ecd Systems, Inc. | Systems and methods for preventing unauthorized use of digital content |
WO2002025415A2 (en) * | 2000-09-22 | 2002-03-28 | Edc Systems, Inc. | Systems and methods for preventing unauthorized use of digital content |
DE10108487A1 (de) | 2001-02-22 | 2002-09-12 | Giesecke & Devrient Gmbh | Verfahren und System zur verteilten Erstellung eines Programms für einen programmierbaren, tragbaren Datenträger |
CA2348355A1 (en) * | 2001-05-24 | 2002-11-24 | Cloakware Corporation | General scheme of using encodings in computations |
US7383443B2 (en) | 2002-06-27 | 2008-06-03 | Microsoft Corporation | System and method for obfuscating code using instruction replacement scheme |
WO2004003264A1 (ja) | 2002-06-28 | 2004-01-08 | Sharp Kabushiki Kaisha | 薄板製造方法および薄板製造装置 |
US7093119B2 (en) * | 2002-07-16 | 2006-08-15 | International Business Machines Corporation | Methods and computer program products for protecting source code of an interpreted programming language |
US20040128260A1 (en) | 2002-12-30 | 2004-07-01 | Nokia, Inc. | Method and system for protecting against unauthorized modification of products |
JP4193607B2 (ja) | 2003-06-26 | 2008-12-10 | 日本電気株式会社 | データフロー制御方式、方法、およびプログラム |
GB2405958A (en) * | 2003-08-20 | 2005-03-16 | Macrovision Europ Ltd | Code obfuscation and controlling a processor by emulation |
US7366914B2 (en) | 2003-08-29 | 2008-04-29 | Intel Corporation | Source code transformation based on program operators |
AU2004310915B2 (en) | 2003-12-01 | 2008-05-22 | Samsung Electronics Co., Ltd. | Method and apparatus for scalable video encoding and decoding |
US8352929B2 (en) | 2005-08-06 | 2013-01-08 | Microsoft Corporation | Method for preventing software reverse engineering, unauthorized modification, and runtime data interception |
-
2006
- 2006-03-30 US US12/063,104 patent/US8352929B2/en not_active Expired - Fee Related
- 2006-03-30 RU RU2008104404/08A patent/RU2439669C2/ru not_active IP Right Cessation
- 2006-03-30 CN CN200680029302.5A patent/CN101300584B/zh not_active Expired - Fee Related
- 2006-03-30 WO PCT/IL2006/000398 patent/WO2007017856A1/en active Application Filing
- 2006-03-30 BR BRPI0614089A patent/BRPI0614089A8/pt not_active Application Discontinuation
-
2013
- 2013-01-07 US US13/735,849 patent/US8938727B2/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
刘晓英等.软件开发中的一个重要环节--混淆.南京邮电学院学报24 1.2004,24(1),59-63. |
刘晓英等.软件开发中的一个重要环节--混淆.南京邮电学院学报24 1.2004,24(1),59-63. * |
Also Published As
Publication number | Publication date |
---|---|
RU2439669C2 (ru) | 2012-01-10 |
BRPI0614089A2 (pt) | 2011-03-09 |
US20100313188A1 (en) | 2010-12-09 |
US8938727B2 (en) | 2015-01-20 |
BRPI0614089A8 (pt) | 2017-01-17 |
WO2007017856A1 (en) | 2007-02-15 |
RU2008104404A (ru) | 2009-08-10 |
CN101300584A (zh) | 2008-11-05 |
US8352929B2 (en) | 2013-01-08 |
US20130125243A1 (en) | 2013-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101300584B (zh) | 防止对软件或运行时数据的未经授权的修改的方法 | |
US5781758A (en) | Software emulation system with reduced memory requirements | |
Steele Jr | LAMBDA: The ultimate declarative | |
US6694435B2 (en) | Method of obfuscating computer instruction streams | |
US20070089090A1 (en) | Method and system for protecting source code | |
CN103460217B (zh) | 用于保护应用程序的方法及其装置 | |
US7707631B2 (en) | Device and method for processing a program code | |
CN101233485B (zh) | 将后绑定函数和语言集成到外部程序环境中的方法和*** | |
CN108733988A (zh) | 安卓平台上可执行程序的保护方法 | |
WO2004102303A2 (en) | Compiling intermediate language bytecodes into java bytecodes | |
CN107632832B (zh) | 一种面向dalvik字节码控制流混淆方法 | |
CN100492387C (zh) | 基于Keil C51的软件保护开发的方法和*** | |
Anckaert et al. | A model for self-modifying code | |
Ghezzi et al. | An evaluation of the adaptation capabilities in programming languages | |
CN112434266A (zh) | 一种shellcode控制流扁平化混淆方法 | |
Cimato et al. | Overcoming the obfuscation of Java programs by identifier renaming | |
US7089242B1 (en) | Method, system, program, and data structure for controlling access to sensitive functions | |
JP5387089B2 (ja) | プログラム及びプログラム実行装置 | |
KR20200017120A (ko) | 코스 스프레잉을 이용한 코드 보호 방법 및 시스템 | |
Trapp et al. | Automated Combination of Real-Time Shader Programs. | |
CN101593257B (zh) | 基于.Net虚拟机的软件保护***和方法 | |
CN105095698A (zh) | 基于最近执行的程序代码的程序代码模糊处理 | |
KR20200017121A (ko) | 원타임 코드를 이용한 코드 보호 방법 및 시스템 | |
JP2006048186A (ja) | 動的コンパイラの生成コードを保護する言語処理系 | |
WO2019149630A1 (en) | Method for protecting an executable code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT CORP. Free format text: FORMER OWNER: SECURED DIMENSIONS LTD. Effective date: 20100330 |
|
C41 | Transfer of patent application or patent right or utility model | ||
COR | Change of bibliographic data |
Free format text: CORRECT: ADDRESS; FROM: SAVA,ISRAEL TO: WASHINGTON, U.S.A. |
|
TA01 | Transfer of patent application right |
Effective date of registration: 20100330 Address after: Washington State Applicant after: Microsoft Corp. Address before: Israel Savoy Applicant before: Safety Standard Co.,Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150518 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150518 Address after: Washington State Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC Address before: Washington State Patentee before: Microsoft Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120229 |
|
CF01 | Termination of patent right due to non-payment of annual fee |