CN1574727A - 防止程序篡改的方法、升级混淆程序的方法及装置 - Google Patents
防止程序篡改的方法、升级混淆程序的方法及装置 Download PDFInfo
- Publication number
- CN1574727A CN1574727A CNA2004100384807A CN200410038480A CN1574727A CN 1574727 A CN1574727 A CN 1574727A CN A2004100384807 A CNA2004100384807 A CN A2004100384807A CN 200410038480 A CN200410038480 A CN 200410038480A CN 1574727 A CN1574727 A CN 1574727A
- Authority
- CN
- China
- Prior art keywords
- code
- unique number
- obscuring
- obfuscated codes
- program
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000000205 computational method Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 208000034423 Delivery Diseases 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000006549 dyspepsia Diseases 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
Abstract
一种防止程序篡改的方法、一种更新程序的方法、及它们的装置。防止篡改程序的方法通过使用多种混淆方法处理原代码来创建多个混淆代码、生成程序唯一编号、基于所述唯一编号来确定所创建的混淆的代码中的一种、并将所选择的代码提供给用户。更新程序的方法通过利用多种混淆方法处理更新代码来创建多个混淆的代码,将所创建的混淆的代码与现有的混淆的代码进行比较,并基于通过比较而得到的差异来创建多个补丁代码。基于由用户输入的唯一编号来选择补丁代码。
Description
本申请要求于2003年5月20日向韩国知识产权局提交的韩国专利申请第10-2003-0032081号的优先权,其内容通过引用整体结合于此。
技术领域
本发明涉及一种防止篡改程序的方法及其装置,更具体的,涉及一种利用程序唯一编号来防止篡改程序的方法、一种升级抗-篡改程序的方法及它们的装置。
背景技术
随着最近有关因特网的发展,以在线方式提供各种服务的服务提供商的数量大大的增加了。在过去,术语“内容(content)”通常被用来表示书或文章中的内容或表格。但是,近来,术语“内容”总的来说是指通过各种有线/无线通信网络提供的数字信息。例如,这样的内容包括通过因特网或PC通信提供的各种节目或信息,以及记录在CD-ROM上的电影、音乐和游戏软件。
尽管在早期阶段,用于通过因特网提供内容的服务是免费的,但是近来,这样的服务收取内容使用费。随着内容逐渐收费,出现了许多关于保护和管理作为在线无形财产的数字内容的方法而进行的研究,例如数字权益管理(下文中称为“DRM”)。
DRM也指一种被开发用来确保收费内容通过Web的安全分发的服务器软件,更重要的,用来防止其未被授权的分发。DRM技术被开发为一种用来保护商业内容的在线保密的措施,随着例如Napster的文件共享程序在用户中的广泛使用,所述商业内容的在线保密的数量大大增加。
尽管在线内容受到版权法的保护,但是由于在实际中很难监督未被授权的网络使用和找到违犯者,因此需要DRM。DRM技术不是一种在在线违犯者作出违反之后找出他们的鲁莽的策略,相反,DRM技术试图作为一种关注于使网络内容的盗用实质上成为不可能的更加可靠的解决方案。许多公司基于各种访问方法和技术生产了多种DRM产品。通常,DRM是一种包括诸如服务器软件和用户插入程序的所有需要操作的实体的集成组件(integrated package)的形式。
一种传统的DRM技术是混淆(obfuscation),用于防止对程序的篡改。
混淆是指代码修改,其通过在保持与程序代码相同功能的同时添加麻烦的操作等而使得难以进行逆向工程,所述程序代码例如尚未被混淆的源代码、目标代码或执行文件(下文中,称为“原代码”)。
例如,假设存在如下代码:
i=1;
while(i<100){
i++;
}
即使该代码被改变为如下所示,在功能上也不存在差异:
i=1;j=100;
while((i<100 &&(((j*j*(j+1)*(j+1)%4)==0)){
…
i++;
j=j*i+3;
}
也就是说,无论j是偶数或奇数,j*j*(j+1)*(j+1)总是4的倍数,因此((j*j**(j+1)*(j+1))%4)==0总是为真。
因此,存在一种通过以这样的方式插入一个条件形成循环来执行混淆的方法。除了这一方法,还有一些其他的混淆方法。
在线可以获得的、有关混淆方法的文章的例子包括:
http://www.cs.arizona.edu/~collberg/Research/Publications/CollbergThomborso nLow97c/index.html,
http://www.cs.arizona.edu/~collberg/Research/Publications/CollbergThomborso nLow97d/index.html,或
http://www.cs.arizona.edu/~collberg/Research/Publications/CollbergThomborso nLow97a/index.html。
实际上,可以得到一种或多种混淆方法。下文中,在进行描述时不提及特定的混淆方法,假设可以使用各种混淆方法。
图1a是图解说明相关技术中防止篡改程序的处理的视图。
图1a中图解说明的防止篡改程序的传统方法通过结合一种或几种已知的混淆方法,来混淆尚未被混淆的诸如源代码或目标代码的原代码,并从而创建混淆的代码。
将混淆的代码分发给各个用户。作为分发混淆的代码的方法,主要使用在线分发,并且也可以使用CD、软盘等。
但是,混淆是一种通过使原代码变得难以理解来阻挡逆向工程的方法。此外,进行混淆不用完全隐藏原代码。这样,用足够的时间和努力可以发现原代码。即,如果一个程序需要频繁更新,则从混淆的代码中发现了原代码的恶意用户可以向所有的用户提供未被授权的更新文件。为了解决这一问题,已经开发了一种即使从利用一种混淆方法混淆的代码中发现了原代码,也能够借助于多个不同的混淆方法而不是一个单一的混淆方法来防止将未授权的升级文件提供至拥有被不同地混淆的程序的用户的方法。
图1b示出了一种通过利用相关技术中的多种混淆方法来防止篡改程序的方法。
即,利用多种混淆方法来混淆一个原代码,以创建不同的代码,并且将所创建的不同的代码提供给用户。即使有人发现了一种被施加到特定代码的混淆方法,并试图提供该代码的未授权的更新文件,他/她无法向已使用不同的混淆方法进行了混淆的程序的用户提供未授权的更新文件。
但是,在上述的环境下,由于用户不知道在更新程序时使用了哪种混淆方法来混淆他/她自己的程序,因此这是用户获取他/她的程序的新更新的代码的不便之处。而且,在程序频繁被补丁文件所更新,例如在线游戏的情况下,所述不便之处变得更严重。此外,即使用户不具有程序的旧版本,他/她可以通过更新请求来获得新更新的程序。为了解决这一情况,需要分别验证请求更新的个人是否是合法用户。因此,这样的用户验证也带来了不方便。
发明内容
本发明考虑解决上述的问题。本发明的一个目的是提供一种能够利用多种混淆方法基于原代码来创建多个不同的代码以便防止未授权的更新的方法,以及提供一种更新程序而不需要在更新多个混淆代码时要求额外的验证处理的方法。
本发明的另一个目的是提供用于所公开的方法的装置。
根据用于实现所述目的的本发明的一个方面,提供一种用于防止篡改程序的方法,包括:通过使用N种不同的混淆方法处理原代码来创建第一至第N个混淆代码;生成唯一编号;利用预定的计算方法对所述唯一编号进行计算;以及确定与通过所述计算获得的结果值相对应的、并将被提供给用户的混淆的代码。可以基于余数来执行选择N个混淆的代码中的一个的步骤,所述余数是通过用N去除唯一编号的部分或全部数字的总和得到的。
根据本发明的另一个方面,提供一种用于更新程序的方法,其中更新基于唯一编号从通过N种不同的混淆方法所创建的第一至第N个混淆代码中选择的混淆代码;并且该方法包括步骤:通过利用N种混淆方法处理更新代码来创建第一至第N个混淆的更新代码;将第一至第N个混淆的更新代码与第一至第N个混淆的代码进行比较,并且根据通过该比较而获得的不同代码来创建第一至第N个补丁代码;以及从用户接收唯一编号,利用预定的计算方法对该唯一编号进行计算,并确定与通过该计算所获得的结果值相对应的、并且将要被提供给用户补丁代码。可以基于余数来执行选择N个补丁代码中的一个的步骤,所述余数是通过用N去除唯一编号的部分或全部数字的总和得到的。同时,为了防止更新具有非法复制的特定唯一编号的多个程序,如果从用户接收到唯一编号的次数超过预定数量,则不提供将要提供给用户的、对应于该唯一编号的补丁代码。
根据本发明的另一个方面,提供一种用于防止篡改程序的装置,包括:混淆单元,用于通过使用N种不同的混淆方法处理原代码来创建N个不同的混淆代码;代码表,用于存储混淆的代码;唯一编号生成器,生成用于识别分发的单个程序的唯一编号;以及映射单元,用于接收在唯一编号生成器中生成的唯一编号,利用预定的方法对该唯一编号进行计算,和确定已存储在所述代码表中的对应于通过计算所获得的相关值并且将被提供给用户的混淆的代码。所述映射单元可以基于余数来选择存储在代码表中的N个混淆代码中的一个,所述余数是通过用N去除在唯一编号生成器中生成的唯一编号的部分或全部数字的总和得到的。
根据本发明的又一个方面,提供一种用于更新程序的装置,其中更新基于唯一编号从通过N种不同的混淆方法所创建的第一至第N个混淆代码中选择的混淆代码;该装置包括:混淆单元,用于通过使用N种混淆方法处理更新代码来创建第一至第N个混淆的更新代码;比较单元,用于将第一至第N个混淆的更新代码与第一至第N个混淆的代码进行比较,并且根据通过该比较而获得的不同代码来创建第一至第N个补丁代码;代码表,用来存储第一至第N个补丁代码;以及映射单元,用于接收输入的唯一编号、利用预定的计算方法对所述唯一编号进行计算、和确定已存储在所述代码表中的对应于通过计算所获得的结果值并且将被提供给用户的混淆的代码。所述映射单元可以基于余数来选择存储在所述代码表中的N个混淆代码中的一个,所述余数是通过用N去除输入的唯一编号的部分或全部数字的总和得到的。同时,所述装置还包括一个计数器,用于计数同一唯一编号的输入次数,从而如果该唯一编号的输入次数超过了预定数量,则不将对应于该唯一编号的补丁代码提供给用户。
附图说明
结合附图,从下面对优选实施例的描述中,本发明的上述及其他目的和特征将变得清楚,其中:
图1a是图解防止篡改程序的传统处理的视图;
图1b是图解利用多种混淆方法来防止篡改程序的传统方法的视图;
图2是显示根据本发明的一个实施例的系统环境的视图;
图3是图解根据本发明另一个实施例的创建关于混淆的代码表以防止篡改程序的视图;
图4是图解根据本发明另一个实施例的防止篡改程序的处理的视图;
图5是图解根据本发明又一个实施例的为更新程序而创建代码表的处理的视图;
图6是图解根据本发明又一个实施例的更新程序的处理的视图。
具体实施方式
下文中,将参考附图详细描述本发明的优选实施例。
图2是显示根据本发明的一个实施例的系统环境的视图。
用于执行防止程序篡改和进行程序的更新提供的DRM服务器100包括混淆单元110,用于混淆原代码或更新代码;代码表120,用于存储混淆的代码;唯一编号生成器130,用于生成唯一编号;映射单元140,用于接收所述唯一编号和允许确定存储在所述代码表中的多个混淆的代码中的一个;比较单元160,用于在新更新代码已经被混淆时通过将新更新的代码与现有的混淆代码进行比较来生成补丁代码,并将生成的补丁代码发送至代码表;输入/输出单元150,用于允许通过因特网(未示出)或其他媒介向用户的计算机200传输数据和从用户的计算机200接收数据;计数器170,用于对从用户的计算机200向输入/输出单元150传输唯一编号以请求更新所执行的次数进行计数。
下面将参考图3和4首先描述防止篡改程序的方法。
图3图解了根据本发明另一个实施例来创建关于混淆的代码表以防止篡改程序的处理,图4图解了通过利用图3的处理所产生的代码表来防止篡改程序的方法。
首先,混淆单元110通过利用N种混淆方法处理原代码来创建N个混淆的代码(代码1-n,图3)。这里,“原代码”是指程序的源代码或目标代码,或尚未混淆的程序的执行文件。第一至第n个混淆的代码存储在代码表120中(图4)。在本发明中,代码表是指用于存储混淆的代码的空间,或混淆的代码的集合。
首先参照图4,唯一编号生成器130为将分发至用户的每个程序生成唯一编号,例如序号。映射单元140接收该唯一编号并生成相关的映射编号,以确定利用预定的计算方法处理过的混淆代码。例如,假设唯一编号是“123456789012”(即12个数字)并且对应于混淆的代码的编号是16,操作“123456789012对16取模”得到1,因此对应于“1”的第一混淆的编码成为将关于唯一编号“123456789012”而分发的代码。由于该第一编码被确定为将要发送的代码,因此将唯一编号“123456789012”和该第一混淆的编码分发至用户。
同时,预定的计算方法不限于上述的示例,并且可以包括使用哈希(hash)函数的方法。至于将唯一编号和代码分发至用户的方法,可以通过因特网经由输入/输出单元150将所述唯一编号和方法发送至用户的计算机200。可选的,可以将在其中存储有第一代码和唯一编号“123456789012”的CD或其他存储介质提供给用户。
接着,将参考图5和6描述更新程序的方法。
图5图解了根据本发明又一个实施例的、为更新程序而创建代码表的处理,图6示出了通过利用经过图5的处理而创建的代码表来更新程序的处理。
混淆单元110通过利用n种混淆方法处理更新代码来创建N个混淆的更新代码(图5中的代码1a-na)。比较单元160将混淆的更新代码与在现有代码表120中存储的现有的混淆的代码(代码1-n)进行比较。比较单元160通过将混淆的更新代码与现有的混淆代码进行比较来创建N个补丁代码(代码PClb-PCnb)。所创建的第一至第n个补丁代码存储在代码表120中。
为了以在线方式更新安装在用户的计算机200上的程序,应当首先将来自用户的计算机的唯一编号发送到DRM服务器100。计数器170(图6)计数关于接收到的唯一编号的更新请求的发送次数,以预防更新非法复制的程序。映射单元140确定对应于所接收到的唯一编号的补丁代码,并将该确定的补丁代码发送至用户的计算机。同时,如果计数超出了预定的次数,例如5次或更多次,则有关的唯一编号被认为是非法复制的程序的唯一编号。从而,将发送诸如“请联系DRM服务器的管理员”的消息,而不是对应于所述唯一编号的补丁代码。
本领域的技术人员应当明白,能够以其他特定的形式来实现本发明而不会改变本发明的技术要旨和实质特征。例如,尽管上面主要描述了N种不同的混淆方法,但本发明不限于那样。可选的,可以通过结合少于N种的混淆方法来产生N种混淆方法。换句话说,如果N是10并且有五种混淆方法,则可以通过将这五种混淆方法中的两种相结合来产生十种混淆方法。
同时,尽管上述的本发明中的各个组件可以用硬件来实现,但是本发明并不限于那样。用软件模块或硬件和软件模块的结合来实现本发明也在本发明的技术要旨之内。
根据上述的本发明,由于将通过把多种混淆方法应用于一个原代码而产生的多个混淆的代码分发给用户,即使竞争者或恶意用户知道应用于分发给用户的混淆的代码中的任何一种的混淆的破解方法,这一破解方法也不能应用到分发给其他用户的其他混淆代码上。
此外,在程序需要频繁更新的情形中,如果在相关技术中分发了利用多种混淆方法混淆的代码,则很难知道哪种混淆方法已被应用于用户当前使用的程序的代码。因此,增加了更新程序的难度。根据本发明,一旦确定了用户当前使用的程序的唯一编号,则可以确定关于该程序使用了哪种混淆方法,从而使程序的更新变得容易。
同时,根据本发明,即使在已经进行了一些未授权的复制的情形中,也存在可以通过限制具有特定唯一编号的程序的补丁的发送的次数来防止更多的未授权的复制的优点。
应当明白,上述实施例无论从哪方面来看都仅仅是示例性的,并且本发明并不限于那样。本发明的范围由所附的权利要求而不是由本发明的详细描述来限定。应当认为根据本发明及其等价物所做的所有的改变或修改都在本发明的范围之内。
Claims (10)
1.一种防止程序篡改的方法,该方法包括:
(a)通过使用N种各不相同的混淆方法处理原代码来创建第一至第N个混淆代码;
(b)生成唯一编号;
(c)利用预定的计算方法对所述唯一编号进行计算;以及
确定与通过所述计算获得的结果值相对应的混淆代码。
2.如权利要求1所述的方法,其中步骤(c)包括:基于余数来选择N个混淆代码中的一个,所述余数是通过用N去除唯一编号的部分或全部数字的总和得到的。
3.一种更新程序的方法,其中:
对混淆代码进行更新,该混淆代码是基于具有一个或多个数字的唯一编号从通过N种不同的混淆方法所创建的第一至第N个混淆代码中选择的;并且该方法包括:
(a)通过利用N种混淆方法处理更新代码来创建第一至第N个混淆的更新代码;
(b)将在步骤(a)中创建的第一至第N个混淆的更新代码与第一至第N个混淆代码进行比较,并且根据通过该比较而获得的不同代码来创建第一至第N个补丁代码;以及
(c)从用户接收唯一编号,利用预定的计算方法对该唯一编号进行计算,并确定与通过该计算所获得的结果值相对应的补丁代码。
4.如权利要求3所述的方法,其中步骤(c)包括:基于余数来选择N个补丁代码中的一个,所述余数是通过用N去除唯一编号的部分或全部数字的总和得到的。
5.如权利要求3所述的方法,其中如果从用户接收到唯一编号的次数超过预定值,则不将对应于该唯一编号的补丁代码提供给用户。
6.一种用于防止篡改程序的装置,包括:
混淆单元,操作用来通过使用N种不同的混淆方法处理原代码来创建N个不同的混淆代码;
代码表,操作用来存储混淆代码;
唯一编号生成器,操作用来生成用于识别分发的单个程序的、具有一个或多个数字的唯一编号;以及
映射单元,操作用来接收在所述唯一编号生成器中生成的唯一编号,利用预定的方法对该唯一编号进行计算,和确定已存储在所述代码表中并对应于通过计算所获得的相关值的混淆代码。
7.如权利要求6所述的装置,其中所述映射单元基于余数来选择存储在所述代码表中的N个混淆代码中的一个,所述余数是通过用N去除在唯一编号生成器中生成的唯一编号的部分或全部数字的总和得到的。
8.一种用于更新程序的装置,其中对混淆代码进行更新,该混淆代码是基于具有一个或多个数字的唯一编号从通过N种不同的混淆方法所创建的第一至第N个混淆代码中选择的,
该装置包括:
混淆单元,操作用来通过使用N种混淆方法处理更新代码来创建第一至第N个混淆的更新代码;
比较单元,操作用来将第一至第N个混淆的更新代码与第一至第N个混淆代码进行比较,并且根据通过该比较而获得的不同代码来创建第一至第N个补丁代码;
代码表,用来存储第一至第N个补丁代码;以及
映射单元,操作用来接收所述唯一编号,利用预定的计算方法对所述唯一编号进行计算,和确定已存储在所述代码表中并对应于通过计算所获得的结果值的补丁代码。
9.如权利要求8所述的装置,其中所述映射单元还操作用来基于余数来选择存储在所述代码表中的N个混淆代码中的一个,所述余数是通过用N去除唯一编号的部分或全部数字的总和得到的。
10.如权利要求8所述的装置,还包括:
计数器,操作用来计数同一唯一编号使用的次数,从而如果该唯一编号的使用次数超过了预定数量,则不提供所述补丁代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR0032081/03 | 2003-05-20 | ||
KR0032081/2003 | 2003-05-20 | ||
KR1020030032081A KR100568228B1 (ko) | 2003-05-20 | 2003-05-20 | 고유번호를 이용한 프로그램 탬퍼 방지 방법과 난독처리된 프로그램 업그레이드 방법, 상기 방법을 위한 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1574727A true CN1574727A (zh) | 2005-02-02 |
CN100382483C CN100382483C (zh) | 2008-04-16 |
Family
ID=33516345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100384807A Expired - Fee Related CN100382483C (zh) | 2003-05-20 | 2004-04-28 | 防止程序篡改的方法、升级混淆程序的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20040260933A1 (zh) |
JP (1) | JP2004348710A (zh) |
KR (1) | KR100568228B1 (zh) |
CN (1) | CN100382483C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887500A (zh) * | 2010-06-10 | 2010-11-17 | 复旦大学 | 基于标签的程序控制流深度混淆方法 |
CN105074833A (zh) * | 2013-02-06 | 2015-11-18 | 阿海珐有限公司 | 用于识别对核设施控制和调节单元的系统状态的未授权操控的装置和方法 |
CN105306505A (zh) * | 2014-07-11 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 数据更新方法、终端及服务器 |
CN107092518A (zh) * | 2017-04-17 | 2017-08-25 | 上海红神信息技术有限公司 | 一种保护拟态防御系统软件层安全的编译方法 |
CN107203707A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种实现程序代码混淆的方法和系统 |
CN108804880A (zh) * | 2017-04-28 | 2018-11-13 | 中移(杭州)信息技术有限公司 | 一种软件生成方法和装置 |
CN109218322A (zh) * | 2018-09-28 | 2019-01-15 | 郑州昂视信息科技有限公司 | 一种拟态防御方法、装置及系统 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8220058B2 (en) * | 2003-09-25 | 2012-07-10 | Oracle America, Inc. | Rendering and encryption engine for application program obfuscation |
US7353499B2 (en) * | 2003-09-25 | 2008-04-01 | Sun Microsystems, Inc. | Multiple instruction dispatch tables for application program obfuscation |
US7424620B2 (en) * | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
US7363620B2 (en) * | 2003-09-25 | 2008-04-22 | Sun Microsystems, Inc. | Non-linear execution of application program instructions for application program obfuscation |
US7415618B2 (en) * | 2003-09-25 | 2008-08-19 | Sun Microsystems, Inc. | Permutation of opcode values for application program obfuscation |
US20050069138A1 (en) * | 2003-09-25 | 2005-03-31 | Sun Microsystems, Inc., A Delaware Corporation | Application program obfuscation |
US20060130147A1 (en) * | 2004-12-15 | 2006-06-15 | Matthew Von-Maszewski | Method and system for detecting and stopping illegitimate communication attempts on the internet |
JP4675642B2 (ja) * | 2005-02-22 | 2011-04-27 | Kddi株式会社 | プログラム難読化装置およびその方法ならびにプログラム |
CN101128833A (zh) * | 2005-02-25 | 2008-02-20 | 松下电器产业株式会社 | 安全处理装置和安全处理系统 |
US20080168562A1 (en) * | 2005-02-25 | 2008-07-10 | Tomoyuki Haga | Secure Processing Device and Secure Processing System |
US20060259900A1 (en) * | 2005-05-12 | 2006-11-16 | Xerox Corporation | Method for creating unique identification for copies of executable code and management thereof |
US20060259903A1 (en) * | 2005-05-12 | 2006-11-16 | Xerox Corporation | Method for creating unique identification for copies of executable code and management thereof |
JP4917861B2 (ja) * | 2006-10-17 | 2012-04-18 | Kddi株式会社 | プログラム解析方法およびプログラム |
US8584109B2 (en) | 2006-10-27 | 2013-11-12 | Microsoft Corporation | Virtualization for diversified tamper resistance |
US8280431B2 (en) | 2006-12-29 | 2012-10-02 | Intel Corporation | Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods |
US9589115B2 (en) * | 2007-01-18 | 2017-03-07 | Panasonic Intellectual Property Management Co., Ltd. | Obfuscation assisting apparatus |
KR101457506B1 (ko) * | 2007-05-21 | 2014-11-06 | (주)다츠 | 오프라인 구매 인증 방법 및 시스템 |
US8839383B2 (en) * | 2007-08-20 | 2014-09-16 | Goldman, Sachs & Co. | Authentification broker for the securities industry |
EP2259204A1 (en) | 2008-03-28 | 2010-12-08 | Panasonic Corporation | Software updating apparatus, software updating system, invalidation method, and invalidation program |
EP2259205B1 (en) * | 2008-03-28 | 2018-04-25 | Panasonic Corporation | Software updating apparatus, software updating system, alteration verification method and alteration verification program |
US9524345B1 (en) | 2009-08-31 | 2016-12-20 | Richard VanderDrift | Enhancing content using linked context |
KR101097103B1 (ko) * | 2009-12-22 | 2011-12-22 | 한국저작권위원회 | 소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법 |
US9639707B1 (en) | 2010-01-14 | 2017-05-02 | Richard W. VanderDrift | Secure data storage and communication for network computing |
WO2011116448A1 (en) * | 2010-03-25 | 2011-09-29 | Irdeto Canada Corporation | System and method for dynamic, variably-timed operation paths as a resistance to side channel and repeated invocation attacks |
CN101807239A (zh) * | 2010-03-29 | 2010-08-18 | 山东高效能服务器和存储研究院 | 一种防止源代码反编译的方法 |
JP5555803B2 (ja) * | 2010-03-31 | 2014-07-23 | イルデト カナダ コーポレーション | カプセル化し、ソフトウェアライブラリ中の多様化によって保護を可能にするための、システムと方法 |
US9639377B2 (en) | 2010-03-31 | 2017-05-02 | Irdeto B.V. | Method for linking and loading to protect applications |
CN104166822B (zh) * | 2013-05-20 | 2017-10-13 | 阿里巴巴集团控股有限公司 | 一种数据保护的方法和装置 |
US9981184B2 (en) * | 2013-06-17 | 2018-05-29 | Tencent Technology (Shenzhen) Company Limited | Method and system for invoking plug-in function |
US20150264024A1 (en) * | 2014-03-15 | 2015-09-17 | Alexander Frank | System and method for confidential remote computing |
KR101521765B1 (ko) * | 2015-01-08 | 2015-05-20 | 숭실대학교산학협력단 | 분간이 난해한 식별자 변환을 이용한 코드 난독화 장치 및 방법 |
EP3270318B1 (en) * | 2015-03-13 | 2020-06-24 | Everspin Corp. | Dynamic security module terminal device and method for operating same |
US11397795B2 (en) * | 2019-08-01 | 2022-07-26 | Imperva, Inc. | Mechanism for providing obfuscated code to web application clients |
CN110659459B (zh) * | 2019-09-27 | 2021-07-20 | 北京金山云网络技术有限公司 | 一种软件代码处理方法、装置、电子设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006328A (en) | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
US5892899A (en) | 1996-06-13 | 1999-04-06 | Intel Corporation | Tamper resistant methods and apparatus |
US6178509B1 (en) * | 1996-06-13 | 2001-01-23 | Intel Corporation | Tamper resistant methods and apparatus |
US6205550B1 (en) * | 1996-06-13 | 2001-03-20 | Intel Corporation | Tamper resistant methods and apparatus |
US6026293A (en) * | 1996-09-05 | 2000-02-15 | Ericsson Inc. | System for preventing electronic memory tampering |
CN1260055A (zh) * | 1997-06-09 | 2000-07-12 | 联信公司 | 用于提高软件安全性的模糊技术 |
US6480959B1 (en) * | 1997-12-05 | 2002-11-12 | Jamama, Llc | Software system and associated methods for controlling the use of computer programs |
US5991399A (en) * | 1997-12-18 | 1999-11-23 | Intel Corporation | Method for securely distributing a conditional use private key to a trusted entity on a remote system |
US7263722B1 (en) * | 1999-05-12 | 2007-08-28 | Fraunhofer Crcg, Inc. | Obfuscation of executable code |
US6594761B1 (en) * | 1999-06-09 | 2003-07-15 | Cloakware Corporation | Tamper resistant software encoding |
US6289455B1 (en) * | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
US7328453B2 (en) * | 2001-05-09 | 2008-02-05 | Ecd Systems, Inc. | Systems and methods for the prevention of unauthorized use and manipulation of digital content |
JP2003280754A (ja) * | 2002-03-25 | 2003-10-02 | Nec Corp | 隠蔽化ソースプログラム、ソースプログラム変換方法及び装置並びにソース変換プログラム |
CN1799012B (zh) * | 2003-05-29 | 2010-04-14 | 松下电器产业株式会社 | 异常处理系统 |
-
2003
- 2003-05-20 KR KR1020030032081A patent/KR100568228B1/ko not_active IP Right Cessation
-
2004
- 2004-03-22 JP JP2004083468A patent/JP2004348710A/ja active Pending
- 2004-04-28 CN CNB2004100384807A patent/CN100382483C/zh not_active Expired - Fee Related
- 2004-05-03 US US10/836,402 patent/US20040260933A1/en not_active Abandoned
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887500A (zh) * | 2010-06-10 | 2010-11-17 | 复旦大学 | 基于标签的程序控制流深度混淆方法 |
CN101887500B (zh) * | 2010-06-10 | 2013-01-02 | 复旦大学 | 基于标签的程序控制流深度混淆方法 |
CN105074833A (zh) * | 2013-02-06 | 2015-11-18 | 阿海珐有限公司 | 用于识别对核设施控制和调节单元的系统状态的未授权操控的装置和方法 |
CN105074833B (zh) * | 2013-02-06 | 2018-01-02 | 阿海珐有限公司 | 用于识别对控制和调节单元的系统状态的未授权操控的装置以及具有该装置的核设施 |
CN105306505A (zh) * | 2014-07-11 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 数据更新方法、终端及服务器 |
CN107203707A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种实现程序代码混淆的方法和系统 |
CN107203707B (zh) * | 2016-03-16 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 一种实现程序代码混淆的方法和系统 |
CN107092518A (zh) * | 2017-04-17 | 2017-08-25 | 上海红神信息技术有限公司 | 一种保护拟态防御系统软件层安全的编译方法 |
CN108804880A (zh) * | 2017-04-28 | 2018-11-13 | 中移(杭州)信息技术有限公司 | 一种软件生成方法和装置 |
CN108804880B (zh) * | 2017-04-28 | 2020-07-10 | 中移(杭州)信息技术有限公司 | 一种软件生成方法和装置 |
CN109218322A (zh) * | 2018-09-28 | 2019-01-15 | 郑州昂视信息科技有限公司 | 一种拟态防御方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20040260933A1 (en) | 2004-12-23 |
JP2004348710A (ja) | 2004-12-09 |
CN100382483C (zh) | 2008-04-16 |
KR100568228B1 (ko) | 2006-04-07 |
KR20040099939A (ko) | 2004-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1574727A (zh) | 防止程序篡改的方法、升级混淆程序的方法及装置 | |
CN108604335B (zh) | 提供对文件的公证服务并验证记录文件的方法和服务器 | |
CN108604336B (zh) | 提供对文件的公证服务并验证记录文件的方法和服务器 | |
US7464103B2 (en) | Multi-level nested open hashed data stores | |
RU2332703C2 (ru) | Защита объекта заголовка потока данных | |
US7747533B2 (en) | Digital application operating according to aggregation of plurality of licenses | |
JP3943090B2 (ja) | コンテンツのディジタル権利管理(drm)ライセンスの発行に関するキャッシングされたユーザ−グループ情報の再検討 | |
US20150120567A1 (en) | System and method for monitoring third party access to a restricted item | |
WO2016199166A1 (en) | Potentate: a cryptography-obfuscating, self-policing, pervasive distribution system for digital content | |
CN1672155A (zh) | 用于调控文件共享的方法和设备 | |
CN1825329A (zh) | 用于许可数字应用程序的柔性许可架构 | |
EP3061057A1 (en) | System and method for monitoring third party access to a restricted item | |
KR101292876B1 (ko) | 취소 판정 서비스와 이를 위한 방법 및 컴퓨팅 장치 | |
JP2010517138A5 (zh) | ||
US7711114B2 (en) | System and method for assigning sequence keys to a media player to enable flexible traitor tracing | |
CN1949237A (zh) | 提供数字版权管理的许可证的方法和系统 | |
CN1713106A (zh) | 为应用程序提供保密的系统和方法 | |
JP2004213676A (ja) | 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法 | |
CN1910612A (zh) | 用于分配水印的有效负载位的方法 | |
CN1691587A (zh) | 授权访问网格资源所用的方法和装置 | |
US7702903B1 (en) | License re-allocation system and method | |
CN101042721A (zh) | 使用临时许可临时访问内容的方法和设备 | |
CN1918877A (zh) | 包括两个执行空间的电信终端 | |
CN1862492A (zh) | 可执行代码拷贝的唯一标识的创建方法及其管理 | |
CN116034365A (zh) | 从个体基因组信息得出的匿名数字身份 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080416 |