Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 14165|Отговор: 3

Днес бих искал да ви представя отворен .net обфускатор - ConfuserEx

[Копирай линк]
Публикувано в 5.01.2016 г. 23:28:23 ч. | | | |
Тъй като .net обфускаторът се използва в проекта, много модели се търсят онлайн, като Dotfuscator, xeoncode, foxit и др.

Но повечето такси, разбира се, са с cracked версии и компанията изисква пиратски софтуер да не може да се използва.

След дълго търсене най-накрая намерих ConfuserEX и беше окей за използване, затова бързо го извадих и го споделих с вас.


Тъй като в интернет има малко китайски въведения, ще направя тест тук, за да ви покажа:

1. Създам нова C# библиотека с класове, няма да променя името, просто ще я нарека ClassLibrary1 и ще добавя прост метод под Class1.cs класа:




2. Създайте друго конзолно приложение ConsoleTest, добавете референтен ClassLibrary1.dll и извикайте тестовия метод в ClassLibrary1.Class1 в основния метод:






След компилиране, отворете ConsoleTest.exe с ILSpy и ще видите изходния код, както е показано по-долу:




3, Сега нека опитаме да объркаме с ConfuserEx:

След като изтеглите ConfuserEx, го разархивирайте и отворете ConfuserEx.exe, както е показано на следващата фигура:



4. Вижте подканата "Drag input modules here"?

След това сложете 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 е 17KB, докато оригиналният ConsoleTest.exe е 5KB, а ClassLibrary1.dll също е 5KB.

11. Нека използваме ILSpy, за да видим ConsoleTest.exe, генериран след като объркваме ConsoleTest.exe и ClassLibrary1.dll едновременно.



Не виждам метода, нито мога да видя споменатия dll файл.

Е, това е всичко за днес.

Прикачено: Тъй като не намерих начин да объркам DLL отделно на обяд, този ученик намери начин следобед @四毛的家, и ще добавя как да объркам DLL отделно.

Според стъпка 8 установихме, че е докладвана грешка при объркване на dll според метода EXE, и трябваше да следваме стъпките по-долу:

След като плъзнете dll в ConfuserEx, не можете да изберете Packer в Настройките, а кликнете върху бутона за молив вдясно, както е показано по-долу.



След като кликна бутона за молив, се появява диалоговото прозорче Edit правило, избирам един елемент в Пресета, избирам Maximum тук, след това натискам бутона "+" по-долу, избирам anti ildasm (предполагам, за да предотвратя компилация през IL), и експортът е успешен.

Използваме ILSpy, за да проверим ClassLibrary1.dll, който току-що е объркан, както е показано на фигурата по-долу,



Нищо не се вижда.

За да тествам наличния obfuscated dll, слагам незабелязания ConsoleTest.exe и obfuscated ClassLibrary1.dll в една директория, натискам Run ConsoleTest.exe и успявам.




Предишен:[Pro-test] C# изпълнява съхранените процедури и връща GUID първичния ключ
Следващ:.net объркваща, shelling, confuserex v0.6.0 урок за китайска версия
 Хазяин| Публикувано в 5.01.2016 г. 23:29:18 ч. |
ConfuserEx поддържа .NET рамки 2.0 - 4.5 и Mono (има и други .NET рамки):

Преименуване на символа
Преименуване на WPF/BAML
Обфускация на контролния поток
Скриване на референции на метод
Анти-дебъгери/профайлъри
Анти-демпинг на паметта
Антиманипулиране
Вградени зависимости
Константно криптиране
Криптиране на ресурси
Компресиращ изход
API за разширение на плъгин
Публикувано в 6.01.2016 г. 1:53:46 ч. |
Благодаря, че сподели, преди съм използвал 4.0 и най-накрая съществува 6.0!
 Хазяин| Публикувано в 6.01.2016 г. 7:58:20 ч. |
Lynx Публикувано на 2016-1-6 01:53
Благодаря, че сподели, преди съм използвал 4.0 и най-накрая съществува 6.0!

Добре, нека комуникираме повече .net технология
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com