CONTROL FLOW FLATTENING FOR CODE OBFUSCATION WHERE THE NEXT BLOCK CALCULATION NEEDS RUN-TIME INFORMATION
    1.
    发明申请
    CONTROL FLOW FLATTENING FOR CODE OBFUSCATION WHERE THE NEXT BLOCK CALCULATION NEEDS RUN-TIME INFORMATION 审中-公开
    下一个块计算需要运行时间信息的控制流平滑代码

    公开(公告)号:US20150310193A1

    公开(公告)日:2015-10-29

    申请号:US14259395

    申请日:2014-04-23

    Applicant: NXP B.V.

    CPC classification number: G06F21/14 G06F2221/0748

    Abstract: A method of obscuring software code including a plurality of basic blocks wherein the basic blocks have an associated identifier (ID), including: determining, by a processor, for a first basic block first predecessor basic blocks, wherein first predecessor basic blocks jump to the first basic block and the first basic block jumps to a next basic block based upon a next basic block ID; producing, by the processor, a mask value based upon the IDs of first predecessor basic blocks, wherein the mask value identifies common bits of the IDs of the first predecessor basic blocks; and inserting, by the processor, an instruction in the first basic block to determine a next basic block ID based upon the mask value and an ID of one of the first predecessor basic blocks.

    Abstract translation: 一种模糊软件代码的方法,包括多个基本块,其中基本块具有相关联的标识符(ID),包括:由处理器确定第一基本块第一前驱基本块,其中第一前导基本块跳转到 第一基本块,并且第一基本块基于下一个基本块ID跳转到下一个基本块; 由所述处理器基于所述第一先前基本块的ID产生掩码值,其中所述掩码值识别所述第一前导基本块的ID的公共位; 以及由所述处理器插入所述第一基本块中的指令,以基于所述掩码值和所述第一前置基本块之一的ID来确定下一个基本块ID。

    Control flow flattening for code obfuscation where the next block calculation needs run-time information

    公开(公告)号:US10599820B2

    公开(公告)日:2020-03-24

    申请号:US14259395

    申请日:2014-04-23

    Applicant: NXP B.V.

    Abstract: A method of obscuring software code including a plurality of basic blocks wherein the basic blocks have an associated identifier (ID), including: determining, by a processor, for a first basic block first predecessor basic blocks, wherein first predecessor basic blocks jump to the first basic block and the first basic block jumps to a next basic block based upon a next basic block ID; producing, by the processor, a mask value based upon the IDs of first predecessor basic blocks, wherein the mask value identifies common bits of the IDs of the first predecessor basic blocks; and inserting, by the processor, an instruction in the first basic block to determine a next basic block ID based upon the mask value and an ID of one of the first predecessor basic blocks.

Patent Agency Ranking