为受保护的模型指定自定义模糊器
在创建受保护模型时,您可以为受保护模型创建过程生成的文件指定自己的后处理函数。在打包受保护的模型文件之前,此函数由Simulink.ModelReference.protect
函数。你可以使用这个功能在生成的文件上运行你自己的自定义混淆器,步骤如下:
创建后处理函数。使用此函数调用自定义模糊器。函数必须在MATLAB中®路径,并接受
Simulink.ModelReference.ProtectedModel.HookInfo
对象作为输入变量。在函数中,获取自定义混淆器处理受保护的模型文件所需的文件和导出的符号信息。要获取文件和信息,请访问函数输入变量的属性。变量是a
Simulink.ModelReference.ProtectedModel.HookInfo
对象,具有以下属性:源文件
NonSourceFiles
ExportedSymbols
将受保护的模型文件信息传递给您的自定义混淆器。下面是一个自定义混淆的后处理函数示例:
获取源文件列表信息。srcFileList = protectedModelInfo.SourceFiles;disp(“# # #混淆…”);for i=1:length(srcFileList) disp(['### # Obfuscator: Processing ' srcFileList{i} '…']);%调用自定义模糊器customObfuscator(srcFileList{i});结束结束
在创建受保护模型时指定后处理函数:
Simulink.ModelReference.protect('myModel, ... 'Mode', ... 'CodeGeneration', ... 'CustomPostProcessingHook', ... @(protectedModelInfo)myHook(protectedModelInfo))
受保护的模型创建者还可以通过ObfuscateCode
选项的Simulink.ModelReference.protect
函数。您的自定义混淆器只在生成的代码上运行,而不是在模拟目标代码或生成的HDL代码上运行。如果两个混淆器都在使用,则自定义混淆器是在文件打包之前对生成的代码运行的最后一个混淆器。