Obfuscation of automatically generated code
AssigneeThe MathWorks, Inc.
InventorBill Wendling
Life of this patent
Estimating the term…
Abstract
A method is provided for obfuscating code generated from a block diagram model in a graphical programming environment. The obfuscation may be removed through the use of a password. Incorporating the obfuscated code in a block diagram allows for code to be generated from the block diagram incorporating the obfuscated code.
Claims24
A computing device-implemented method comprising:
- receiving a first graphical model;
- generating, by a processor of the computing device, textual code for the first graphical model, the generating including:
- generating a plurality of related files required for compiling the generated textual code;
- converting the generated textual code for the first graphical model into obfuscated textual code, the converting including:
- converting the plurality of related files to plurality of obfuscated related files;
- receiving a second graphical model, where:
- the second graphical model includes the first graphical model, and
- the second graphical model is executable;
- incorporating the obfuscated textual code into the second graphical model using a graphical element, where:
- the incorporating associates the plurality of obfuscated related files with the second graphical model, and
- the obfuscated textual code interacts with a portion of the second graphical model, the interacting comprising:
- receiving output from the portion of the second graphical model, or
- providing input to the portion of the second graphical model;
- and
- generating code for the second graphical model, the generating comprising:
- incorporating the obfuscated textual code into the generated code.
A non-transitory computer-readable medium storing instructions that, when executed on a processor, cause the processor to:
- receive a first graphical model;
- generate textual code for the first graphical model, the generating including:
- generating a plurality of related files required for compiling the generated textual code;
- convert the generated textual code for the first graphical model into obfuscated textual code, the converting including:
- converting the plurality of related files to plurality of obfuscated related files;
- receive a second graphical model, where:
- the second graphical model includes the first graphical model, and
- the second graphical model is executable;
- and
- incorporate the obfuscated textual code into the second graphical model using a graphical element, where:
- the incorporating associates the plurality of obfuscated related files with the second graphical model, and
- the obfuscated textual code interacts with a portion of the second graphical model, the interacting comprising:
- receiving output from the portion of the second graphical model, or
- providing input to the portion of the second graphical model;
- and
- generate code for the second graphical model, the generating comprising:
- incorporating the obfuscated textual code into the generated code.
A computer-implemented system comprising:
- a memory storing a first graphical model;
- a processor executing instructions for generating textual code for the first graphical model, the generating including:
- generating a plurality of related files required for compiling the generated textual code;
- a converter for converting the generated textual code for the first graphical model into obfuscated textual code, the converting including:
- converting the plurality of related files to plurality of obfuscated related files;
- wherein the memory stores:
- a second graphical model, where:
- the second graphical model includes the first graphical model,
- the obfuscated textual code is incorporated into the second graphical model using a graphical element,
- the second graphical model is executable,
- the incorporating associates the plurality of obfuscated related files with the second graphical model, and
- the obfuscated textual code interacts with a portion of the second graphical model, the interacting comprising:
- receiving output from the portion of the second graphical model, or
- providing input to the portion of the second graphical model;
- and
- code generated from the second graphical model, the code generated from the second graphical model including the obfuscated textual code.
A non-transitory computer readable medium storing instructions that, when executed on a processor, cause the processor to:
- receive a first graphical model;
- generate textual code for at least a portion of the first graphical model, the generating including:
- generating a plurality of related files required for compiling the generated textual code;
- convert the generated textual code for at least the portion of the first graphical model into obfuscated textual code, where the converting includes:
- converting the plurality of related files to plurality of obfuscated related files, and
- applying a one-way hash function to the generated textual code;
- incorporate the generated obfuscated textual code into a second graphical model using a graphical element, where:
- the second graphical model is executable,
- the incorporating associates the plurality of obfuscated related files with the second graphical model, and
- the obfuscated textual code interacts with a portion of the second graphical model, the interacting comprising:
- receiving output from the portion of the second graphical model, or
- providing input to the portion of the second graphical model;
- and
- generate code for the second graphical model, the generating comprising:
- incorporating the obfuscated textual code into the generated code.
A computing device-implemented method comprising:
- receiving a first graphical model;
- generating, by a processor of the computing device, textual code for at least a portion of the first graphical model, the generating including:
- generating a plurality of related files required for compiling the generated textual code;
- converting the generated textual code for at least the portion of the first graphical model into obfuscated textual code, where the converting includes:
- converting the plurality of related files to plurality of obfuscated related files, and
- applying a one-way hash function to the generated textual code;
- and
- incorporating the generated obfuscated textual code into a second graphical model via a graphical element, where:
- the second graphical model is executable,
- the incorporating associates the plurality of obfuscated related files with the second graphical model, and
- the obfuscated textual code interacts with a portion of the second graphical model, the interacting comprising:
- receiving output from the portion of the second graphical model, or
- providing input to the portion of the second graphical model;
- and
- generating code for the second graphical model, the generating comprising:
- incorporating the obfuscated textual code into the generated code.
Dependencies are inferred from the claim text.