Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 14165|Odpowiedź: 3

Dziś chciałbym przedstawić Wam open-source'owy obfuskator .net – ConfuserEx

[Skopiuj link]
Opublikowano 05.01.2016 23:28:23 | | | |
Ponieważ w projekcie używany jest obfuskator .net, wiele modeli jest wyszukiwanych online, takich jak Dotfuscator, xeoncode, foxit itd.

Ale większość opłat, oczywiście, to złamane wersje, a firma wymaga, aby nie można używać pirackiego oprogramowania.

Po długich poszukiwaniach w końcu znalazłem ConfuserEX i można go było używać, więc szybko go wyjąłem i udostępniłem Tobie.


Ponieważ w Internecie jest niewiele chińskich wprowadzeni, zrobię tutaj test, który pokaże Ci:

1. Utworzyć nową bibliotekę klas w C#, nie zmienię nazwy, nazwę ją ClassLibrary1 i dodam prostą metodę pod klasą Class1.cs:




2. Utworzenie kolejnej aplikacji konsolowej ConsoleTest, dodanie ClassLibrary1.dll referencyjnego i wywołanie metody testowej w ClassLibrary1. Class1 w metodzie głównej:






Po kompilacji otwórz ConsoleTest.exe za pomocą ILSpy, a możesz zobaczyć kod źródłowy, jak pokazano poniżej:




3, Teraz spróbujmy pomylić z ConfuserEx:

Po pobraniu ConfuserEx rozpakuj go i otwórz ConfuserEx.exe, jak pokazano na poniższym rysunku:



4. Widzisz prompt "Przeciągnij moduły wejściowe tutaj"?

Następnie wstaw ConsoleTest.exe właśnie teraz, jak pokazano na poniższym obrazku:



5. Kliknij Ustawienia
  • Wybierz Packer
  • Moduły->ConsoleTest.exe
  • Kliknij znak +, aby zobaczyć Reguły, prawdziwe


Jak pokazano poniżej:



6. Kliknij Protest!->Chroń! , co powoduje pomyślny eksport (w katalogu Confused),



7. Otwórz z ILspy... Zdezorientowany, spójrz ConsoleTest.exe kod źródłowy:




Jeśli metoda jest pusta, skopiuj ClassLibrary1.dll zależności ConsoleTest.exe do katalogu Confused, kliknij Run ConsoleTest.exe i wygeneruj poprawny wynik.

Uwaga

8. Jeśli pomylisz tylko plik exe, to jest w porządku, jeśli pomieszasz tylko plik dll, zobaczysz następujący błąd:



Błąd: brak modułu wykonywalnego, brak ciała wykonywalnego?

Czy nie ma pliku exe? Włóżmy ConsoleTest.exe i pomylmy go z ClassLibrary1.dll, patrz.

9. Według poprzedniej metody przeciągnąłem i upuściłem ConsoleTest.exe i ClassLibrary1.dll do ConfuserEx, żeby je pomylić.

Jak pokazano poniżej:



Szybki sukces.

10. Ale otworzyliśmy to ponownie... Zdezorientowany, zdezorientowany tylko ConsoleTest.exe plikach, gdzie ClassLibrary1.dll poszedł?

Nie możesz pomylić pliku dll?

Nie martw się, kliknijmy ConsoleTest.exe spróbujmy, o, idę, działa pomyślnie, jak pokazano na poniższym zdjęciu:



Jedynym wyjaśnieniem jest to, że ConfuserEx osadza dll w pliku exe.

Teraz myląca ConsoleTest.exe ma 17KB, podczas gdy oryginalny ConsoleTest.exe 5KB, a ClassLibrary1.dll również 5KB.

11. Użyjmy ILSpy, aby zobaczyć ConsoleTest.exe generowane po jednoczesnym pomyleniu ConsoleTest.exe i ClassLibrary1.dll.



Nie widzę metody, ani pliku dll z referencją.

No to wszystko na dziś.

Załączone: Ponieważ nie znalazłem sposobu, by osobno pomylić dll w południe, ten uczeń znalazł sposób @四毛的家 po południu, a ja dodam, jak pomylić dll osobno.

Zgodnie z krokiem 8 stwierdziliśmy, że podczas mylenia dll według metody EXE zgłaszano błąd i powinniśmy byli postępować zgodnie z poniższymi krokami:

Po przeciągnięciu dll do ConfuserEx nie możesz wybrać Packer w Ustawieniach, tylko kliknąć przycisk ołówka po prawej, jak pokazano poniżej.



Po kliknięciu przycisku ołówka pojawia się okno dialogowe Edytuj regułę, wybieram jeden element w Preset, tutaj wybieram Maksymalny, a potem klikam przycisk "+" poniżej, wybieram antyildasm (chyba żeby zapobiec kompilacji przez IL), i wtedy eksport się udaje.

Używamy ILSpy, aby sprawdzić ClassLibrary1.dll, który właśnie został pomylony, jak pokazano na poniższym rysunku,



Nic nie widać.

Aby przetestować dostępny obfuskowany dll, umieszczam ConsoleTest.exe bez zaciemnienia i ClassLibrary1.dll obfuskowanego w jednym katalogu, klikam Run ConsoleTest.exe i odniosłem sukces.




Poprzedni:[Pro-test] C# wykonuje procedury przechowywane i zwraca klucz główny GUID
Następny:.net mylące, shelling, confuserex v0.6.0 – chiński samouczek
 Ziemianin| Opublikowano 05.01.2016 23:29:18 |
ConfuserEx obsługuje frameworki .NET 2.0 - 4.5 oraz Mono (istnieją też inne frameworki .NET):

Przemiana symbolu
Zmiana nazwy WPF/BAML
Obfuskacja przepływu sterowania
Ukrywanie odniesień metodycznych
Antydebugery/profilery
Anty-memory dumping
Antymanipulacja
Zależności osadzone
Szyfrowanie stałe
Szyfrowanie zasobów
Wyjście kompresyjne
API wtyczki rozszerzenia
Opublikowano 06.01.2016 01:53:46 |
Dzięki za podzielenie się, wcześniej używałem wersji 4.0 i w końcu istnieje wersja 6.0!
 Ziemianin| Opublikowano 06.01.2016 07:58:20 |
Lynx Opublikowano 2016-1-6 01:53
Dzięki za podzielenie się, wcześniej używałem wersji 4.0 i w końcu istnieje wersja 6.0!

No to komunikujmy się więcej za pomocą technologii .net
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com