Загрузка...

Кряк dotNET Reactor c# для начинающих

Тема в разделе C# создана пользователем CerberusSteam 26 окт 2022. (поднята 20 ноя 2024) 1247 просмотров

Загрузка...
  1. CerberusSteam
    CerberusSteam Автор темы 26 окт 2022 FPM: https://zelenka.guru/threads/4492389/ 405 26 авг 2018
    ВСТУПЛЕНИЕ

    Данная тема создана в целях получить знания о защите своего проекта написанного на .Net.
    [Пишу такое первый раз, так что не судите строго:animechill: ]

    НУЖНЫЕ ПРОГИ

    Для "Кряка" нам понадобятся:
    1. DnSpy (Программа для просмотра скомпилированного кода c#)
    2. Программа для получения инфы о протекте/обфускаторе (Подойдут: DIE, PID)
    3. Клинер (NETReactorSlayer)
    4. d4dot
    (всё можно найти на гитхабе)

    Начнем с выбора программы для "Кряка"
    Для примера я написал CrackME в 2 строки, с правильным паролем "zelenka.guru"

    ПОЖИЛОЙ КРЯК

    Во первых нам нужно узнать чем защищена программа закинув ее в DIE или PID
    [IMG]
    По итогу мы видим .Net Reactor, теперь находим дампер под этот обфускатор и чистим прогу.

    В нашем случае нужен NETReactorSlayer
    1. Теперь просто закидываем CrackMe в Слеер
    2. Выбираем все очистки
    3. Нажимаем "старт"
    [IMG]
    После очистки мы получаем CrackME_Slayed.exe

    CrackME_Slayed.exe мы закидываем в DnSpy что бы увидеть "наш" код
    [IMG]
    В случае если в программе прогнанной через Слеер куча рандомных слов и классов (Junck Code)
    Мы прогоняем exe через d4dot просто закинув exe в него.

    Теперь нам нужно найти строку с проверкой Ключа\Пароля\ХВид или того что нам нужно обойти
    [IMG]

    В нашей ситуации мы уже видим нужный пароль "zelenka.guru"
    НО.... Если идет запрос на хост или т.п. мы просто меняем местами if и else

    Что такое if и что такое else

    Если условие указанное в скобках правильное, тогда выполняется действие в if
    При не верном условии выполнится Else

    Пример
    Если ваше имя Петя - вам дают конфеты
    В ином случае - вам дадут яблоко

    поменяв "внутренности if местами, Петя получит яблоки, а другие конфеты"

    Поменяв if и else местами при вводе zelenka.guru у нас выбьет ошибку, а при вводе рандомного пароля нас впустят в программу!

    Что-бы это сделать, нажимаем правой кнопкой по нужной части кода, и выбираем "Изменить метод"
    [IMG]

    Теперь всё что есть в if меняем с else и нажимаем "Компилировать"
    [IMG]
    Теперь сохраняем проект
    [IMG]

    Запускаем программу и вводим любой текст в текстбокс
    [IMG]

    Готово!

    Вывод: не пользуйтесь нет реактором :finger_up:
     
    1. DeadByte
      CerberusSteam, ну почему, флоу ты очистишь может, а если там вирта включена, то не выйдет ничего так просто))) Чтобы получить чистый файл - придется искать или писать девиртер. Если же чистый файл не нужен - придется в рантайме страдать.
Top