Omdat de .net-obfuscator in het project wordt gebruikt, worden veel modellen online gezocht, zoals Dotfuscator, xeoncode, foxit, enzovoort.
Maar de meeste kosten zijn natuurlijk gekraakte versies, en het bedrijf vereist dat illegale software niet gebruikt mag worden.
Na lang zoeken vond ik eindelijk ConfuserEX, en het was prima om te gebruiken, dus haalde ik het snel tevoorschijn en deelde het met jou.
Aangezien er weinig Chinese introducties op internet zijn, zal ik hier een test doen om het je te laten zien:
1. Maak een nieuwe C#-klassebibliotheek aan, ik verander de naam niet, noem het gewoon ClassLibrary1, en voeg een eenvoudige methode toe onder de Class1.cs klasse:
2. Maak een andere consoleapplicatie ConsoleTest aan, voeg een referentie toe ClassLibrary1.dll en roep de testmethode aan in ClassLibrary1.Class1 in de Main-methode:
Na het compileren open je de ConsoleTest.exe met ILSpy, en je kunt de broncode zien zoals hieronder weergegeven:
3, Laten we nu proberen te verwarren met ConfuserEx:
Na het downloaden van ConfuserEx pak je het uit en open je de ConfuserEx.exe, zoals te zien is in de volgende figuur:
4. Zie je de prompt "Drag input modules here"?
Zet dan de ConsoleTest.exe nu net, zoals te zien is op de onderstaande afbeelding:
5. Klik op Instellingen
- Selecteer Packer
- Modules->ConsoleTest.exe
- Klik op het +-teken voor Regels, waar
Zoals hieronder getoond:
6. Klik op Protest! ->Bescherm! , wat een succesvolle export aanmoedigt (in de Confused-map),
7. Begin met ILspy... Verward, kijk naar ConsoleTest.exe de broncode:
Als de methode leeg is, kopieer dan de ClassLibrary1.dll van de ConsoleTest.exe afhankelijkheden naar de Confused-map, klik op Run ConsoleTest.exe en geef het juiste resultaat terug.
Noot
8. Als je alleen het exe-bestand verwart, is dit prima, als je alleen een dll-bestand verwart, krijg je de volgende foutmelding:
Fout: Geen uitvoerbare module, geen uitvoerbare body?
Is er geen exe-bestand? Laten we de ConsoleTest.exe erin doen en verwarren met ClassLibrary1.dll, kijk.
9. Volgens de vorige methode sleepte en dropte ik de ConsoleTest.exe en ClassLibrary1.dll in ConfuserEx om ze samen te verwarren.
Zoals hieronder getoond:
Snel succes.
10. Maar we hebben het weer geopend... Verward, alleen verward gevonden ConsoleTest.exe bestanden, waar ben ClassLibrary1.dll gebleven?
Kun je het DLL-bestand niet verwarren?
Maak je geen zorgen, laten we klikken ConsoleTest.exe proberen, oh, ik ga eraan, het werkt succesvol, zoals te zien is op de onderstaande afbeelding:
De enige verklaring hier is dat ConfuserEx de dll in de exe heeft ingebed.
Nu is de verwarde ConsoleTest.exe 17KB, terwijl de originele ConsoleTest.exe 5KB is en de ClassLibrary1.dll ook 5KB.
11. Laten we ILSpy gebruiken om de ConsoleTest.exe te zien die gegenereerd is nadat ConsoleTest.exe en ClassLibrary1.dll tegelijk door elkaar zijn gehaald.
Ik kan de methode niet zien, noch het verwezen dll-bestand.
Nou, dat was het voor vandaag.
Bijgevoegd: Omdat ik geen manier vond om de dll apart om twaalf uur te verwarren, vond deze student een manier in de middag @四毛的家, en ik zal toevoegen hoe je de dll apart kunt verwarren.
Volgens stap 8 ontdekten we dat er een fout werd gemeld bij het verwarren van de dll volgens de EXE-methode, en we hadden de onderstaande stappen moeten volgen:
Na het slepen van de dll naar ConfuserEx kun je Packer niet selecteren in de instellingen, maar klik op de potloodknop rechts, zoals hieronder getoond.
Na het klikken op de potloodknop verschijnt het dialoogvenster 'Regel bewerken', selecteer één item in de Preset, ik selecteer hier Maximum, klik dan op de "+"-knop hieronder, kies anti-ildasm (denk ik om compilatie via IL te voorkomen), en dan is de export succesvol.
We gebruiken ILSpy om de ClassLibrary1.dll te controleren die net verward is, zoals te zien is in de onderstaande figuur,
Er is niets te zien.
Om de beschikbare obfuscated dll te testen, zet ik de unobfuscated ConsoleTest.exe en de obfuscated ClassLibrary1.dll in één map, klik op Run ConsoleTest.exe en slaag.
|