Поскольку в проекте используется обфускатор .net, в интернете искают множество моделей, таких как Dotfuscator, xeoncode, foxit и др.
Но большинство комиссий, конечно, связаны с взломанными версиями, и компания требует, чтобы пиратское программное обеспечение не использовалось.
После долгих поисков я наконец нашёл ConfuserEX, и им было нормально пользоваться, поэтому я быстро достал его и поделился с вами.
Поскольку в интернете мало китайских знакомств, я проведу здесь тест, чтобы показать вам:
1. Создайте новую библиотеку классов на C#, я не буду менять название, просто назову её ClassLibrary1 и добавлю простой метод под классом Class1.cs:
2. Создать другое консольное приложение ConsoleTest, добавить ссылку ClassLibrary1.dll и вызвать тестовый метод в ClassLibrary1.Class1 в методе Main:
После компиляции откройте ConsoleTest.exe с помощью ILSpy, и вы увидите исходный код, как показано ниже:
3, теперь давайте попробуем перепутать с ConfuserEx:
После скачивания ConfuserEx распакните его и откройте ConfuserEx.exe, как показано на следующем рисунке:
4. Видите запрос «Перетащить модули ввода здесь»?
Затем поставьте ConsoleTest.exe прямо сейчас, как показано на картинке ниже:
5. Нажмите «Настройки»
- Select Packer
- Модули->ConsoleTest.exe
- Нажмите на знак + для «Правила, правда»
Как показано ниже:
6. Нажмите Протест! ->Защитите! , что приводит к успешному экспорту (в каталоге Confused),
7. Начни с ILspy... Запутавшись, посмотрите ConsoleTest.exe исходный код:
Если метод пуст, скопируйте ClassLibrary1.dll ConsoleTest.exe зависимостей в каталог Confused, нажмите Run ConsoleTest.exe и выведите правильный результат.
Примечание
8. Если вы просто перепутаете exe-файл — это нормально, если вы просто перепутаете dll-файл, вы увидите следующую ошибку:
Ошибка: Нет исполняемого модуля, нет исполняемого тела?
Нет ли никакого exe-файла? Давайте поставим ConsoleTest.exe и перепутаем с ClassLibrary1.dll, смотри.
9. По предыдущему методу я перетащил и уронил ConsoleTest.exe и ClassLibrary1.dll в ConfuserEx, чтобы перепутать их вместе.
Как показано ниже:
Быстрый успех.
10. Но мы открыли его снова... Запутался, нашёл только запутанный ConsoleTest.exe файлы, куда ClassLibrary1.dll делся?
Разве вы не можете перепутать файл dll?
Не волнуйтесь, давайте кликнем ConsoleTest.exe попробуем, о, я иду, он работает успешно, как показано на фото ниже:
Единственное объяснение здесь — ConfuserEx встраивает dll в exe.
Теперь запутанная ConsoleTest.exe — 17 КБ, в то время как исходная ConsoleTest.exe — 5 КБ, а ClassLibrary1.dll тоже 5 КБ.
11. Давайте используем ILSpy, чтобы увидеть ConsoleTest.exe, который возникает после одновременной путаницы ConsoleTest.exe и ClassLibrary1.dll.
Я не вижу метод и не могу увидеть указанный dll-файл.
Ну вот, на сегодня всё.
Прикрепленные: Поскольку я не нашёл способа перепутать DLL отдельно в полдень, этот ученик нашёл способ во второй половине дня @四毛的家, и я добавлю отдельно, как перепутать DLL.
Согласно шагу 8, мы обнаружили, что ошибка была зарегистрирована при путании dll по методу EXE, и следовало следовать следующим шагам:
После перетаскивания dll в ConfuserEx вы не можете выбрать Packer в настройках, но нажмите кнопку карандаша справа, как показано ниже.
После нажатия на кнопку карандаша появляется диалоговое окно «Редактировать правило», выберите один элемент в пресете, я выбираю Максимум здесь, затем нажимаю кнопку «+» ниже, выбираю анти-ildasm (видимо, чтобы предотвратить компиляцию через IL), и экспорт проходит успешно.
Мы используем ILSpy, чтобы проверить ClassLibrary1.dll, который только что был запутан, как показано на рисунке ниже,
Ничего не видно.
Чтобы проверить доступный обфусцированный dll, я помещаю необфусцированный ConsoleTest.exe и обфускированный ClassLibrary1.dll в одну папку, нажимаю Run ConsoleTest.exe и добиваюсь успеха.
|