Загрузка...

Защита C# сурсов v2.0

Тема в разделе Безопасность создана пользователем renameduser_907389 13 апр 2021. (поднята 4 май 2021) 509 просмотров

  1. renameduser_907389
    renameduser_907389 Автор темы 13 апр 2021 (tm) 168 7 фев 2019
    Сегодня я вас научу защищать свое интелектуальное право
    Начнем с нужных нам вещей для этого:
    1. Прямые рученки (куда-же без них)
    2. ConfuserEx от mkaring (клик)

    Первый этап - Подготовка ConfuserEx
    Для правильной работы нам нужно установить его в PATH вашей системы
    Если же вы умеете это делать, то рекомендую использовать папку Program Files


    Чтобы добавить ее в Path нужно открыть настройки и зайти в вкладку Система(System)
    (В данном случае показываю на Windows 10, если у вас не такая версия
    Windows то погуглите как добавить папку в PATH на Windows N)
    [IMG]
    Далее в Информацию(About)
    [IMG]
    И дополнительные настройки
    [IMG]
    Далее на самую нижнюю кнопку
    [IMG]
    Далее зависит от вас, если хотите добавить для всех на этом компьютере, то выберайте с нижнем Path и нажимайте Edit,
    Нам же это не надо и мы выбераем сверху и опять же нажимаем Изменить
    [IMG]
    Нажимаем Добавить
    [IMG]
    И вводим путь до нашей папки с Confuser.CLI.exe файлом
    [IMG]
    Сохраняем и выходим

    Для проверки откройте консоль и введите "confuser.cli", если консоль показала, что
    такой команды не существует, тогда вы сделали что-то не правильно.
    Верным решением будет перезагрузка компьютера, тогда все программы подхватят изменение.



    Второй этап - Настройка .csproj
    Заходим в наш проектный файл и вставляем это
    Код
    <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <PublishSingleFile Condition="$(Configuration) == 'Release'">true</PublishSingleFile>
    <IncludeAllContentForSelfExtract Condition="$(Configuration) == 'Release'">true</IncludeAllContentForSelfExtract>
    <ConfuserSettings>
    <project outputDir="." baseDir="." xmlns="https://raw.githubusercontent.com/mkaring/ConfuserEx/master/Confuser.Core/Project/ConfuserPrj.xsd">
    <rule pattern="true" preset="maximum">
    <protection id="ref proxy" action="remove"/>
    </rule>
    <module path=".\$(AssemblyName).dll"/>
    </project>
    </ConfuserSettings>
    </PropertyGroup>

    <Target Name="ObfuscateAssembly" AfterTargets="PostBuildEvent" Outputs="$(AssemblyName).dll" Condition="$(Configuration) == 'Release'">
    <!-- Write configuration file to the project dir for CLI to use it -->
    <WriteLinesToFile File="$(OutDir)\$(RootNamespace).crproj" Overwrite="true" Lines="$(ConfuserSettings)"/>
    <!-- Obfuscate assembly in /bin/ folder because /obj/ folder doesn't have dependencies -->
    <Exec Command="Confuser.CLI "$(OutDir)\$(RootNamespace).crproj""/>
    <!-- Move obfuscated to /obj/ folder, so single file host will pick it up and use it -->
    <Move SourceFiles="$(OutDir)\$(AssemblyName).dll" DestinationFiles="$(ProjectDir)\obj\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\$(AssemblyName).dll" OverwriteReadOnlyFiles="true"/>
    </Target>


    В отличие от первого способа где нужно было создавать файл, тут нам не нужно ничего
    кроме подготовленного обфускатора
     
Top
Загрузка...