Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Защита C# dll

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
8 Фев 2023
Сообщения
14
Реакции
0
какие есть варианты защиты C# dll? Есть проблема то что если сдампить память игры то сдампиться и длл чита, обфускация не поможет ибо можно просто изменить инструкции, если ставить vmprotect то ломается логика, пакуются нужные методы и становятся пустыми, и их не получается вызывать.
Буду рад любой помощи.
 
Ну просто сделай в длл чита столько проверок на лицензию(прям на каждой функции, как в условном fatality), и пообфи чем нибудь. Честно еще идей нету
 
вот метод под вмпротектом:
1771252165536.png

вызвать его не получается 🤷‍♂️
Ну просто сделай в длл чита столько проверок на лицензию(прям на каждой функции, как в условном fatality), и пообфи чем нибудь. Честно еще идей нету
проверки есть, проблема в том то что их пропатчить дело 5 минут, обфускация тоже не особо поможет
 
Ну просто сделай в длл чита столько проверок на лицензию(прям на каждой функции, как в условном fatality), и пообфи чем нибудь. Честно еще идей нету
чё ты высрал ебень
 
Ну просто сделай в длл чита столько проверок на лицензию(прям на каждой функции, как в условном fatality), и пообфи чем нибудь. Честно еще идей нету
Щя падежи я ещё одну проверку добавлю. Чтобы чел бляк поставил и нолик на единичку поменял. Вообще вери гуд это сразу в дллмейне ебануть вечный цикл с проверкой на подписку. Чит пользователь не нужен
 
Щя падежи я ещё одну проверку добавлю. Чтобы чел бляк поставил и нолик на единичку поменял. Вообще вери гуд это сразу в дллмейне ебануть вечный цикл с проверкой на подписку. Чит пользователь не нужен
спасибо за совет, так и сделал, в каждом методе сделал проверку лицензии
схуёв не получается то. ты как билдишь? там вроде несколько методов в C# есть
а вот хуй его знает, вот настройки проекта
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
 
делай EDR, сверяй CRC модуля, делай токенизацию, максимальное время инжекта, компилируй каждую длл для каждого пользователя на сервере. привязывай к метаданным. тут только грамотное лицензирование поможет.
 
компилируй каждую длл для каждого пользователя на сервере.
а чем это поможет?
Да и многие проверки не особо помогают, нужна защита от реверса, дизасемблирования.
 
вызвать его не получается 🤷‍♂️
У тебя ВМП не инициализировался.

В настройках протектора:
Pack the Output FileNo

Если без упаковки не обойтись, то инициализируй чит насильно, перед вызовом чего-либо :

C#:
Expand Collapse Copy
using System.Runtime.CompilerServices;
using System.Reflection;

Assembly asm = /*...*/;
Module manifest = asm.ManifestModule;


/// <Module>::.cctor()
MethodBase cctor = manifest.GetTypes( ).Where(type => type.Name == "<Module>").Select( type => type.GetMethod( ".cctor", BindingFlags.Static | BindingFlags.NonPublic ) ).FirstOrDefault( method => method != null );
if ( cctor == null ) return;

RuntimeHelpers.PrepareMethod( cctor.MethodHandle );
cctor.Invoke( null, null );
 
У тебя ВМП не инициализировался.

В настройках протектора:
Pack the Output FileNo

Если без упаковки не обойтись, то инициализируй чит насильно, перед вызовом чего-либо :

C#:
Expand Collapse Copy
using System.Runtime.CompilerServices;
using System.Reflection;

Assembly asm = /*...*/;
Module manifest = asm.ManifestModule;


/// <Module>::.cctor()
MethodBase cctor = manifest.GetTypes( ).Where(type => type.Name == "<Module>").Select( type => type.GetMethod( ".cctor", BindingFlags.Static | BindingFlags.NonPublic ) ).FirstOrDefault( method => method != null );
if ( cctor == null ) return;

RuntimeHelpers.PrepareMethod( cctor.MethodHandle );
cctor.Invoke( null, null );
спасибо :pepe8:
 
Назад
Сверху Снизу