Задайте пользовательский Obfuscators для защищенных моделей

При создании защищенной модели можно задать собственную функцию постобработки для файлов, которые генерирует защищенный процесс создания модели. Прежде, чем группировать защищенные файлы модели, эта функция вызвана Simulink.ModelReference.protect функция. Можно использовать эту функциональность, чтобы запустить собственный obfuscator на сгенерированных файлах путем выполнения этих шагов:

  1. Создайте свою функцию постобработки. Используйте эту функцию, чтобы вызвать ваш пользовательский obfuscator. Функция должна быть на пути MATLAB® и принять Simulink.ModelReference.ProtectedModel.HookInfo возразите как входная переменная.

  2. В вашей функции получите файлы и экспортируемую информацию символа, которую ваш пользовательский obfuscator запрашивает, чтобы обработать защищенные файлы модели. Чтобы получить файлы и информацию, получите доступ к свойствам своей переменной входного параметра функции. Переменной является Simulink.ModelReference.ProtectedModel.HookInfo объект со следующими свойствами:

    • SourceFiles

    • NonSourceFiles

    • ExportedSymbols

  3. Передайте защищенную информацию о файле модели своему пользовательскому obfuscator. Следующее является примером функции постобработки для пользовательской путаницы:

    function myHook(protectedModelInfo)
    
        % Get source file list information.
        srcFileList = protectedModelInfo.SourceFiles;
        disp('### Obfuscating...');
        for i=1:length(srcFileList)
            disp(['### Obfuscator: Processing ' srcFileList{i} '...']);
            % call to custom obfuscator
            customObfuscator(srcFileList{i});
        end
    end

  4. Задайте свою функцию постобработки при создании защищенной модели:

    Simulink.ModelReference.protect('myModel, ...
        'Mode', ...
        'CodeGeneration', ...
        'CustomPostProcessingHook', ... 
        @(protectedModelInfo)myHook(protectedModelInfo))

Защищенный создатель модели может также включить путаницу целевого кода симуляции и сгенерированного кода через ‘ObfuscateCode’опция Simulink.ModelReference.protect функция. Ваш пользовательский obfuscator запускается только на сгенерированном коде а не на целевом коде симуляции или сгенерированном HDL-коде. Если оба, obfuscators используются, пользовательский obfuscator, являются последними, чтобы работать на сгенерированном коде, прежде чем файлы будут группированы.

Похожие темы