Siden .net-obfuscatoren brukes i prosjektet, søkes mange modeller på nettet, som Dotfuscator, xeoncode, foxit, osv.
Men de fleste gebyrene, selvfølgelig, finnes knekkede versjoner, og selskapet krever at piratkopiert programvare ikke kan brukes.
Etter å ha lett lenge, fant jeg endelig ConfuserEX, og det var greit å bruke, så jeg tok det raskt ut og delte det med deg.
Siden det finnes få kinesiske introduksjoner på Internett, vil jeg gjøre en test her for å demonstrere for deg:
1. Lag et nytt C#-klassebibliotek, jeg endrer ikke navnet, kaller det bare ClassLibrary1, og legger til en enkel metode under Class1.cs-klassen:
2. Lag en annen konsollapplikasjon, ConsoleTest, legg til en referanse ClassLibrary1.dll, og kall testmetoden i ClassLibrary1.Class1 i hovedmetoden:
Etter kompilering, åpne ConsoleTest.exe med ILSpy, og du kan se kildekoden som vist nedenfor:
3, La oss prøve å forveksle med ConfuserEx:
Etter å ha lastet ned ConfuserEx, pakk den ut og åpne ConfuserEx.exe, som vist i følgende figur:
4. Ser du prompten "Dra inputmoduler her"?
Deretter legger du ConsoleTest.exe akkurat nå, som vist på bildet under:
5. Klikk på Innstillinger
- Velg Packer
- Moduler->ConsoleTest.exe
- Klikk på +-tegnet for Regler, sant
Som vist nedenfor:
6. Klikk Protest!->Beskytt! , noe som fører til vellykket eksport (i Confused-katalogen),
7. Start med ILspy... Forvirret, se på ConsoleTest.exe kildekoden:
Hvis metoden er tom, kopier ClassLibrary1.dll av de ConsoleTest.exe avhengighetene til Confused-katalogen, klikk på Kjør ConsoleTest.exe, og gi ut riktig resultat.
Merknad
8. Hvis du bare forveksler exe-filen, er dette greit, hvis du bare forveksler en dll-fil, vil du se følgende feil:
Feil: Ingen kjørbar modul, ingen kjørbar kropp?
Finnes det ingen exe-fil? La oss sette inn ConsoleTest.exe og forveksle den med ClassLibrary1.dll, se.
9. Ifølge den forrige metoden dro og slapp jeg ConsoleTest.exe og ClassLibrary1.dll inn i ConfuserEx for å forveksle dem.
Som vist nedenfor:
Rask suksess.
10. Men vi åpnet den igjen... Forvirret, fant bare forvirret ConsoleTest.exe filer, hvor ble ClassLibrary1.dll av?
Kan du ikke forveksle dll-filen?
Ikke bekymre deg, la oss klikke ConsoleTest.exe prøv, åh, jeg kjører, det går som det skal, som vist på bildet under:
Den eneste forklaringen her er at ConfuserEx legger inn dll-filen i exe-en.
Nå er den forvirrede ConsoleTest.exe 17 KB, mens den opprinnelige ConsoleTest.exe er 5 KB, og ClassLibrary1.dll også 5 KB.
11. La oss bruke ILSpy for å se ConsoleTest.exe generert etter å ha forvekslet ConsoleTest.exe og ClassLibrary1.dll samtidig.
Jeg kan ikke se metoden, og heller ikke den refererte dll-filen.
Vel, det var alt for i dag.
Vedlagt: Siden jeg ikke fant en måte å forveksle dll-en separat ved lunsjtider, fant denne studenten en måte i ettermiddags-@四毛的家, og jeg vil legge til hvordan man kan forveksle dll-en separat.
I henhold til steg 8 fant vi at det ble rapportert en feil da vi forvekslet dll i henhold til EXE-metoden, og vi skulle ha fulgt trinnene nedenfor:
Etter å ha dratt dll-en inn i ConfuserEx, kan du ikke velge Packer i Innstillinger, men klikk på blyantknappen til høyre, som vist nedenfor.
Etter å ha klikket på blyantknappen, dukker dialogboksen for Rediger regel opp, velg ett element i forhåndsinnstillingen, jeg velger Maksimum her, og klikker deretter på "+"-knappen under, velger anti-ildasm (antar for å forhindre kompilering gjennom IL), og så er eksporten vellykket.
Vi bruker ILSpy for å sjekke ClassLibrary1.dll som nettopp har blitt forvekslet, som vist i figuren nedenfor,
Ingenting kan sees.
For å teste den obfuskerte dll-filen som er tilgjengelig, legger jeg den uobfuskerte ConsoleTest.exe og den obfuskerte ClassLibrary1.dll i én mappe, klikker på Kjør ConsoleTest.exe, og lykkes.
|