Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14165|Risposta: 3

Oggi vorrei presentarvi un obfuscatore .net open-source - ConfuserEx

[Copiato link]
Pubblicato su 05/01/2016 23:28:23 | | | |
Poiché nel progetto viene utilizzato l'obfuscatore .net, molti modelli vengono ricercati online, come Dotfuscator, xeoncode, foxit, ecc.

Ma la maggior parte delle commissioni, ovviamente, ci sono versioni cracklate, e l'azienda richiede che il software piratata non possa essere utilizzato.

Dopo aver cercato a lungo, finalmente ho trovato ConfuserEX, ed era ok da usare, così l'ho rapidamente tolto e condiviso con voi.


Poiché ci sono poche introduzioni cinesi su Internet, farò un test qui per dimostrartelo:

1. Crea una nuova libreria di classi C#, non cambierò il nome, la chiamerò semplicemente ClassLibrary1, e aggiungerò un metodo semplice sotto la classe Class1.cs:




2. Creare un'altra applicazione console ConsoleTest, aggiungere un ClassLibrary1.dll di riferimento e chiamare il metodo di test in ClassLibrary1.Class1 nel metodo Main:






Dopo aver compilato, apri il ConsoleTest.exe con ILSpy, e puoi vedere il codice sorgente come mostrato qui sotto:




3, Ora proviamo a confondere con ConfuserEx:

Dopo aver scaricato ConfuserEx, sbloccalo e apri il ConfuserEx.exe, come mostrato nella figura seguente:



4. Vedi il prompt "Trascina i moduli di input qui"?

Allora metti il ConsoleTest.exe proprio ora, come mostrato nella foto qui sotto:



5. Clicca su Impostazioni
  • Seleziona Packer
  • Moduli->ConsoleTest.exe
  • Clicca sul segno + per Regola, vero


Come mostrato di seguito:



6. Clicca su Protesta!->Proteggi! , che stimola l'esportazione riuscita (nella directory Confused),



7. Apri con ILspy... Confuso, guarda ConsoleTest.exe il codice sorgente:




Se il metodo è vuoto, copia il ClassLibrary1.dll delle dipendenze di ConsoleTest.exe nella directory Confused, clicca su Esegui ConsoleTest.exe e invia il risultato corretto.

Nota

8. Se confondi solo il file exe, va bene così, se confondi solo un file dll, vedrai il seguente errore:



Errore: Nessun modulo eseguibile, nessun corpo eseguibile?

Non esiste un file exe? Mettiamo il ConsoleTest.exe e confondiamolo con ClassLibrary1.dll, guarda.

9. Secondo il metodo precedente, ho trascinato e lasciato cadere il ConsoleTest.exe e ClassLibrary1.dll in ConfuserEx per confonderli insieme.

Come mostrato di seguito:



Successo rapido.

10. Ma l'abbiamo riaperto... Confuso, ho trovato solo ConsoleTest.exe file confusi, dove ClassLibrary1.dll andato?

Non puoi confondere il file dll?

Non preoccuparti, clicchiamo ConsoleTest.exe provare, oh, ci vado, funziona con successo, come mostrato nell'immagine qui sotto:



L'unica spiegazione qui è che ConfuserEx incorpora il dll nell'exe.

Ora il ConsoleTest.exe confuso è di 17KB, mentre l'originale ConsoleTest.exe è di 5KB e il ClassLibrary1.dll è anch'esso di 5KB.

11. Usiamo ILSpy per vedere il ConsoleTest.exe generato dopo aver confuso ConsoleTest.exe e ClassLibrary1.dll contemporaneamente.



Non riesco a vedere il metodo, né il file dll di riferimento.

Bene, per oggi è tutto.

Allegato: Dato che non ho trovato un modo per confondere la dll separatamente a mezzogiorno, questo studente ha trovato un modo nel pomeriggio @四毛的家, e aggiungerò come confondere la dll separatamente.

Secondo il passo 8, abbiamo riscontrato che veniva segnalato un errore quando si confondeva la dll secondo il metodo EXE, e avremmo dovuto seguire i passaggi seguenti:

Dopo aver trascinato il dll in ConfuserEx, non puoi selezionare Packer nelle Impostazioni, ma clicca sul pulsante a matita a destra, come mostrato qui sotto.



Dopo aver cliccato il pulsante matita, compare la finestra di dialogo Modifica regola, seleziono un elemento nel Preset, seleziono Massimo qui, poi clicco sul pulsante "+" qui sotto, seleziono anti-ildasm (immagino per evitare la compilazione tramite IL), e poi l'esportazione è riuscita.

Stiamo usando ILSpy per controllare il ClassLibrary1.dll appena confuso, come mostrato nella figura sottostante,



Non si vede nulla.

Per testare la dll offuscata disponibile, ho messo la ConsoleTest.exe non offuscata e la ClassLibrary1.dll offuscata in una sola cartella, clicco su Esegui ConsoleTest.exe e ho avuto successo.




Precedente:[Pro-test] C# esegue procedure memorizzate e restituisce la chiave primaria GUID
Prossimo:.net confusing, shelling, tutorial della versione cinese di .net
 Padrone di casa| Pubblicato su 05/01/2016 23:29:18 |
ConfuserEx supporta i framework .NET 2.0 - 4.5 e Mono (esistono anche altri framework .NET):

Ridenominazione del simbolo
Rinomina WPF/BAML
Offuscazione del flusso di controllo
Occultamento dei riferimenti del metodo
Anti-debugger/profiler
Anti dumping di memoria
Anti-manomissione
Dipendenze incorporate
Crittografia costante
Crittografia delle risorse
Compressione dell'uscita
API plugin di estensione
Pubblicato su 06/01/2016 01:53:46 |
Grazie per aver condiviso, ho già usato la 4.0 e finalmente esiste la 6.0!
 Padrone di casa| Pubblicato su 06/01/2016 07:58:20 |
Lynx Pubblicato il 6-1-2016 01:53
Grazie per aver condiviso, ho già usato la 4.0 e finalmente esiste la 6.0!

Bene, comunichiamo più con la tecnologia .net
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com