会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • System and method for conditional expansion obfuscation
    • 用于条件扩展混淆的系统和方法
    • US08429637B2
    • 2013-04-23
    • US12202909
    • 2008-09-02
    • Gideon M. MylesTanya Michelle LattnerJulien LerougeAugustin J. Farrugia
    • Gideon M. MylesTanya Michelle LattnerJulien LerougeAugustin J. Farrugia
    • G06F9/45
    • G06F21/14
    • Disclosed herein are systems, methods, and computer readable-media for obfuscating code through conditional expansion obfuscation. The method includes identifying a conditional expression in a computer program, identifying a sequence of conditional expressions that is semantically equivalent to the conditional expression, and replacing the conditional expression with the semantically equivalent sequence of conditional expressions. One option replaces each like conditional expression in the computer program with a diverse set of sequences of semantically equivalent conditional expressions. A second option rearranges computer instructions that are to be processed after the sequence of conditional expression is evaluated so that a portion of the instructions is performed before the entire sequence of conditional expressions is evaluated. A third option performs conditional expansion obfuscation of a conditional statement in combination with branch extraction obfuscation.
    • 本文公开了用于通过条件扩展混淆来模糊代码的系统,方法和计算机可读介质。 该方法包括识别计算机程序中的条件表达式,识别在语义上等同于条件表达式的条件表达式的序列,以及用条件表达式的语义等价序列替换条件表达式。 一个选项用计算机程序中的条件表达式替换各种语义等价条件表达式的序列集合。 在评估条件表达式的序列之后,第二个选项重新排列要处理的计算机指令,使得在评估整个条件表达式序列之前执行指令的一部分。 第三个选项与条件语句结合使用分支提取混淆来执行条件扩展模糊处理。
    • 2. 发明授权
    • System and method for call replacement
    • 呼叫更换的系统和方法
    • US08423974B2
    • 2013-04-16
    • US12540195
    • 2009-08-12
    • Gideon M. MylesJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • Gideon M. MylesJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • G06F9/44
    • 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指令的第一部分和第二部分一起撕下堆栈帧。
    • 5. 发明申请
    • SYSTEM AND METHOD FOR ANNOTATION DRIVEN INTEGRITY VERIFICATION
    • 系统和方法进行安全驾驶完整性验证
    • US20110055638A1
    • 2011-03-03
    • US12550334
    • 2009-08-28
    • Julien LerougeGinger M. MylesTanya Michelle LattnerAugustin J. Farrugia
    • Julien LerougeGinger M. MylesTanya Michelle LattnerAugustin J. Farrugia
    • H03M13/09G06F9/44G06F11/10G06F11/07
    • G06F21/125G06F11/1004
    • Disclosed herein are methods, systems, and computer-readable storage media for annotation driven integrity program verification. The method includes distributing verification calls configured to verify a function across call paths leading to the function in source code, generating a binary from the source code having placeholders associated with the verification calls, and filling each placeholder in the binary with verification data or reference checksums. Alternatively, the method includes receiving source code having a verification call, replacing the verification call with one or more equivalent verification calls distributed over a call path, replacing each verification call with a checksum function generating placeholders while compiling, generating a binary based on the placeholders, and filling each placeholder in the binary with reference checksums. The system includes a processor and a module controlling the processor to perform the methods. The computer-readable storage medium includes instructions for controlling a computer to perform the methods.
    • 本文公开了用于注释驱动的完整性程序验证的方法,系统和计算机可读存储介质。 该方法包括分配验证呼叫,配置为验证源于代码中的功能的呼叫路径之间的功能,从具有与验证呼叫相关联的占位符的源代码生成二进制文件,并用验证数据或引用校验和填充二进制中的每个占位符 。 或者,该方法包括接收具有验证呼叫的源代码,用通过呼叫路径分配的一个或多个等效验证呼叫代替验证呼叫,在编译时用生成占位符的校验和函数替换每个验证呼叫,基于占位符生成二进制 并用引用校验和填充二进制中的每个占位符。 该系统包括处理器和控制处理器来执行方法的模块。 计算机可读存储介质包括用于控制计算机执行方法的指令。
    • 6. 发明申请
    • SYSTEM AND METHOD FOR CALL PATH ENFORCEMENT
    • 用于呼叫路径执行的系统和方法
    • US20110047622A1
    • 2011-02-24
    • US12546520
    • 2009-08-24
    • Ginger M. MylesSrinivas VedulaGianpaolo FasoliJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • Ginger M. MylesSrinivas VedulaGianpaolo FasoliJulien LerougeTanya Michelle LattnerAugustin J. Farrugia
    • G06F21/22G06F9/45G06F9/46
    • G06F21/54G06F9/4484G06F9/544G06F9/545
    • Disclosed herein are systems, computer-implemented methods, and computer-readable storage media for call path enforcement. The method includes tracking, during run-time, a run-time call order for a series of function calls in a software program, and when executing a protected function call during run-time, allowing or causing proper execution of a protected function call only if the run-time call order matches a predetermined order. The predetermined order can be an expected run-time call order based on a programmed order of function calls in the software program. The method can include maintaining an evolving value associated with the run-time call order and calling the protected function by passing the evolving value and function parameters corrupted based on the evolving value. The protected function uncorrupts the corrupted parameters based on the passed evolving value and an expected predetermined call order. A buffer containing the uncorrupted parameters can replace the corrupted parameters.
    • 本文公开了用于呼叫路径实施的系统,计算机实现的方法和计算机可读存储介质。 该方法包括在运行期间跟踪软件程序中一系列函数调用的运行时调用顺序,以及在运行时执行受保护函数调用时,只允许或导致仅受保护函数调用的正确执行 如果运行时间调用顺序与预定顺序相匹配。 预定顺序可以是基于软件程序中的功能调用的编程顺序的期望的运行时呼叫顺序。 该方法可以包括维护与运行时呼叫顺序相关联的演进值,并通过传递基于演进值而破坏的演进值和功能参数来调用受保护功能。 受保护的功能基于传递的演进值和预期的预定呼叫顺序来破坏已损坏的参数。 包含未受损参数的缓冲区可以替换损坏的参数。
    • 7. 发明申请
    • SYSTEM AND METHOD FOR OBFUSCATING DATA USING INSTRUCTIONS AS A SOURCE OF PSEUDORANDOM VALUES
    • 使用指令作为PSEUDORANDOM值的来源来对数据进行数据采集的系统和方法
    • US20130104239A1
    • 2013-04-25
    • US13308515
    • 2011-11-30
    • Jon McLachlanGideon M. MylesJulien Lerouge
    • Jon McLachlanGideon M. MylesJulien Lerouge
    • G06F21/24G06F17/30
    • G06F7/588G06F21/54G06F2221/2107
    • Disclosed herein are systems, methods, and non-transitory computer-readable storage media for obfuscating data using instructions as a source of pseudorandom values. Obfuscation is performed by receiving instructions and data and compiling the instructions and the data into an executable file having a text section and a data section. The text section can include instructions and the data section can include data segments. The system obfuscates the data section iteratively by generating a hash of an address for a respective data segment, and based on the hash, identifying a corresponding address in the text section that includes at least one instruction. The system retrieves a mask key from the corresponding address and applies the mask key to the respective data segment, yielding a masked data segment. In one embodiment, integrity verification of obfuscated data is performed without exposing the data in an unprotected state by utilizing multiple mask keys.
    • 本文公开了用于使用指令作为伪随机值的来源来模糊数据的系统,方法和非暂时的计算机可读存储介质。 通过接收指令和数据并将指令和数据编译成具有文本部分和数据部分的可执行文件来执行混淆。 文本部分可以包括指令,数据部分可以包括数据段。 该系统通过生成相应数据段的地址的散列来迭代地模糊数据段,并且基于散列,识别包括至少一个指令的文本段中的相应地址。 该系统从对应的地址中获取一个掩码密钥,并将该掩码密钥应用于相应的数据段,产生一个被掩蔽的数据段。 在一个实施例中,执行混淆数据的完整性验证,而不会通过利用多个掩码密钥将数据暴露在未受保护状态。
    • 8. 发明授权
    • System and method for annotation driven integrity verification
    • 用于注释驱动的完整性验证的系统和方法
    • US08412953B2
    • 2013-04-02
    • US12550334
    • 2009-08-28
    • Julien LerougeGinger M. MylesTanya Michelle LattnerAugustin J. Farrugia
    • Julien LerougeGinger M. MylesTanya Michelle LattnerAugustin J. Farrugia
    • G06F9/44
    • G06F21/125G06F11/1004
    • Disclosed herein are methods, systems, and computer-readable storage media for annotation driven integrity program verification. The method includes distributing verification calls configured to verify a function across call paths leading to the function in source code, generating a binary from the source code having placeholders associated with the verification calls, and filling each placeholder in the binary with verification data or reference checksums. Alternatively, the method includes receiving source code having a verification call, replacing the verification call with one or more equivalent verification calls distributed over a call path, replacing each verification call with a checksum function generating placeholders while compiling, generating a binary based on the placeholders, and filling each placeholder in the binary with reference checksums. The system includes a processor and a module controlling the processor to perform the methods. The computer-readable storage medium includes instructions for controlling a computer to perform the methods.
    • 本文公开了用于注释驱动的完整性程序验证的方法,系统和计算机可读存储介质。 该方法包括分配验证呼叫,配置为验证源于代码中的功能的呼叫路径之间的功能,从具有与验证呼叫相关联的占位符的源代码生成二进制文件,并用验证数据或引用校验和填充二进制中的每个占位符 。 或者,该方法包括接收具有验证呼叫的源代码,用通过呼叫路径分配的一个或多个等效验证呼叫代替验证呼叫,在编译时用生成占位符的校验和函数替换每个验证呼叫,基于占位符生成二进制 并用引用校验和填充二进制中的每个占位符。 该系统包括处理器和控制处理器来执行方法的模块。 计算机可读存储介质包括用于控制计算机执行方法的指令。
    • 9. 发明申请
    • METHOD AND APPARATUS FOR COMPUTER CODE OBFUSCATION AND DEOBFUSCATION USING BOOT INSTALLATION
    • 使用引导安装的计算机代码创建和解密的方法和装置
    • US20120221864A1
    • 2012-08-30
    • US13434619
    • 2012-03-29
    • Mathieu CIETJulien LEROUGEAugustin J. FARRUGIA
    • Mathieu CIETJulien LEROUGEAugustin J. FARRUGIA
    • G06F21/22G06F9/45
    • G06F21/14G06F21/577
    • In the field of computer software, obfuscation techniques for enhancing software security are applied to compiled (object) software code. The obfuscation results here in different versions (instances) of the obfuscated code being provided to different installations (recipient computing devices). The complementary code execution uses a boot loader or boot installer-type program at each installation which contains the requisite logic. Typically, the obfuscation results in a different instance of the obfuscated code for each intended installation (recipient) but each instance being semantically equivalent to the others. This is accomplished in one version by generating a random value or other parameter during the obfuscation process, and using the value to select a particular version of the obfuscating process, and then communicating the value along with boot loader or installer program software.
    • 在计算机软件领域,用于增强软件安全性的混淆技术应用于编译(对象)软件代码。 这里的混淆结果在不同版本(实例)的混淆代码提供给不同的安装(收件人计算设备)。 互补代码执行在每个安装时使用引导加载程序或引导安装程序类型程序,其中包含必需的逻辑。 通常,混淆导致每个预期安装(接收者)的混淆代码的不同实例,但每个实例在语义上等同于其他安装。 这在一个版本中通过在混淆过程中产生随机值或其他参数来实现,并且使用该值来选择混淆过程的特定版本,然后与引导加载程序或安装程序软件一起传送该值。