SYSTEM AND METHOD FOR BLURRING INSTRUCTIONS AND DATA VIA BINARY OBFUSCATION
    1.
    发明申请
    SYSTEM AND METHOD FOR BLURRING INSTRUCTIONS AND DATA VIA BINARY OBFUSCATION 有权
    用于通过二进制补偿来引导指令和数据的系统和方法

    公开(公告)号:US20120284688A1

    公开(公告)日:2012-11-08

    申请号:US13100041

    申请日:2011-05-03

    IPC分类号: G06F9/44

    CPC分类号: G06F21/14 G06F21/125

    摘要: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for obfuscating a computer program. A system configured to practice the method identifies a set of executable instructions at a first location in an instruction section of the computer program and identifies a second location in a data section of the computer program. Then the system moves the set of executable instructions to the second location and patches references in the computer program to the set of executable instructions to point to the second location. The instruction section of the computer program can be labeled as _TEXT,_text and the data section of the computer program is labeled as _DATA,_data. The set of executable instructions can include one or more non-branching instructions optionally followed by a branching instruction. The placement of the first and second locations can be based on features of a target computing architecture, such as cache size.

    摘要翻译: 本文公开了用于模糊计算机程序的系统,方法和非暂时的计算机可读存储介质。 被配置为练习该方法的系统在计算机程序的指令部分中的第一位置识别一组可执行指令,并且识别计算机程序的数据部分中的第二位置。 然后系统将可执行指令集移动到第二位置,并将计算机程序中的引用修补到指向第二位置的可执行指令集。 计算机程序的指令部分可以标记为_TEXT,_text,计算机程序的数据部分标记为_DATA,_data。 该可执行指令集可以包括一个或多个非分支指令,可选地跟随分支指令。 第一和第二位置的放置可以基于诸如高速缓存大小的目标计算架构的特征。

    System and method for executing an encrypted binary from a memory pool
    2.
    发明授权
    System and method for executing an encrypted binary from a memory pool 有权
    从内存池执行加密二进制的系统和方法

    公开(公告)号:US08756434B2

    公开(公告)日:2014-06-17

    申请号:US13083497

    申请日:2011-04-08

    IPC分类号: G06F12/14

    摘要: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for executing encrypted computer code. A system configured to practice the method receives a request to execute encrypted computer code. In response to the request, the system identifies a portion of the encrypted computer code for execution and decrypts the portion to yield decrypted computer code. Then the system stores the decrypted computer code in a pool of memory and executes the decrypted computer code from the pool of memory. The system can store the decrypted computer code in the pool of memory based on a randomization algorithm so that identical executions of the encrypted computer code result in selections of different available memory locations within the pool of memory. Related portions can be stored non-consecutively in the pool of memory. The pool of memory can store different portions of decrypted computer code over time.

    摘要翻译: 这里公开了用于执行加密的计算机代码的系统,方法和非暂时的计算机可读存储介质。 配置为执行该方法的系统接收执行加密的计算机代码的请求。 响应于该请求,系统识别加密的计算机代码的一部分用于执行,并解密部分以产生解密的计算机代码。 然后,系统将解密的计算机代码存储在存储器池中,并从存储器池中执行解密的计算机代码。 系统可以基于随机化算法将解密的计算机代码存储在存储器池中,使得加密的计算机代码的相同执行导致在存储器池内的不同可用存储器位置的选择。 相关部分可以非连续地存储在存储器池中。 内存池可以随时间存储解密的计算机代码的不同部分。

    SYSTEM AND METHOD FOR EXECUTING AN ENCRYPTED BINARY FROM A MEMORY POOL
    3.
    发明申请
    SYSTEM AND METHOD FOR EXECUTING AN ENCRYPTED BINARY FROM A MEMORY POOL 有权
    从记忆池执行加密二进制的系统和方法

    公开(公告)号:US20120260102A1

    公开(公告)日:2012-10-11

    申请号:US13083497

    申请日:2011-04-08

    IPC分类号: G06F12/14

    摘要: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for executing encrypted computer code. A system configured to practice the method receives a request to execute encrypted computer code. In response to the request, the system identifies a portion of the encrypted computer code for execution and decrypts the portion to yield decrypted computer code. Then the system stores the decrypted computer code in a pool of memory and executes the decrypted computer code from the pool of memory. The system can store the decrypted computer code in the pool of memory based on a randomization algorithm so that identical executions of the encrypted computer code result in selections of different available memory locations within the pool of memory. Related portions can be stored non-consecutively in the pool of memory. The pool of memory can store different portions of decrypted computer code over time.

    摘要翻译: 这里公开了用于执行加密的计算机代码的系统,方法和非暂时的计算机可读存储介质。 配置为执行该方法的系统接收执行加密的计算机代码的请求。 响应于该请求,系统识别加密的计算机代码的一部分用于执行,并解密部分以产生解密的计算机代码。 然后,系统将解密的计算机代码存储在存储器池中,并从存储器池中执行解密的计算机代码。 系统可以基于随机化算法将解密的计算机代码存储在存储器池中,使得加密的计算机代码的相同执行导致在存储器池内的不同可用存储器位置的选择。 相关部分可以非连续地存储在存储器池中。 内存池可以随时间存储解密的计算机代码的不同部分。

    System and method for blurring instructions and data via binary obfuscation
    4.
    发明授权
    System and method for blurring instructions and data via binary obfuscation 有权
    通过二进制混淆模糊指令和数据的系统和方法

    公开(公告)号:US08615735B2

    公开(公告)日:2013-12-24

    申请号:US13100041

    申请日:2011-05-03

    IPC分类号: G06F9/44

    CPC分类号: G06F21/14 G06F21/125

    摘要: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for obfuscating a computer program. A system configured to practice the method identifies a set of executable instructions at a first location in an instruction section of the computer program and identifies a second location in a data section of the computer program. Then the system moves the set of executable instructions to the second location and patches references in the computer program to the set of executable instructions to point to the second location. The instruction section of the computer program can be labeled as _TEXT,_text and the data section of the computer program is labeled as _DATA,_data. The set of executable instructions can include one or more non-branching instructions optionally followed by a branching instruction. The placement of the first and second locations can be based on features of a target computing architecture, such as cache size.

    摘要翻译: 本文公开了用于模糊计算机程序的系统,方法和非暂时的计算机可读存储介质。 被配置为练习该方法的系统在计算机程序的指令部分中的第一位置识别一组可执行指令,并且识别计算机程序的数据部分中的第二位置。 然后系统将可执行指令集移动到第二位置,并将计算机程序中的引用修补到指向第二位置的可执行指令集。 计算机程序的指令部分可以标记为_TEXT,_text,计算机程序的数据部分标记为_DATA,_data。 该可执行指令集可以包括一个或多个非分支指令,可选地跟随分支指令。 第一和第二位置的放置可以基于诸如高速缓存大小的目标计算架构的特征。