ВСТУПЛЕНИЕ Данная тема создана в целях получить знания о защите своего проекта написанного на .Net. [Пишу такое первый раз, так что не судите строго ] НУЖНЫЕ ПРОГИ Для "Кряка" нам понадобятся: 1. DnSpy (Программа для просмотра скомпилированного кода c#) 2. Программа для получения инфы о протекте/обфускаторе (Подойдут: DIE, PID) 3. Клинер (NETReactorSlayer) 4. d4dot (всё можно найти на гитхабе) Начнем с выбора программы для "Кряка" Для примера я написал CrackME в 2 строки, с правильным паролем "zelenka.guru" ПОЖИЛОЙ КРЯК Во первых нам нужно узнать чем защищена программа закинув ее в DIE или PID По итогу мы видим .Net Reactor, теперь находим дампер под этот обфускатор и чистим прогу. В нашем случае нужен NETReactorSlayer 1. Теперь просто закидываем CrackMe в Слеер 2. Выбираем все очистки 3. Нажимаем "старт" После очистки мы получаем CrackME_Slayed.exe CrackME_Slayed.exe мы закидываем в DnSpy что бы увидеть "наш" код В случае если в программе прогнанной через Слеер куча рандомных слов и классов (Junck Code) Мы прогоняем exe через d4dot просто закинув exe в него. Теперь нам нужно найти строку с проверкой Ключа\Пароля\ХВид или того что нам нужно обойти В нашей ситуации мы уже видим нужный пароль "zelenka.guru" НО.... Если идет запрос на хост или т.п. мы просто меняем местами if и else Объяснения для чайников Что такое if и что такое else Если условие указанное в скобках правильное, тогда выполняется действие в if При не верном условии выполнится Else Пример Если ваше имя Петя - вам дают конфеты В ином случае - вам дадут яблоко поменяв "внутренности if местами, Петя получит яблоки, а другие конфеты" Поменяв if и else местами при вводе zelenka.guru у нас выбьет ошибку, а при вводе рандомного пароля нас впустят в программу! Что-бы это сделать, нажимаем правой кнопкой по нужной части кода, и выбираем "Изменить метод" Теперь всё что есть в if меняем с else и нажимаем "Компилировать" Теперь сохраняем проект Запускаем программу и вводим любой текст в текстбокс Готово! Вывод: не пользуйтесь нет реактором
CerberusSteam, ну почему, флоу ты очистишь может, а если там вирта включена, то не выйдет ничего так просто))) Чтобы получить чистый файл - придется искать или писать девиртер. Если же чистый файл не нужен - придется в рантайме страдать.