Da der .net-Obfuscator im Projekt verwendet wird, werden viele Modelle online gesucht, wie Dotfuscator, xeoncode, foxit usw.
Aber die meisten Gebühren sind natürlich geknackte Versionen, und das Unternehmen verlangt, dass raubkopierte Software nicht verwendet werden darf.
Nach langer Suche habe ich schließlich ConfuserEX gefunden, und es war in Ordnung, also habe ich es schnell herausgenommen und mit euch geteilt.
Da es im Internet nur wenige chinesische Einführungen gibt, werde ich hier einen Test machen, um es Ihnen zu demonstrieren:
1. Erstelle eine neue C#-Klassenbibliothek, ich ändere den Namen nicht, nenne sie einfach ClassLibrary1 und füge unter der Class1.cs Klasse eine einfache Methode hinzu:
2. Erstelle eine weitere Konsolenanwendung namens ConsoleTest, füge eine Referenz-ClassLibrary1.dll hinzu und rufe die Testmethode in ClassLibrary1.Class1 in der Hauptmethode auf:
Nach der Kompilierung öffnen Sie die ConsoleTest.exe mit ILSpy, und Sie sehen den Quellcode wie unten gezeigt:
3, Versuchen wir jetzt, mit ConfuserEx zu verwirren:
Nach dem Herunterladen von ConfuserEx entpacken Sie es und öffnen Sie die ConfuserEx.exe, wie in der folgenden Abbildung gezeigt:
4. Siehst du die Eingabeaufforderung "Hier Input Module ziehen"?
Dann fügen Sie die ConsoleTest.exe gerade jetzt hinzu, wie auf dem untenstehenden Bild zu sehen:
5. Klicken Sie auf Einstellungen
- Select Packer
- Module->ConsoleTest.exe
- Klicke auf das +-Zeichen für Regeln, stimmt
Wie unten gezeigt:
6. Klicken Sie auf Protest! ->Schützen! , was einen erfolgreichen Export auslöst (im Verzeichnis Confused),
7. Beginnen Sie mit ILspy... Verwirrt, schau dir ConsoleTest.exe den Quellcode an:
Wenn die Methode leer ist, kopieren Sie die ClassLibrary1.dll der ConsoleTest.exe Abhängigkeiten in das Verzeichnis Confused, klicken Sie auf Ausführen ConsoleTest.exe und geben Sie das korrekte Ergebnis aus.
Anmerkung
8. Wenn du nur die exe-Datei verwechselst, ist das in Ordnung, wenn du nur eine DLL-Datei verwechselst, wirst du folgenden Fehler sehen:
Fehler: Kein ausführbares Modul, kein ausführbarer Körper?
Gibt es keine exe-Datei? Lass uns die ConsoleTest.exe reinlegen und mit ClassLibrary1.dll verwechseln, schau.
9. Laut der vorherigen Methode habe ich die ConsoleTest.exe und ClassLibrary1.dll in ConfuserEx gezogen, um sie zu verwechseln.
Wie unten gezeigt:
Schneller Erfolg.
10. Aber wir haben es wieder geöffnet... Verwirrt, nur verwirrt ConsoleTest.exe Dateien gefunden, wo bist ClassLibrary1.dll geblieben?
Kannst du die DLL-Datei nicht verwechseln?
Keine Sorge, lass uns klicken ConsoleTest.exe versuchen, oh, ich gehe schon, es läuft erfolgreich, wie auf dem Bild unten zu sehen:
Die einzige Erklärung ist, dass ConfuserEx die DLL in die exe einbettet.
Das verwirrte ConsoleTest.exe hat 17 KB, das ursprüngliche ConsoleTest.exe 5 KB und das ClassLibrary1.dll ebenfalls 5 KB.
11. Verwenden wir ILSpy, um die generierte ConsoleTest.exe zu sehen, nachdem ConsoleTest.exe und ClassLibrary1.dll gleichzeitig verwechselt wurden.
Ich kann die Methode weder sehen noch die referenzierte DLL-Datei.
Das war's für heute.
Angehängt: Da ich keine Möglichkeit gefunden habe, die DLL mittags separat zu verwechseln, hat dieser Schüler am Nachmittag @四毛的家 einen Weg gefunden, und ich werde hinzufügen, wie man die DLL separat verwirrt.
Laut Schritt 8 stellten wir fest, dass ein Fehler gemeldet wurde, als die DLL gemäß der EXE-Methode verwechselt wurde, und wir hätten die folgenden Schritte befolgen sollen:
Nachdem du die DLL in ConfuserEx gezogen hast, kannst du in den Einstellungen nicht Packer auswählen, sondern klickst auf den Bleistift-Button rechts, wie unten gezeigt.
Nachdem ich auf die Bleistifttaste geklickt habe, erscheint das Dialogfeld "Bearbeitungsregel", ich wähle ein Element im Preset aus, wähle hier Maximum und klicke dann unten auf die "+"-Taste, wähle Anti-Ildasm (vermutlich um eine Kompilierung über IL zu verhindern), und dann ist der Export erfolgreich.
Wir verwenden ILSpy, um die gerade verwirrte ClassLibrary1.dll zu überprüfen, wie in der Abbildung unten gezeigt,
Nichts ist zu sehen.
Um die verfügbare obfuskierte DLL zu testen, habe ich die unobfuskierte ConsoleTest.exe und die obfuskierte ClassLibrary1.dll in ein Verzeichnis gelegt, auf Ausführen ConsoleTest.exe geklickt und Erfolg gehabt.
|