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.
|