Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 14165|Svar: 3

Idag vill jag introducera er för en öppen källkod .net-obfuscator – ConfuserEx

[Kopiera länk]
Publicerad på 2016-01-05 23:28:23 | | | |
Eftersom .net-obfuscatorn används i projektet söks många modeller online, såsom Dotfuscator, xeoncode, foxit, etc.

Men de flesta avgifterna finns förstås knäckta versioner, och företaget kräver att piratkopierad programvara inte får användas.

Efter lång sökning hittade jag äntligen ConfuserEX, och det var okej att använda, så jag tog snabbt fram den och delade den med dig.


Eftersom det finns få kinesiska introduktioner på internet, kommer jag att göra ett test här för att visa dig:

1. Skapa ett nytt C#-klassbibliotek, jag kommer inte att ändra namnet, kalla det bara ClassLibrary1 och lägga till en enkel metod under Class1.cs-klassen:




2. Skapa en annan konsolapplikation, ConsoleTest, lägga till en referensmetod ClassLibrary1.dll och anropa testmetoden i ClassLibrary1.Class1 i huvudmetoden:






Efter kompilering, öppna ConsoleTest.exe med ILSpy, och du kan se källkoden som visas nedan:




3, Nu försöker vi förväxla med ConfuserEx:

Efter att ha laddat ner ConfuserEx, packa upp den och öppna ConfuserEx.exe, som visas i följande figur:



4. Ser du prompten "Dra inmatningsmoduler här"?

Lägg sedan ConsoleTest.exe just nu, som visas på bilden nedan:



5. Klicka på Inställningar
  • Välj packare
  • Moduler->ConsoleTest.exe
  • Klicka på +-tecknet för Regler, sant


Som visas nedan:



6. Klicka på Protest!->Skydda! , vilket leder till en lyckad export (i katalogen Confused),



7. Börja med ILspy... Förvirrad, titta på ConsoleTest.exe källkoden:




Om metoden är tom, kopiera ClassLibrary1.dll av de ConsoleTest.exe beroendena till katalogen Confused, klicka på Kör ConsoleTest.exe och ge ut rätt resultat.

Not

8. Om du bara förväxlar exe-filen är detta okej, om du bara blandar ihop en dll-fil kommer du att se följande fel:



Fel: Ingen exekverbar modul, ingen exekverbar kropp?

Finns det ingen exe-fil? Låt oss sätta i ConsoleTest.exe och förvirra det med ClassLibrary1.dll, titta.

9. Enligt den tidigare metoden drog och släppte jag ConsoleTest.exe och ClassLibrary1.dll in i ConfuserEx för att förvirra dem.

Som visas nedan:



Snabb framgång.

10. Men vi öppnade den igen... Förvirrad, hittade bara förvirrade ConsoleTest.exe filer, vart tog ClassLibrary1.dll vägen?

Kan du inte blanda ihop DLL-filen?

Oroa dig inte, låt oss klicka ConsoleTest.exe försöka, åh, jag kör, det går som det ska, som visas på bilden nedan:



Den enda förklaringen här är att ConfuserEx bäddar in dll:n i exe-versionen.

Nu är den förvirrade ConsoleTest.exe 17 KB, medan den ursprungliga ConsoleTest.exe är 5 KB och ClassLibrary1.dll också 5 KB.

11. Låt oss använda ILSpy för att se ConsoleTest.exe genereras efter att ha förväxlat ConsoleTest.exe och ClassLibrary1.dll samtidigt.



Jag kan inte se metoden, och jag kan inte heller se den refererade dll-filen.

Nåväl, det var allt för idag.

Bifogat: Eftersom jag inte hittade något sätt att förväxla dll:n separat vid lunchtid, hittade den här eleven ett sätt på eftermiddagen @四毛的家, och jag kommer att lägga till hur man förväxlar dll:n separat.

Enligt steg 8 fann vi att ett fel rapporterades när dll förväxlades enligt EXE-metoden, och vi borde ha följt stegen nedan:

Efter att ha dragit dll:n till ConfuserEx kan du inte välja Packer i inställningarna, men klicka på pennknappen till höger, som visas nedan.



Efter att ha klickat på pennknappen dyker dialogrutan Redigera regel upp, välj ett element i Preset, jag väljer Maximum här, och klickar sedan på "+"-knappen nedan, välj anti ildasm (antar jag för att förhindra kompilering via IL), och sedan lyckas exporten.

Vi använder ILSpy för att kontrollera den ClassLibrary1.dll som just har blivit förvirrad, som visas i figuren nedan,



Inget syns.

För att testa den obfuskerade dll:n som finns tillgänglig lägger jag den oobfuskerade ConsoleTest.exe och den obfuskerade ClassLibrary1.dll i en mapp, klickar på Kör ConsoleTest.exe och lyckas.




Föregående:[Pro-test] C# utför lagrade procedurer och returnerar GUID-primärnyckeln
Nästa:.net förvirrande, shelling, confuserex v0.6.0 kinesiska version handledning
 Hyresvärd| Publicerad på 2016-01-05 23:29:18 |
ConfuserEx stöder .NET-ramverk 2.0 - 4.5 och Mono (det finns även andra .NET-ramverk):

Symbolombytning
WPF/BAML-ombytning
Styrflödesfördunkling
Metodreferensgömning
Anti-debuggers/profilerare
Antiminnesdumpning
Anti-manipulation
Inbäddade beroenden
Konstant kryptering
Resurskryptering
Komprimerar utgången
Extension plugin API
Publicerad på 2016-01-06 01:53:46 |
Tack för att du delade med dig, jag har använt 4.0 tidigare, och äntligen finns 6.0!
 Hyresvärd| Publicerad på 2016-01-06 07:58:20 |
Lynx Publicerad den 2016-1-6 01:53
Tack för att du delade med dig, jag har använt 4.0 tidigare, och äntligen finns 6.0!

Nåväl, låt oss kommunicera mer .net-teknologi
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com