会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 11. 发明授权
    • Method for effective tamper resistance
    • 有效防篡改的方法
    • US07996685B2
    • 2011-08-09
    • US12135052
    • 2008-06-06
    • Hongxia JinJeffrey Bruce LotspiechGinger M. Myles
    • Hongxia JinJeffrey Bruce LotspiechGinger M. Myles
    • G06F21/00
    • G06F21/14
    • A system, method, and computer program product for preventing a malicious user from analyzing and modifying software content. The one-way functions used in prior art systems using dynamically evolving audit logs or self-modifying applications are replaced with a one-way function based on group theory. With this modification, untampered key evolution will occur inside a defined mathematical group such that all valid key values form a subgroup. However, if the program is altered, the key will evolve incorrectly and will no longer be a member of the subgroup. Once the key value is outside of the subgroup, it is not possible to return it to the subgroup. The present invention provides a limited total number of valid keys. The key evolution points are not restricted to locations along the deterministic path, so the key can be used in various novel ways to regulate the program's behavior, including in non-deterministic execution paths.
    • 一种用于防止恶意用户分析和修改软件内容的系统,方法和计算机程序产品。 使用动态演进的审计日志或自修改应用程序的现有技术系统中使用的单向函数被基于组理论的单向函数所取代。 通过这种修改,无限制的密钥演进将发生在定义的数学组内,使得所有有效的密钥值形成一个子组。 但是,如果程序被更改,则密钥将不正确地发展,不再是该子组的成员。 一旦键值超出了子组,就不可能将其返回到子组。 本发明提供了有限的总数量的有效密钥。 关键演化点不仅限于确定路径上的位置,所以密钥可以以各种新颖的方式用于调节程序的行为,包括在非确定性执行路径中。
    • 12. 发明申请
    • SYSTEM AND METHOD FOR CALL REPLACEMENT
    • 用于呼叫替换的系统和方法
    • US20110041183A1
    • 2011-02-17
    • US12540195
    • 2009-08-12
    • Ginger M. MylesJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • Ginger M. MylesJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • G06F21/22G06F9/45
    • G06F21/14
    • Disclosed herein are systems, computer-implemented methods, and computer-readable storage media for obfuscating a function call. The method receives a computer program having an annotated function and determines prolog instructions for setting up a stack frame of the annotated function and epilog instructions for tearing down the stack frame. The method places a first portion of the prolog instructions in the computer program preceding a jump to the annotated function and a second portion of the prolog instructions at a beginning of the annotated function. The method places a first portion of the epilog instructions at an end of the annotated function and a second portion of the epilog instructions in the computer program after the jump. Executing the first and second portions of the prolog instructions together sets up the stack frame. Executing the first and the second portions of the epilog instructions together tears down the stack frame.
    • 这里公开的是系统,计算机实现的方法和用于模糊功能调用的计算机可读存储介质。 该方法接收具有注释功能的计算机程序,并且确定用于建立注释功能的堆栈帧的序言指令和用于拆除堆栈帧的epilog指令。 该方法将前导序列指令的第一部分放置在跳转之前的计算机程序中,并且在注释的函数的开始处将序言指令的第二部分放置到注释的函数中。 该方法将epilog指令的第一部分放置在注释功能的末尾,并且在跳转之后在计算机程序中放置epilog指令的第二部分。 执行序言指令的第一和第二部分一起设置堆栈帧。 执行epilog指令的第一部分和第二部分一起撕下堆栈帧。
    • 13. 发明申请
    • SYSTEM AND METHOD FOR ANNOTATION-DRIVEN FUNCTION INLINING
    • 用于引导驱动功能的系统和方法
    • US20110179403A1
    • 2011-07-21
    • US12688807
    • 2010-01-15
    • Julien LerougeNicholas T. SullivanGinger M. MylesJon McLachlanAugustin J. Farrugia
    • Julien LerougeNicholas T. SullivanGinger M. MylesJon McLachlanAugustin J. Farrugia
    • G06F9/45
    • G06F21/14G06F8/4443G06F9/463G06F17/241
    • Disclosed herein are systems, methods, and computer-readable storage media for obfuscating using inlined functions. A system configured to practice the method receives a program listing including annotated functions for obfuscation, identifies an annotated function called more than once in the program listing, and creates an inline control flow structure in the program listing for the identified annotated function, the control flow structure being computationally equivalent to inlining the identified annotated function into the program listing for each occurrence of the identified annotated function. The program listing can include tiers of annotated functions. The system can identify annotated functions called more than once based on an optionally generated callgraph. The system can create inline control flow structures in the program listing in order of annotation importance. The system can identify how many times each annotated function is called in the program listing.
    • 本文公开了用于使用内联函数进行混淆的系统,方法和计算机可读存储介质。 配置为实施该方法的系统接收包括用于模糊化的注释功能的程序列表,在程序列表中标识多于一次的注释函数,并且在所述程序列表中为所识别的注释功能创建一个内联控制流结构, 计算结构相当于将所识别的注释功能内联到所述识别的注释功能的每次出现的程序列表中。 程序列表可以包括注释功能的层次。 系统可以基于可选地生成的呼叫图来识别多次调用的注释功能。 该系统可以在注释重要性的顺序创建程序列表中的内联控制流结构。 系统可以识别每个注释功能在程序列表中调用的次数。
    • 14. 发明申请
    • SYSTEM AND METHOD FOR ARRAY OBFUSCATION
    • 系统和方法进行ARRAY OBFUSCATION
    • US20090307657A1
    • 2009-12-10
    • US12135032
    • 2008-06-06
    • Augustin J. FarrugiaJulien LerougeTanya Michelle LattnerGinger M. MylesGianpaolo Fasoli
    • Augustin J. FarrugiaJulien LerougeTanya Michelle LattnerGinger M. MylesGianpaolo Fasoli
    • G06F9/44
    • G06F21/6209G06F21/10G06F21/6218G06F2221/2107
    • Disclosed herein are systems, methods, and computer readable-media for obfuscating array contents in a first array, the method comprising dividing the first array into a plurality of secondary arrays having a combined total size equal to or greater than the first array, expanding each respective array in the plurality of the secondary arrays by a respective multiple M to generate a plurality of expanded arrays, and arranging data elements within each of the plurality of expanded arrays such that a data element located at an index I in a respective secondary array is located at an index I*M, wherein M is the respective multiple M in an associated expanded array, wherein data in the first array is obfuscated in the plurality of expanded arrays. One aspect further splits one or more of the secondary arrays by dividing individual data elements in a plurality of sub-arrays. The split sub-arrays may contain more data elements than the respective secondary array. The principles herein may be applied to single dimensional or multi-dimensional arrays. The obfuscated array contents may be accessed via an index to the first array which is translated to retrieve data elements stored in the plurality of expanded arrays.
    • 本文公开了用于在第一阵列中模糊阵列内容的系统,方法和计算机可读介质,所述方法包括将第一阵列划分成具有等于或大于第一阵列的组合总大小的多个次阵列, 通过相应的多个M在多个次级阵列中的相应阵列以生成多个扩展阵列,并且在多个扩展阵列中的每一个内布置数据元素,使得位于相应次级阵列中的索引I处的数据元素是 位于索引I * M处,其中M是相关联的扩展阵列中的相应多个M,其中第一阵列中的数据在多个扩展阵列中被模糊化。 一个方面通过划分多个子阵列中的各个数据元素来进一步分割一个或多个次级阵列。 分割子阵列可能包含比相应的辅助阵列更多的数据元素。 这里的原理可以应用于单维或多维阵列。 混淆的阵列内容可以经由第一数组的索引访问,该索引被转换以检索存储在多个扩展阵列中的数据元素。
    • 15. 发明申请
    • Method for Effective Tamper Resistance
    • 有效篡改电阻的方法
    • US20090049308A1
    • 2009-02-19
    • US12135052
    • 2008-06-06
    • Hongxia JinJeffrey Bruce LotspiechGinger M. Myles
    • Hongxia JinJeffrey Bruce LotspiechGinger M. Myles
    • H04L9/06
    • G06F21/14
    • A system, method, and computer program product for preventing a malicious user from analyzing and modifying software content. The one-way functions used in prior art systems using dynamically evolving audit logs or self-modifying applications are replaced with a one-way function based on group theory. With this modification, untampered key evolution will occur inside a defined mathematical group such that all valid key values form a subgroup. However, if the program is altered, the key will evolve incorrectly and will no longer be a member of the subgroup. Once the key value is outside of the subgroup, it is not possible to return it to the subgroup. The present invention provides a limited total number of valid keys. The key evolution points are not restricted to locations along the deterministic path, so the key can be used in various novel ways to regulate the program's behavior, including in non-deterministic execution paths.
    • 一种用于防止恶意用户分析和修改软件内容的系统,方法和计算机程序产品。 使用动态演进的审计日志或自修改应用程序的现有技术系统中使用的单向函数被基于组理论的单向函数所取代。 通过这种修改,无限制的密钥演进将发生在定义的数学组内,使得所有有效的密钥值形成一个子组。 但是,如果程序被更改,则密钥将不正确地发展,不再是该子组的成员。 一旦键值超出了子组,就不可能将其返回到子组。 本发明提供了有限的总数量的有效密钥。 关键演化点不仅限于确定路径上的位置,所以密钥可以以各种新颖的方式用于调节程序的行为,包括在非确定性执行路径中。